AI-Tourism-Assistant-Agent
AI-Tourism-Assistant-Agentは、Spring AIとLangchain4jを基盤とした旅行計画のためのAIアシスタントです。ユーザーが目的地や出発時期、個人の好みを入力することで、カスタマイズされた旅行プランを迅速に生成します。リアルタイムの天気情報も統合されており、旅行計画をより効果的にサポートします。
GitHubスター
1
ユーザー評価
未評価
フォーク
0
イシュー
0
閲覧数
3
お気に入り
0
README
AI-Tourism-Assistant-Agent
基于 Spring AI 和 Langchain4j 的旅游行程规划智能体
一个基于人工智能的旅游规划助手,帮助用户快速生成个性化的旅游攻略。通过简单的输入目的地、出行时间和个人偏好,AI会为您定制详细的旅行计划。
项目特点
- 🌍 智能旅游规划:根据目的地、时间和偏好自动生成旅游攻略
- 🎯 个性化推荐:考虑用户兴趣和偏好,提供定制化的旅游建议
- 📱 响应式设计:适配各种设备屏幕,提供良好的移动端体验
- 🖨️ 打印与分享:支持打印旅游计划或在新标签页中查看分享
- ⚡ 快速生成:高效的AI处理,快速生成详细的旅游规划
- 🌤️ 天气集成:提供目的地实时天气信息,帮助旅行规划
项目结构
AI-Tourism-Assistant-Agent/
├── tourism-agent-client/ # 智能体客户端(后端核心)
├── tourism-weather-server/ # 和风天气 MCP 服务
└── tourism-agent-ui/ # 前端 UI 界面
子项目介绍
tourism-agent-client
智能体客户端是项目的核心后端服务,负责处理用户请求并生成旅游规划。
主要功能:
- 基于用户输入生成个性化旅游行程
- 与多种大语言模型集成(OpenAI、Anthropic、Google Gemini)
- 提供RESTful API接口供前端调用
- 集成MCP(Model Composition Protocol)服务
技术栈:
- Spring Boot 3.4.5
- LangChain4j 1.0.1
- Spring Web
- Lombok
tourism-weather-server
和风天气MCP服务是一个独立的微服务,负责提供目的地的天气数据。
主要功能:
- 提供目的地实时天气数据
- 基于Spring AI的MCP服务实现
- 集成和风天气API
技术栈:
- Spring Boot 3.4.6
- Spring AI 1.1.0
- Spring WebFlux
- Hutool 5.8.29
tourism-agent-ui
前端UI界面,为用户提供直观友好的操作界面。
主要功能:
- 用户输入界面(目的地、时间、偏好)
- 展示生成的旅游攻略
- 响应式设计,适配各种设备
- 支持打印与分享功能
技术栈:
- Vue 3.5.13
- Element Plus 2.10.2
- Pinia 3.0.1
- Vue Router 4.5.1
- Axios 1.10.0
- Dayjs 1.11.13
- Vite 6.2.4
前端技术栈
- 前端框架:Vue 3 + Vite
- UI组件库:Element Plus
- 状态管理:Pinia
- 路由管理:Vue Router
- HTTP请求:Axios
- 日期处理:Day.js
后端技术栈
- Spring AI:Spring AI 是 Spring 框架的 AI 模块,提供了丰富的 AI 功能和集成,包括MCP服务实现
- LangChain4j:LangChain4j 是一个基于 Java 的 AI 框架,提供了丰富的 AI 功能和集成,支持多种大语言模型
- Spring Boot:Spring Boot 是 Spring 框架的快速开发框架,提供了丰富的功能和集成
- Spring Web:Spring Web 是 Spring 框架的 Web 模块,提供了丰富的 Web 功能和集成
- Spring WebFlux:Spring WebFlux 是 Spring 框架的响应式 Web 模块,提供了非阻塞的 Web 功能
项目依赖
- 和风天气 API:和风天气 API 是和风天气提供的一个天气数据服务,提供了丰富的天气数据和集成
- 高德地图 MCP 服务:高德地图 MCP 服务是高德地图提供的一个地图数据服务,提供了丰富的地图数据和集成
- 大语言模型:支持OpenAI、Anthropic Claude、Google Gemini等多种大语言模型
系统架构
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ tourism-agent- │ │ tourism-agent- │ │ tourism-weather-│
│ ui │◄────►│ client │◄────►│ server │
│ (Vue 3 前端) │ │ (Spring Boot) │ │ (Spring AI) │
│ │ │ │ │ │
└─────────────────┘ └────────┬────────┘ └────────┬────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ │ │ │
│ 大语言模型 │ │ 和风天气 API │
│ (OpenAI等) │ │ │
│ │ │ │
└─────────────────┘ └─────────────────┘
安装与运行
环境要求
- Java 21 或更高版本
- Maven 3.9.x 或更高版本
- Node.js 16.x 或更高版本
- npm 8.x 或更高版本
后端服务启动
- 启动 tourism-agent-client
cd tourism-agent-client
mvn spring-boot:run
- 启动 tourism-weather-server
cd tourism-weather-server
mvn spring-boot:run
前端服务启动
cd tourism-agent-ui
npm install
npm run dev
构建生产版本
cd tourism-agent-ui
npm run build
预览生产构建
cd tourism-agent-ui
npm run preview
使用方法
- 在首页输入您的旅游目的地
- 选择计划出行的日期
- 添加您的旅游偏好和兴趣(如美食、历史、自然风光等)
- 点击"生成旅游计划"按钮
- 等待AI生成您的个性化旅游攻略
- 查看生成的旅游计划,可以打印或在新标签页中查看
贡献指南
欢迎提交问题和改进建议!如果您想为项目做出贡献,请:
- Fork本仓库
- 创建您的特性分支 (
git checkout -b feature/amazing-feature
) - 提交您的更改 (
git commit -m 'Add some amazing feature'
) - 推送到分支 (
git push origin feature/amazing-feature
) - 开启一个Pull Request
许可证
作者情報
スレッド