应用商业与市场 🇷🇺 12.08.2026 16:01

如何在五周内构建TravelTech推荐系统:用Kafka和MongoDB替代特征存储

TutuTutu
Tutu公司的一位MLOps工程师描述了如何在不使用特征存储的情况下,仅用五周时间从零开始构建推荐系统,技术栈包括Kafka、MongoDB和ClickHouse。该系统在用户购买交通票后推荐酒店,利用Kafka中的实时订单数据和ClickHouse的夜间批量特征,所有数据存储在MongoDB中以实现快速推理。
Christina是Tutu公司的一名MLOps工程师,她解释了团队如何在短短五周内推出推荐系统(RecSys v1),以满足旺季截止日期的要求。他们没有构建一个完整的特征存储(这需要数月时间),而是使用MongoDB作为临时的在线存储,将来自Kafka的实时订单和来自ClickHouse的夜间批量特征写入每个用户的单个文档中。主要的工程挑战是处理特定行程的上下文——目的地城市、日期和客人数量——这些仅靠协同过滤无法捕捉。他们设计了API契约,以接受用户购买历史中的目标订单,将UTC日期转换为到达城市的当地时间,以确保正确的入住/退房日期。服务在推理期间仅从MongoDB读取,当ALS向量缺失时,回退到按订单数排序的热门酒店。后来,他们升级到CatBoost进行排序,在服务启动时从对象存储加载模型。他们还通过快照Kafka主题回填历史订单,以确保热路径用户有历史记录,并通过order_id合并重复订单。这种务实的方法让他们在没有完美架构的情况下,在实时流量上验证了假设。
来源: Habr — хаб ML — 原文
我们之前关于此话题的帖子 ↓
最新新闻