Skip to content

rpxaaa/trip-planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

w # 智能旅行助手 🌍✈️

基于 LangChain + FastAPI + Vue3 的旅行规划项目,支持多智能体协作生成多日行程,并集成高德地图能力(POI、天气、路线)与前端地图展示。

功能现状

  • AI 旅行规划:根据城市、日期、偏好生成多日行程
  • 多智能体协作:景点 / 天气 / 酒店并行获取,上层统一生成行程
  • 双编排模式:支持 directa2a(也可 auto
  • 并行失败策略:支持 fail_fastpartial_continue
  • 地图与结果页:前端支持地图标注、行程编辑、导出图片/PDF
  • 执行轨迹:/api/trip/plan 返回 request_idagent_trace

技术栈

后端

  • LangChain
  • FastAPI
  • Pydantic v2
  • 高德地图 Web Service API
  • OpenAI-Compatible LLM(如 OpenAI / DeepSeek / 其他兼容网关)

前端

  • Vue 3 + TypeScript
  • Vite
  • Ant Design Vue
  • Axios
  • 高德地图 JavaScript API

项目结构

helloagents-trip-planner/
├── backend/
│   ├── app/
│   │   ├── agents/
│   │   │   └── trip_planner_agent.py
│   │   ├── api/
│   │   │   ├── main.py
│   │   │   └── routes/
│   │   │       ├── trip.py
│   │   │       ├── map.py
│   │   │       ├── poi.py
│   │   │       └── agent_a2a.py
│   │   ├── models/
│   │   │   └── schemas.py
│   │   ├── services/
│   │   │   ├── amap_service.py
│   │   │   ├── llm_service.py
│   │   │   └── unsplash_service.py
│   │   └── config.py
│   ├── requirements.txt
│   └── run.py
├── frontend/
│   ├── src/
│   │   ├── services/api.ts
│   │   ├── types/index.ts
│   │   └── views/
│   │       ├── Home.vue
│   │       └── Result.vue
│   ├── .env.example
│   ├── package.json
│   └── vite.config.ts
└── README.md

快速开始

以下以 Windows PowerShell 为例。

1) 启动后端

Set-Location "E:\Program Files\PycharmProjects\helloagents-trip-planner\backend"
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

backend/.env 中至少配置:

AMAP_API_KEY=your_amap_web_service_key
LLM_API_KEY=your_llm_api_key
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL_ID=gpt-4.1-mini

# 可选
HOST=0.0.0.0
PORT=8000
CORS_ORIGINS=http://localhost:5173,http://localhost:3000
LOG_LEVEL=INFO
TRIP_A2A_ENABLED=true
TRIP_PARALLEL_FAILURE_STRATEGY=partial_continue
UNSPLASH_ACCESS_KEY=your_unsplash_access_key
UNSPLASH_SECRET_KEY=your_unsplash_secret_key

启动服务:

python run.py

后端默认地址:http://localhost:8000

2) 启动前端

Set-Location "E:\Program Files\PycharmProjects\helloagents-trip-planner\frontend"
npm install
Copy-Item .env.example .env
npm run dev

前端默认地址:http://localhost:5173

API 概览

启动后访问:http://localhost:8000/docs

旅行规划

  • POST /api/trip/plan
    • Query 参数:
      • orchestration_mode=auto|direct|a2a
      • parallel_failure_strategy=auto|fail_fast|partial_continue
    • 返回:旅行计划 + request_id + agent_trace
  • GET /api/trip/health

地图服务

  • GET /api/map/poi
  • GET /api/map/weather
  • POST /api/map/route
  • GET /api/map/health

POI 与图片

  • GET /api/poi/search
  • GET /api/poi/detail/{poi_id}
  • GET /api/poi/photo

Agent A2A

  • GET /api/agent-a2a/capabilities
  • POST /api/agent-a2a/dispatch

前端说明

  • API 基地址:frontend/src/services/api.ts 读取 VITE_API_BASE_URL,默认 http://localhost:8000
  • Vite 已配置 /api 代理到 http://localhost:8000(见 frontend/vite.config.ts
  • 地图展示依赖高德 JS Key(VITE_AMAP_WEB_JS_KEY

常见问题

  • 后端启动报 AMAP_API_KEY未配置:检查 backend/.env
  • 前端请求失败:确认后端运行在 http://localhost:8000,并检查 VITE_API_BASE_URL
  • LLM 调用失败:检查 LLM_API_KEYLLM_BASE_URLLLM_MODEL_ID 是否可用。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors