Skip to content

FeiWuSama/trip-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trip-Agent - AI旅行助手项目

项目简介

Trip-Agent是一个基于人工智能的简单旅行助手系统,旨在为用户提供智能化的旅行规划和相关服务。该项目结合了前端Vue3应用和后端Spring Boot服务,通过集成阿里巴巴的通义大模型,实现了强大的AI对话能力和工具调用功能。

项目架构

整体架构

trip-agent/
├── trip-agent-front/          # 前端Vue3应用
├── src/                       # 后端Spring Boot应用
└── image-search-mcp-server/    # 图像搜索MCP服务器

技术栈

后端技术

  • 框架: Spring Boot 3.4.11
  • Java版本: JDK 21
  • AI框架: Spring AI Alibaba + 阿里云通义大模型
  • 工具集成: MCP (Model Context Protocol)
  • 文档处理: iText PDF、Markdown文档读取
  • 其他工具: Lombok、Hutool、Jsoup、Knife4j

前端技术

  • 框架: Vue 3
  • 路由: Vue Router 4
  • 构建工具: Vite
  • HTTP客户端: Axios
  • 通信方式: Server-Sent Events (SSE)

系统架构图

系统整体架构

graph TB
    subgraph "前端层"
        A[Vue3 前端应用]
        A1[AI旅游规划大师界面]
        A2[AI超级智能体界面]
        A --> A1
        A --> A2
    end
    
    subgraph "API网关层"
        B[Spring Boot API网关]
        B1[AI旅游规划大师接口]
        B2[AI超级智能体接口]
        B --> B1
        B --> B2
    end
    
    subgraph "业务逻辑层"
        C[TripPlanMasterApp]
        D[TripMasterManus]
        E[工具调用管理器]
    end
    
    subgraph "AI模型层"
        F[通义大模型]
        G[向量存储]
        H[RAG检索器]
    end
    
    subgraph "工具服务层"
        I[文件操作工具]
        J[网络搜索工具]
        K[网页抓取工具]
        L[资源下载工具]
        M[终端操作工具]
        N[PDF生成工具]
        O[图像搜索MCP服务器]
    end
    
    subgraph "数据存储层"
        P[文件系统聊天记忆]
        Q[本地文件存储]
        R[云向量数据库]
    end
    
    A --> B
    A1 --> B1
    A2 --> B2
    B1 --> C
    B2 --> D
    C --> F
    C --> G
    C --> P
    D --> E
    E --> F
    E --> I
    E --> J
    E --> K
    E --> L
    E --> M
    E --> N
    E --> O
    G --> R
    H --> R
    I --> Q
    N --> Q
    O --> R
Loading

AI智能体架构

graph TB
    subgraph "智能体层次结构"
        A[BaseAgent 基础智能体]
        B[ReActAgent 反思行动智能体]
        C[ToolCallAgent 工具调用智能体]
        D[TripMasterManus 旅游智能体]
        
        A --> B
        B --> C
        C --> D
    end
    
    subgraph "智能体核心组件"
        E[状态管理]
        F[消息管理]
        G[执行流程控制]
        H[工具调用管理]
    end
    
    subgraph "智能体状态"
        I[IDLE 空闲]
        J[THINKING 思考]
        K[ACTING 行动]
        L[TERMINATED 终止]
    end
    
    A --> E
    A --> F
    B --> G
    C --> H
    E --> I
    E --> J
    E --> K
    E --> L
Loading

RAG架构流程

sequenceDiagram
    participant U as 用户
    participant F as 前端
    participant A as API网关
    participant T as TripPlanMasterApp
    participant R as RAG检索器
    participant V as 向量存储
    participant M as 通义大模型
    
    U->>F: 发送旅游咨询
    F->>A: HTTP请求
    A->>T: 调用旅游规划服务
    T->>R: 触发RAG检索
    R->>V: 向量相似度搜索
    V-->>R: 返回相关文档
    R-->>T: 返回RAG检索的文档
    T->>M: 发送增强提示
    M-->>T: 返回AI增强后的回复
    T-->>A: 流式响应
    A-->>F: SSE数据流
    F-->>U: 显示AI回复
Loading

工具调用流程

