基于LangGraph框架构建的多agent的智能旅行助手,集成高德地图MCP服务,提供个性化的旅行计划生成。
- 🤖 AI驱动的旅行规划: 基于LangGraph框架的多智能体工作流,智能生成详细的多日旅程
- 🗺️ 高德地图集成: 通过MCP协议接入高德地图服务,支持景点搜索、路线规划、天气查询
- 🧠 智能工具调用: Agent自动调用高德地图MCP工具,获取实时POI、路线和天气信息
- 🎨 现代化前端: Vue3 + TypeScript + Vite,响应式设计,流畅的用户体验
- 📱 完整功能: 包含住宿、交通、餐饮和景点游览时间推荐
- 框架: LangGraph (基于StateGraph的多智能体工作流)
- API: FastAPI
- MCP工具: amap-mcp-server (高德地图)
- LLM: 支持多种LLM提供商(OpenAI, DeepSeek等)
- 框架: Vue 3 + TypeScript
- 构建工具: Vite
- UI组件库: Ant Design Vue
- 地图服务: 高德地图 JavaScript API
- HTTP客户端: Axios
helloagents-trip-planner/
├── backend/ # 后端服务
│ ├── app/
│ │ ├── workflows/ # LangGraph工作流实现
│ │ │ ├── trip_planner_graph.py
│ │ │ ├── trip_planner_state.py
│ │ │ └── train.py
│ │ ├── agents/ # LangChain智能体定义
│ │ │ ├── langgraph_agents.py
│ │ │ ├── old_helloagent_planner_agent.py
│ │ │ └── __init__.py
│ │ ├── api/ # FastAPI路由
│ │ │ ├── main.py
│ │ │ └── routes/
│ │ │ ├── trip.py
│ │ │ ├── map.py
│ │ │ └── poi.py
│ │ ├── services/ # 服务层
│ │ │ ├── amap_service.py
│ │ │ ├── llm_service.py
│ │ │ └── unsplash_service.py
│ │ ├── models/ # 数据模型
│ │ │ └── schemas.py
│ │ ├── tools/ # 工具定义
│ │ │ ├── amap_mcp_tools.py
│ │ │ └── __init__.py
│ │ └── config.py # 配置管理
│ ├── requirements.txt
│ ├── .env.example
│ └── .gitignore
├── frontend/ # 前端应用
│ ├── src/
│ │ ├── components/ # Vue组件
│ │ ├── services/ # API服务
│ │ ├── types/ # TypeScript类型
│ │ └── views/ # 页面视图
│ ├── package.json
│ └── vite.config.ts
└── README.md
- Python 3.10+
- Node.js 16+
- 高德地图API密钥 (Web服务API和Web端(JS API))
- LLM API密钥 (OpenAI/DeepSeek等)
- 进入后端目录
cd backend- 创建虚拟环境
python -m venv venv
venv\Scripts\activate
# Mac: source venv/bin/activate - 安装依赖
pip install -r requirements.txt- 配置环境变量
cp .env.example .env
# 编辑.env文件,填入你的API密钥- 启动后端服务
uvicorn app.api.main:app --reload --host 0.0.0.0 --port 8000
- 进入前端目录
cd frontend- 安装依赖
npm install- 配置环境变量
# 创建.env文件, 填入高德地图Web API Key 和 Web端JS API Key
cp .env.example .env- 启动开发服务器
npm run dev- 打开浏览器访问
http://localhost:5173
-
在首页填写旅行信息:
- 目的地城市
- 旅行日期和天数
- 交通方式偏好
- 住宿偏好
- 旅行风格标签
-
点击"生成旅行计划"按钮
-
系统将:
- 调用LangGraph工作流生成初步计划
- Agent自动调用高德地图MCP工具搜索景点
- Agent获取天气信息和路线规划
- 整合所有信息生成完整行程
-
查看结果:
- 每日详细行程
- 景点信息与地图标记
- 交通路线规划
- 天气预报
- 餐饮推荐
from langgraph.graph import StateGraph, END
from app.workflows.trip_planner_graph import TripPlannerWorkflow
from app.models.schemas import TripRequest
# 创建旅行规划工作流
workflow = TripPlannerWorkflow()
# 创建旅行请求
request = TripRequest(
city="北京",
travel_days=3,
transportation="地铁",
accommodation="经济型酒店",
preferences=["历史文化", "公园"],
start_date="2024-10-01",
end_date="2024-10-03",
free_text_input="希望行程轻松一些"
)
# 执行工作流生成旅行计划
trip_plan = workflow.plan_trip(request)
print(f"生成 {len(trip_plan.days)} 天行程计划")工作流中的智能体可以自动调用以下高德地图MCP工具:
maps_text_search: 搜索景点POImaps_weather: 查询天气maps_direction_walking_by_address: 步行路线规划maps_direction_driving_by_address: 驾车路线规划maps_direction_transit_integrated_by_address: 公共交通路线规划
启动后端服务后,访问 http://localhost:8000/docs 查看完整的API文档。
主要端点:
POST /api/trip/plan- 生成旅行计划GET /api/map/poi- 搜索POIGET /api/map/weather- 查询天气POST /api/map/route- 规划路线
欢迎提交Pull Request或Issue!
CC BY-NC-SA 4.0
- LangGraph - 多智能体工作流框架
- LangChain - LLM应用开发框架
- 高德地图开放平台 - 地图服务
- amap-mcp-server - 高德地图MCP服务器
多agent的智能旅行助手 - 让旅行计划变得简单而智能 🌈