基于 LangGraph 构建的智能出行助手,支持天气查询、装备推荐、景点推荐、出行规划和住宿推荐。
- 🌤️ 天气查询:查询目的地天气情况
- 🎒 装备推荐:根据天气智能推荐出行装备
- 🏞️ 景点推荐:推荐热门景点和游玩建议
- 🚄 出行规划:提供多种出行方式选择
- 🏨 住宿推荐:推荐合适的住宿选择
- 💬 多轮对话:支持持续交互优化行程
travel-agent/
├── README.md
├── requirements.txt
├── config.py # 配置文件
├── state.py # 状态定义
├── tools/ # 工具目录
│ ├── __init__.py
│ ├── weather_tool.py # 天气查询
│ ├── equipment_tool.py # 装备推荐
│ ├── attractions_tool.py # 景点推荐
│ ├── transport_tool.py # 出行规划
│ └── accommodation_tool.py # 住宿推荐
├── nodes/ # 节点目录
│ ├── __init__.py
│ ├── classifier.py # 意图分类
│ ├── tools_node.py # 工具执行
│ └── response.py # 响应生成
├── graph.py # 图定义
└── main.py # 主程序
pip install -r requirements.txtfrom main import TravelAgent
# 初始化
agent = TravelAgent()
# 查询天气
response = agent.run("北京明天天气怎么样?")
# 综合规划
response = agent.run("我要去三亚旅游3天,帮我规划行程")
# 装备推荐
response = agent.run("去西藏需要带什么装备?")在 config.py 中配置 API 密钥:
# 百度地图 API
BAIDU_MAP_AK = "your_baidu_map_ak"
# OpenAI API
OPENAI_API_KEY = "your_openai_api_key"
OPENAI_API_BASE = "https://api.openai.com/v1"
# 或使用国内模型
MODEL_NAME = "deepseek-chat"
MODEL_API_KEY = "your_api_key"
MODEL_API_BASE = "https://api.deepseek.com/v1"用户输入 → 意图分类 → 工具选择 → 工具执行 → 响应生成 → 返回结果
- Skill 集成:天气查询可使用现有的 weather skill
- MCP 集成:支持通过 MCP 调用外部服务
- API 调用:直接调用百度地图等 API
- 在
tools/目录创建新工具文件 - 使用
@tool装饰器定义工具 - 在
graph.py中添加节点和路由
- 在
nodes/目录创建节点文件 - 在
graph.py中注册节点 - 添加相应的边和路由逻辑