在数字化时代,旅行规划依然是一个繁琐且耗时的过程。尽管旅游攻略网站和App众多,但用户仍需要在多个平台间频繁切换查询信息,手动整合景点、酒店、交通等碎片化数据,并根据个人偏好进行二次筛选和调整,整个过程缺乏智能推荐和个性化优化。这种低效率的规划方式激发了我们的灵感:能否利用AI技术,为用户提供一站式的智能旅行规划服务?
项目核心解决了三大痛点问题。
首先是信息分散问题,景点信息、酒店推荐、天气预报、交通路线分散在不同平台,用户需要跨多个应用获取完整信息。通过整合高德地图API、天气API、酒店API,系统提供了统一的数据源,让用户在一个平台即可获取所有必要信息。
其次是个性化不足问题,通用攻略无法满足个人偏好,比如有的用户热爱历史文化,有的偏好美食体验,有的注重亲子游玩。系统基于用户偏好实现了AI智能推荐,支持多维度偏好选择,让每个用户都能获得量身定制的旅行方案。
最后是效率低下问题,传统规划需要花费数小时甚至数天时间查阅攻略、比较方案、调整行程。通过AI自动生成行程,响应时间从最初的8-13秒优化到3-5秒,用户只需输入目的地、日期和偏好,几秒钟即可获得完整的旅行计划。
系统面向五大主要用户群体。
首先是25-40岁的自由行旅行者,这类用户通常工作忙碌,追求高效便捷的旅行体验,希望能够快速获得个性化的行程方案。他们最需要的是智能推荐功能,帮助优化时间安排并控制预算,主要使用场景包括周末短途旅行、年假长途出行以及自助旅行。
其次是30-45岁的家庭出游群体,这类用户以家庭为单位进行旅行,需要特别考虑老人和儿童的舒适度和安全性。他们最关注的是亲子友好的景点和舒适的住宿环境,以及合理的行程安排避免过度疲劳,主要使用场景集中在寒暑假和节假日的家庭假期。
第三类是28-45岁的商务旅行者,他们的时间非常紧张,行程紧凑且高度注重效率。这类用户最需要的是快速的行程规划功能,优先考虑交通便利性和住宿的舒适度,主要使用场景包括出差行程和商务会议旅行。
第四类是20-35岁的深度游爱好者,这类用户追求文化深度和独特体验,希望能够深入了解目的地的历史文化。他们最需要的是历史文化专题推荐和特色的体验活动,以及个性化路线设计,主要使用场景包括文化探索、主题旅行和摄影采风。
最后是18-30岁的旅行规划新手,这类用户缺乏旅行经验,不知道如何系统性地规划行程。他们最需要的是简单易用的界面和智能推荐功能,实现一键生成行程方案,主要使用场景包括首次旅行、跟游推荐以及学习旅行规划。
系统提供了12项核心功能,全面覆盖了旅行规划的各个环节。
智能行程规划是系统的核心功能,用户只需输入目的地、日期、偏好、预算等信息,AI就会自动生成完整的旅行计划。这一功能基于大语言模型(LLM)和多智能体协作技术实现,具备智能推荐景点、酒店、餐饮的能力,能够自动计算预算,并通过地理位置验证确保推荐准确,最终实现个性化的路线优化。
地图可视化功能在高德地图上标注景点位置并绘制游览路线,基于高德地图JavaScript API集成实现,支持景点位置标记、游览路线绘制、信息窗口展示详情以及自适应视野调整,让用户对行程有直观的地理认知。
预算计算功能自动统计并分类显示费用,通过AI自动计算配合前端可视化展示,详细列出景点门票费用、餐饮美食费用、酒店住宿费用、交通及其他费用,并提供总预算汇总,帮助用户清晰掌握旅行成本。
用户认证系统支持注册登录,采用JWT和Bcrypt密码加密技术实现,提供用户注册和登录功能、JWT令牌认证、以及用户信息管理,确保系统的安全性和易用性。
记忆学习系统基于FAISS向量数据库和Sentence-Transformers技术,记录用户偏好和历史行程,实现用户偏好记忆、历史行程记忆、语义检索功能,系统使用越多越智能,能够提供更加个性化的推荐。
实时天气查询功能通过高德地图天气API实现,能够查询行程期间的天气预报,包括白天和夜间天气、温度变化、风向风力以及多日预报,帮助用户合理安排行程。
行程编辑功能支持添加、删除、调整景点和活动,通过前端交互配合后端API实现,用户可以添加或删除天数和景点,编辑酒店信息,系统会实时更新预算,提供灵活的行程调整能力。
导出功能支持将行程导出为PDF或图片格式,基于html2canvas和jsPDF技术实现,支持PDF文档导出、PNG图片导出以及自定义导出内容,方便用户保存和分享行程。
多智能体协作功能实现了专业化Agent的分工协作,基于HelloAgents框架,包括景点搜索专家、酒店推荐专家、天气查询专家、行程规划专家等多个专业智能体,它们之间能够进行通信协作,提高规划质量。
地理位置验证功能确保景点位置的准确性,通过经纬度验证和距离计算实现,包括城市范围验证、相邻景点距离控制、Haversine距离计算以及自动过滤异常景点,解决了AI可能产生的地理幻觉问题。
性能优化功能通过并行查询提升响应速度,采用异步并发和线程池技术实现,景点、酒店、天气三个查询并行执行,将响应时间从8-13秒优化到3-5秒,显著提升用户体验。
限流熔断功能提供API请求限流和熔断保护,通过自定义中间件实现,包括全局限流和IP限流,防止接口被滥用,以及熔断器和服务降级机制,避免服务雪崩,确保系统稳定性。
┌─────────────────────────────────────────────────────────┐
│ 前端层 │
│ Vue 3 + TypeScript + Element Plus + Vite │
│ - 用户界面交互 │
│ - 地图可视化 │
│ - 预算展示 │
│ - 导出功能 │
└─────────────────────────────────────────────────────────┘
↓ HTTP/RESTful API
┌─────────────────────────────────────────────────────────┐
│ API网关层 │
│ FastAPI + 中间件 │
│ - 认证中间件(JWT) │
│ - 限流中间件 │
│ - 熔断中间件 │
│ - 请求ID追踪 │
│ - 异常处理 │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 业务逻辑层 │
│ 多智能体系统(HelloAgents) │
│ - PlannerAgent(行程规划专家) │
│ - AttractionSearchAgent(景点搜索专家) │
│ - HotelRecommendationAgent(酒店推荐专家) │
│ - WeatherQueryAgent(天气查询专家) │
│ - 智能体间通信 │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 服务层 │
│ - LLMService(大语言模型服务) │
│ - VectorMemoryService(向量记忆服务) │
│ - RedisService(缓存服务) │
│ - UnsplashService(图片服务) │
│ - ContextManager(上下文管理) │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 数据层 │
│ - FAISS向量数据库 │
│ - Redis缓存 │
│ - 文件系统(向量索引存储) │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 外部服务层 │
│ - 高德地图API(MCP协议) │
│ - Unsplash图片API │
│ - OpenAI/智谱/通义千问LLM API │
└─────────────────────────────────────────────────────────┘
后端采用现代化的技术栈构建,以FastAPI作为核心Web框架,提供高性能的异步支持、自动生成的API文档、基于Pydantic的类型验证以及完善的依赖注入系统。在AI服务层,系统集成了OpenAI SDK,支持包括OpenAI GPT-4、智谱AI、通义千问在内的多种LLM服务商,并具备自动检测和配置能力,确保与不同服务商的无缝对接。
智能体系统基于HelloAgents框架构建,提供了完整的智能体基础能力,包括工具调用、消息传递、上下文管理和增强智能体功能。多智能体协作架构中包含景点搜索专家、酒店推荐专家、天气查询专家和行程规划专家等专业智能体,它们通过消息机制进行信息共享和协作,显著提升了规划质量。
数据存储层采用混合架构,向量数据库使用Facebook的FAISS实现高性能向量检索,支持大规模数据的CPU部署,配合Sentence-Transformers文本嵌入模型(paraphrase-multilingual-MiniLM-L12-v2)进行多语言文本的384维向量化。Redis作为缓存数据库负责用户数据持久化,提供用户会话管理、认证令牌存储和快速数据访问功能。
安全认证体系采用JWT实现无状态认证,支持令牌过期时间控制,配合Bcrypt进行密码的盐值哈希加密,有效防止彩虹表攻击。系统通过MCP协议集成amap-mcp-server,提供景点搜索、酒店推荐、天气查询和路线规划等地图服务能力。
企业级特性方面,系统实现了完整的中间件系统,包括请求ID追踪、认证、限流、熔断和服务降级功能。日志系统采用结构化日志设计,支持文件和控制台双输出,配合请求追踪机制实现全链路监控。异常处理层通过全局异常处理器、自定义异常类和错误码管理机制,确保系统的稳定性和可维护性。
前端基于Vue 3框架构建,采用Composition API实现响应式系统和组件化开发,配合TypeScript提供静态类型检查、智能提示和接口定义能力,确保代码的类型安全性和可维护性。构建工具使用Vite,提供快速冷启动、热模块替换和优化的生产构建,显著提升开发效率。
UI层采用Element Plus组件库,提供丰富的组件和响应式设计,支持主题定制。路由和状态管理分别使用Vue Router和Pinia,Vue Router支持嵌套路由、路由守卫和动态路由功能,Pinia作为类型安全的状态管理库,提供模块化设计和DevTools支持。
地图服务集成高德地图JavaScript API,通过@amap/amap-jsapi-loader加载器实现地图展示、标记点、路线绘制和信息窗口等功能。导出功能使用html2canvas将DOM转换为Canvas,配合jsPDF生成PDF文档,支持自定义导出内容、图片导出和PDF导出。HTTP通信采用Axios库,提供拦截器、请求/响应转换和取消请求等功能。此外,还集成了Day.js轻量级日期处理库,提供便捷的日期操作能力。
用户请求
↓
前端表单 → 提交行程规划
↓
API调用 → POST /api/v1/trips/plan
↓
认证中间件 → 验证JWT令牌
↓
限流中间件 → 检查请求频率
↓
行程规划Agent → 协调各专家Agent
↓
并行查询:
- 景点搜索Agent → 高德地图API
- 酒店推荐Agent → 高德地图API
- 天气查询Agent → 高德地图API
↓
LLM生成行程 → OpenAI/智谱/通义千问
↓
地理位置验证 → 过滤异常景点
↓
向量记忆存储 → FAISS + 用户偏好学习
↓
返回结果 → JSON格式行程
↓
前端渲染 → 地图、预算、时间线
↓
用户查看 → 导出/编辑
本项目为个人独立开发项目,采用AI辅助编程模式。
开发者:echo
开发模式:使用CoStrict AI编程助手辅助开发
- 创新点:首次在旅行规划领域应用多智能体协作
- 详细说明:
- 每个智能体专注特定领域(景点、酒店、天气、规划)
- 智能体间信息共享和协作
- 提高了规划质量和准确性
- 创新点:基于FAISS的向量数据库,实现长期记忆
- 详细说明:
- 记住用户偏好和历史行程
- 语义检索相似经验
- 越用越智能,提供个性化推荐
- 创新点:智能地理位置验证,避免AI幻觉
- 详细说明:
- 确保所有景点在目标城市范围内
- 同一天景点距离控制在50公里内
- 自动过滤异常景点
- 提高行程可行性
- 创新点:完整的企业级特性集成
- 详细说明:
- 中间件系统(认证、限流、熔断、降级)
- 全局异常处理
- 结构化日志系统
- 请求ID追踪
- 增加餐厅推荐智能体
- 增加交通规划智能体
- 社交功能(分享、评论、收藏)
- 多语言国际化支持
- 移动端小程序开发
- 实时协作编辑
- 预算智能预测
- 离线模式支持
- 订阅服务
- 企业版
- API服务开放


