Skip to content

hfwl143/travel-agent

Repository files navigation

🧳 旅行智能体 (Travel Agent)

基于 LangGraph + LangChain + Streamlit 构建的智能旅行行程规划助手。

✨ 功能特点

  • 🔍 智能搜索: 使用 SerpAPI 搜索最新旅行信息
  • 🤖 AI 规划: 基于大语言模型生成个性化行程
  • 质量检查: 自动检查行程合理性和完整性
  • 💰 成本计算: 实时计算 API 调用成本
  • 🛡️ 内容安全: 自动检测用户输入安全性
  • 🔄 迭代优化: 根据检查结果自动优化行程

🛠️ 技术栈

  • 前端: Streamlit
  • 框架: LangGraph, LangChain
  • 模型: OpenAI GPT / 火山豆包
  • 搜索: SerpAPI
  • 状态管理: MemorySaver

📋 环境要求

  • Python 3.10+
  • pip

🚀 快速开始

1. 克隆项目

git clone https://github.com/hfwl143/travel-agent.git
cd travel-agent

2. 安装依赖

pip install -r requirements.txt

3. 配置环境变量

创建 .env 文件:

OPENAI_API_KEY=你的OpenAI密钥
SERPAPI_KEY=你的SerpAPI密钥
MODEL_NAME=gpt-3.5-turbo
MAX_TOKENS=4096
TEMPERATURE=0.7
LOG_LEVEL=INFO

4. 运行应用

streamlit run test.py

📁 项目结构

travel-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     # 依赖列表

🔧 核心功能说明

行程规划流程

用户输入 → 内容安全检查 → 搜索旅行信息 → 生成行程 → 检查行程质量
                                                    ↓
                                              合格 → 输出结果
                                                    ↓
                                              不合格 → 重新规划

状态图架构

STARTplanner(规划节点) → checker(检查节点) → 条件判断合格END
                                            不合格planner

📝 使用说明

  1. 在界面中输入你的 OpenAI API 密钥和 SerpAPI 密钥
  2. 设置旅行天数(1-7天)
  3. 输入目的地
  4. 选择功能需求(景点、美食、住宿等)
  5. 选择行程风格(传统、现代、极简)
  6. 点击"生成行程"按钮

🔑 获取 API 密钥

📊 成本估算

模型 输入价格 ($/1K tokens) 输出价格 ($/1K tokens)
gpt-3.5-turbo 0.0005 0.0015
gpt-4o 0.015 0.06

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 提交 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

🙏 致谢

📮 联系方式

如有问题或建议,欢迎:

  • 提交 Issue
  • 发送邮件至:你的邮箱

⭐ 如果这个项目对你有帮助,请给一个 Star!

About

基于 LangGraph + LangChain + Streamlit 构建的智能旅行行程规划助手。 适合新手入门多智能体开发

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages