Skip to content

congyingTech/TravelBuddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

旅游搭子 - Travel Buddy

一个专业的旅游评测与规划网站,通过多个专家Agent分析城市,提供详细的旅游评测报告、旅行规划和消费规划。

功能特点

  • 🏙️ 选择中国城市进行旅游评测
  • 🍜 美食专家Agent:分析当地特色美食、推荐餐厅和消费建议
  • 🏨 民宿专家Agent:推荐性价比高的酒店和民宿,提供价格信息
  • 🏛️ 历史民俗文化专家Agent:介绍历史文明古迹和民俗文化
  • 🌄 自然风光Agent:推荐美丽的自然风光和最佳观赏时间
  • 📊 旅游专家Agent:综合评测并生成详细报告、旅行规划和消费规划

系统架构

系统采用基于 LangGraph 的多Agent架构,使用 Google Gemini 作为基座模型:

Agent 流程编排

  1. 并行执行阶段(使用 asyncio.gather):

    • 🍜 美食专家Agent - 分析城市特色美食
    • 🏨 民宿专家Agent - 分析住宿选择和价格
    • 🏛️ 历史民俗文化专家Agent - 分析历史文化资源
    • 🌄 自然风光Agent - 分析自然景观
  2. 整合阶段

    • 📊 旅游专家Agent - 整合所有专家分析,生成:
      • 综合评分(5分制)
      • 详细评测报告(200-500字)
      • 3-5天详细旅行规划
      • 消费预算规划

技术特点

  • LangGraph 流程编排:使用 LangGraph 定义和管理 Agent 工作流
  • 并行执行:4个专家Agent并行分析,提高效率
  • Gemini 基座模型:使用 Google Gemini Pro 模型,支持中文理解
  • 错误处理:完善的异常处理和降级策略
  • 状态管理:使用 TypedDict 定义 Agent 状态

技术栈

前端

  • React + TypeScript
  • Vite
  • Tailwind CSS
  • Axios

后端

  • FastAPI
  • LangGraph (用于Agent流程编排)
  • Google Gemini (作为基座模型)
  • LangChain (Agent框架)
  • Python 3.8+

安装与运行

1. 克隆项目

cd TravelBuddy

2. 安装前端依赖

npm install

3. 安装后端依赖

pip install -r requirements.txt

4. 配置环境变量(推荐)

创建 .env 文件:

GOOGLE_API_KEY=your_google_api_key_here

注意

  • 如果不设置 GOOGLE_API_KEY,系统将使用模拟数据,仍然可以正常运行和测试
  • 获取 Google API Key: https://makersuite.google.com/app/apikey
  • 系统使用 Gemini Pro 模型作为基座模型

5. 启动服务

方式一:使用启动脚本

启动后端(终端1):

./start_backend.sh

启动前端(终端2):

./start_frontend.sh

方式二:手动启动

启动后端:

uvicorn main:app --reload --host 0.0.0.0 --port 8000

启动前端:

npm run dev

6. 访问应用

使用说明

  1. 在首页选择或输入要评测的中国城市
  2. 点击"开始评测"按钮
  3. 系统将调用各个专家Agent进行分析
  4. 查看生成的评测报告,包括:
    • 综合评分(5分制)
    • 详细评测报告
    • 各专家分析结果
    • 3-5天旅行规划
    • 消费预算规划

项目结构

TravelBuddy/
├── src/                    # 前端源码
│   ├── components/        # React组件
│   ├── App.tsx           # 主应用组件
│   ├── main.tsx          # 入口文件
│   ├── types.ts          # TypeScript类型定义
│   └── index.css         # 样式文件
├── main.py               # FastAPI后端主文件
├── agents.py             # 专家Agent实现
├── requirements.txt      # Python依赖
├── package.json          # Node.js依赖
└── README.md            # 项目说明

开发说明

  • 前端使用Vite作为构建工具,支持热重载
  • 后端使用FastAPI,支持自动API文档生成
  • Agent系统使用LangGraph进行流程编排,Gemini作为基座模型
  • 支持并行执行和顺序执行两种模式
  • 所有API调用都是异步的,提高性能

API 使用

基本调用

curl "http://localhost:8000/api/evaluate?city=北京"

使用LangGraph工作流(顺序执行)

curl "http://localhost:8000/api/evaluate?city=北京&use_graph=true"

注意事项

  • 使用Gemini API需要有效的Google API密钥
  • 获取API密钥:https://makersuite.google.com/app/apikey
  • 如果没有API密钥,系统会自动使用模拟数据
  • 建议在生产环境中配置适当的错误处理和日志记录
  • 系统默认使用并行执行模式(更高效),可通过 use_graph=true 参数切换到LangGraph顺序执行模式

About

your smart travel buddy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors