tutu-zzz/zhilv-yuntu
An AI travel planning system built with FastAPI, LangChain, ChromaDB, and AMap services.智旅云图是一个面向中文旅行场景的 AI 旅行规划项目。
解决的问题
Zhilv-Yuntu 是一个专为中文旅行场景设计的 AI 驱动旅行规划系统。它超越了简单的文本型 LLM 响应,提供一个完整的端到端产品,能够生成结构化行程,整合现实世界地图数据,提供天气感知建议,并支持用户保存和导出行程。
工作原理
该系统根据目的地采用分层规划方法:
- 精选城市:针对特定城市(如北京、成都、西安),使用 RAG(检索增强生成)管道。该流程包括通过 LLM 进行查询重写、使用 ChromaDB 进行向量检索,以及通过交叉编码器重新排序,从本地 Markdown 指南中提取相关信息。
- 动态城市:针对其他城市,通过 Amap(高德)API 获取景点、餐饮和住宿的实时 POI(兴趣点)候选,然后使用 LLM 基于这些已验证的 ID 规划行程。
- 增强功能:系统补充生成行程的实际地址、坐标、路线距离、行程时间、Amap 图像,以及当前天气预报。
- 基础设施:后端使用 FastAPI,前端使用 Vue 3,使用 Redis 缓存频繁的 API 和 RAG 结果,使用 SQLite 持久化用户行程。
适用人群
希望获得结构化、数据驱动的旅行规划的旅行者,以及对实现包含真实世界 API 集成的全栈 RAG 应用感兴趣的开发者。
主要亮点
- 混合规划:结合本地 RAG 用于精选目的地,动态 POI 基于规划用于其他城市。
- 地图集成:使用 Amap JavaScript API 以虚线箭头和标记可视化路线。
- 高级 RAG 流水线:具备基于 LLM 的查询重写和交叉编码器重新排序,以提高检索准确性。
- 天气感知:根据预报的降雨或阴天情况自动调整旅行建议。
- 全生命周期管理:支持对特定日期进行自然语言编辑、历史记录管理,并可导出为 Markdown 或 PDF。
- 性能优化:实现 Redis 缓存层,用于天气、地图和 RAG 结果,以降低延迟和 API 成本。
相关
- 项目
- 项目
- 项目
- 项目