基于 LangGraph + LangChain + Streamlit 构建的智能旅行行程规划助手。
- 🔍 智能搜索: 使用 SerpAPI 搜索最新旅行信息
- 🤖 AI 规划: 基于大语言模型生成个性化行程
- ✅ 质量检查: 自动检查行程合理性和完整性
- 💰 成本计算: 实时计算 API 调用成本
- 🛡️ 内容安全: 自动检测用户输入安全性
- 🔄 迭代优化: 根据检查结果自动优化行程
- 前端: Streamlit
- 框架: LangGraph, LangChain
- 模型: OpenAI GPT / 火山豆包
- 搜索: SerpAPI
- 状态管理: MemorySaver
- Python 3.10+
- pip
git clone https://github.com/hfwl143/travel-agent.git
cd travel-agentpip install -r requirements.txt创建 .env 文件:
OPENAI_API_KEY=你的OpenAI密钥
SERPAPI_KEY=你的SerpAPI密钥
MODEL_NAME=gpt-3.5-turbo
MAX_TOKENS=4096
TEMPERATURE=0.7
LOG_LEVEL=INFOstreamlit run test.pytravel-agent/
├── test.py # 主程序入口
├── config.py # 配置管理
├── schema.py # 数据模型定义
├── safety_checker.py # 内容安全检查
├── token_cost.py # 成本计算器
├── retry_decorators.py # 重试装饰器
├── tools/
│ └── Serp.py # SerpAPI 工具封装
├── prompt/
│ ├── planner.py # 规划师提示词
│ └── checher.py # 检查员提示词
├── logs/ # 日志目录
├── .env # 环境变量配置
└── requirements.txt # 依赖列表
用户输入 → 内容安全检查 → 搜索旅行信息 → 生成行程 → 检查行程质量
↓
合格 → 输出结果
↓
不合格 → 重新规划
START → planner(规划节点) → checker(检查节点) → 条件判断
↓
合格 → END
不合格 → planner- 在界面中输入你的 OpenAI API 密钥和 SerpAPI 密钥
- 设置旅行天数(1-7天)
- 输入目的地
- 选择功能需求(景点、美食、住宿等)
- 选择行程风格(传统、现代、极简)
- 点击"生成行程"按钮
- OpenAI API: https://platform.openai.com/api-keys
- SerpAPI: https://serpapi.com/manage-api-key
| 模型 | 输入价格 ($/1K tokens) | 输出价格 ($/1K tokens) |
|---|---|---|
| gpt-3.5-turbo | 0.0005 | 0.0015 |
| gpt-4o | 0.015 | 0.06 |
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
本项目采用 MIT 许可证 - 详见 LICENSE 文件
如有问题或建议,欢迎:
- 提交 Issue
- 发送邮件至:你的邮箱
⭐ 如果这个项目对你有帮助,请给一个 Star!