sequenceDiagram
    participant U as 用户
    participant M as TripMasterManus
    participant T as 工具调用管理器
    participant F as 文件操作工具
    participant S as 网络搜索工具
    participant C as 终端操作工具
    
    U->>M: 发送复杂任务请求
    M->>M: 分析任务需求
    M->>T: 选择并调用工具
    alt 文件操作
        T->>F: 执行文件操作
        F-->>T: 返回操作结果
    else 网络搜索
        T->>S: 执行网络搜索
        S-->>T: 返回搜索结果
    else 终端操作
        T->>C: 执行终端命令
        C-->>T: 返回执行结果
    end
    T-->>M: 汇总工具执行结果
    M->>M: 生成最终回复
    M-->>U: 返回任务完成结果
Loading

部署架构

graph TB
    subgraph "客户端层"
        A[Web浏览器]
        B[移动端浏览器]
    end
    
    subgraph "Serverless"
         subgraph "前端服务"
            C[Nginx]
            D[Vue3静态资源]
        end
    
        subgraph "后端服务"
            E[Spring Boot应用]
            F[图像搜索MCP服务]
        end
        
         subgraph "本地服务"
            K[文件存储]
            L[负载均衡器]
        end
    end
    
    subgraph "外部服务"
        G[阿里云通义大模型API]
        H[向量数据库服务]
        I[搜索引擎API]
    end
    
  
    
    A --> C
    B --> C
    C --> D
    C --> L
    L --> E
    L --> F
    E --> G
    E --> H
    E --> I
    F --> H
    E --> K
    F --> K
Loading

核心功能

1. AI旅游规划大师

  • 功能描述: 专业的旅游向导助手,帮助用户规划旅行路线和时间安排
  • 特点:
    • 基于文件系统的持久化聊天记忆
    • 支持RAG(检索增强生成)技术,提供更准确的旅游建议
    • 流式响应,实时显示AI回复
    • 专业的旅游知识库支持

2. AI超级智能体 (TripMasterManus)

  • 功能描述: 全能型AI助手,能够调用多种工具解决复杂任务
  • 工具集:
    • 文件操作工具:读写文件
    • 网络搜索工具:获取实时信息
    • 网页抓取工具:提取网页内容
    • 资源下载工具:下载网络资源
    • 终端操作工具:执行系统命令
    • PDF生成工具:创建PDF文档
    • 终止工具:控制交互流程

3. 图像搜索MCP服务器

  • 功能描述: 基于MCP协议的图像搜索服务
  • 特点:
    • 独立的Spring Boot服务
    • 支持MCP协议通信
    • 可扩展的图像搜索功能

项目亮点

1. 智能Agent架构

  • 基础Agent: 提供状态管理和执行流程控制
  • ReAct Agent: 实现思考-行动循环
  • 工具调用Agent: 专门处理工具调用和结果处理

2. 高级RAG实现

  • 本地向量存储和云向量检索双重支持
  • 关键词自动丰富,提高检索准确性
  • Markdown文档自动加载和处理

3. 持久化聊天记忆

  • 基于文件系统的聊天记录存储
  • 使用Kryo序列化,高效存储和读取
  • 支持多会话管理

4. 工具生态系统

  • 丰富的工具集,覆盖文件、网络、系统等多个领域
  • 统一的工具注册和管理机制
  • 灵活的工具调用和结果处理

部署说明

环境要求

  • JDK 21+
  • Node.js 16+
  • Maven 3.6+
  • 阿里云通义大模型API密钥

后端启动

# 在项目根目录
mvn spring-boot:run

前端启动

# 在trip-agent-front目录
npm install
npm run dev

图像搜索MCP服务启动

# 在image-search-mcp-server目录
mvn spring-boot:run

配置说明

应用配置

  • spring.ai.dashscope.api-key: 通义大模型API密钥
  • search-api.api-key: pexels搜索API密钥

未来规划

  1. 增强工具集: 添加更多实用工具,如地图服务、天气查询等
  2. 多模态支持: 集成图像理解和生成能力
  3. 知识库扩展: 构建更丰富的旅游知识库
  4. 个性化推荐: 基于用户偏好的智能推荐系统
  5. 移动端适配: 开发移动端应用

贡献指南

欢迎提交Issue和Pull Request来改进项目。请确保:

  1. 代码符合项目规范
  2. 添加必要的测试
  3. 更新相关文档

About

Trip-Agent是一个基于人工智能的简单旅行助手系统,旨在为用户提供智能化的旅行规划和相关服务。该项目结合了前端Vue3应用和后端Spring Boot服务,通过集成阿里巴巴的通义大模型,实现了强大的AI对话能力和工具调用功能。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors