Skip to content

zhexueqi/qi-ai-agent

Repository files navigation

AI 超级智能体项目

作者:哲学七

项目简介

AI 超级智能体项目是一个基于 Spring Boot 和 Vue 3 构建的多功能 AI 应用平台,包含以下核心功能:

  1. AI恋爱大师 - 专业的恋爱咨询和情感指导助手
  2. AI超级智能体 - 全能的AI助手,可以解答各种问题并调用多种工具
  3. MCP工具扩展 - 支持通过 Model Context Protocol (MCP) 扩展AI能力

该项目充分利用了 Spring AI 框架和阿里云 DashScope 大模型服务,结合多种 AI 工具和 RAG (Retrieval-Augmented Generation) 技术,为用户提供智能化服务。

技术架构

后端技术栈

  • 核心框架: Spring Boot 3.4.4
  • AI框架: Spring AI 1.0.0 & Spring AI Alibaba 1.0.0.2
  • 大模型服务: 阿里云 DashScope (Qwen3系列模型)
  • 数据库:
    • MySQL 8.x (主数据库)
    • PostgreSQL (向量数据库,用于RAG)
  • ORM框架: MyBatis-Plus + Dynamic DataSource
  • 向量存储: PgVector
  • 工具调用: Spring AI Tool Calling + MCP (Model Context Protocol)
  • 邮件服务: Spring Mail
  • 文档处理: iText PDF, Jsoup, Markdown Reader
  • 其他: Lombok, Hutool, Knife4j (API文档)

前端技术栈

  • 核心框架: Vue 3.5 + TypeScript
  • 构建工具: Vite 7.x
  • 状态管理: Pinia
  • 路由: Vue Router
  • HTTP客户端: Axios
  • UI: 原生CSS,响应式设计

核心功能

1. AI恋爱大师

一个专业的情感咨询助手,基于心理学和关系研究为用户提供恋爱指导:

  • 情感问题分析与诊断
  • 个性化恋爱建议
  • 沟通技巧指导
  • 情境模拟与练习
  • 伴侣推荐(基于知识库中的用户档案)

2. AI超级智能体

一个全能的AI助手,具备以下能力:

  • 多轮对话管理
  • 工具调用(Tool Calling)
  • MCP协议支持
  • 流式响应(SSE)
  • 多种AI工具集成

支持的工具包括:

  • 邮件发送
  • 文件操作
  • PDF生成
  • 终端操作
  • 网页抓取
  • 网络搜索
  • 图片搜索(通过MCP服务)

3. RAG知识检索

  • 向量数据库支持(PgVector)
  • 文档加载与切分
  • 相似度检索
  • 关键词增强

4. MCP扩展服务

项目包含一个独立的MCP服务模块(qi-search-images-mcp-server),提供:

  • 图片搜索工具
  • MCP协议兼容
  • 可扩展的工具集

项目结构

qi-ai-agent/
├── qi-ai-agent-fronted/     # 前端Vue项目
├── src/                     # 后端Java项目
│   ├── main/
│   │   ├── java/com/qi/aiagent/
│   │   │   ├── agent/       # AI代理实现
│   │   │   ├── app/         # 应用服务
│   │   │   ├── controller/  # REST控制器
│   │   │   ├── tools/       # AI工具实现
│   │   │   ├── service/     # 业务服务
│   │   │   ├── mapper/      # 数据访问层
│   │   │   ├── model/       # 数据模型
│   │   │   ├── rag/         # RAG相关组件
│   │   │   ├── chatmemory/  # 对话记忆管理
│   │   │   └── ...
│   │   └── resources/       # 配置文件和资源
│   └── test/                # 测试代码
├── qi-search-images-mcp-server/  # MCP图片搜索服务
└── ...

环境要求

后端环境

  • Java 21
  • Maven 3.6+
  • MySQL 8.x
  • PostgreSQL 12+ (含pgvector扩展)
  • 阿里云DashScope API Key
  • SearchAPI Key (用于网络搜索)
  • Pexels API Key (用于图片搜索)

前端环境

  • Node.js 20.19+ 或 22.12+
  • npm 或 yarn

配置说明

后端配置 (application.yml)

spring:
  datasource:
    dynamic:
      datasource:
        master:  # MySQL主数据库配置
          url: jdbc:mysql://localhost:3306/qi_ai_agent
          username: root
          password: 123456
        slave:   # PostgreSQL向量数据库配置
          url: jdbc:postgresql://localhost:5432/qi_ai_agent
          username: postgres
          password: password
  ai:
    dashscope:
      api-key: your-dashscope-api-key  # 阿里云DashScope API密钥
    vectorstore:
      pgvector:
        index-type: HNSW
        distance-type: COSINE_DISTANCE
        dimensions: 1536
    mcp:
      client:
        enabled: true
        sse:
          connections:
            server1:
              url: http://localhost:8124  # MCP服务地址
  mail:
    host: smtp.qq.com  # 邮件服务器配置
    port: 587
    username: your-email@qq.com
    password: your-email-password
searchapi:
  api-key: your-searchapi-key  # SearchAPI密钥

前端配置

前端配置在 src/api/chatApi.ts 中:

const BASE_URL = 'http://localhost:8123/api'  // 后端API地址

快速开始

后端启动

  1. 确保安装了 Java 21 和 Maven
  2. 配置好数据库和各种API密钥
  3. 在项目根目录执行:
    mvn clean install
    mvn spring-boot:run

前端启动

  1. 进入前端目录:
    cd qi-ai-agent-fronted
  2. 安装依赖:
    npm install
  3. 启动开发服务器:
    npm run dev

MCP服务启动

  1. 进入MCP服务目录:
    cd qi-search-images-mcp-server
  2. 配置Pexels API密钥
  3. 启动服务:
    mvn spring-boot:run

API文档

项目集成了 Knife4j,可以通过以下地址访问API文档:

http://localhost:8123/api/doc.html

功能特色

1. 多智能体架构

项目实现了多种AI代理:

  • QiManus: 全能型AI助手,可以调用多种工具
  • LoveApp: 专业恋爱顾问,专注于情感咨询

2. 工具调用机制

支持丰富的工具调用:

  • 自动工具选择与执行
  • 工具调用结果处理
  • 多步骤任务执行

3. 对话记忆管理

  • 基于MySQL的持久化对话存储
  • 支持多会话管理
  • 对话历史检索

4. 流式响应

  • SSE (Server-Sent Events) 实现
  • 实时打字机效果
  • 用户可中断响应

5. RAG增强检索

  • 向量数据库支持
  • 文档相似度检索
  • 知识增强生成

开发指南

添加新工具

  1. com.qi.aiagent.tools 包中创建工具类
  2. 使用 @Tool 注解标记工具方法
  3. ToolCallAgent 中注册工具

扩展MCP服务

  1. qi-search-images-mcp-server 中添加新工具
  2. 实现相应的MCP接口
  3. 部署MCP服务并与主服务连接

项目亮点

  1. 多模态AI服务集成 - 集成了阿里云Qwen系列大模型
  2. 工具调用机制 - 实现了完整的工具调用与执行流程
  3. MCP协议支持 - 支持通过MCP扩展AI能力
  4. RAG技术应用 - 结合向量数据库实现知识增强
  5. 现代化前后端分离 - Vue 3 + Spring Boot 架构
  6. 完整的对话管理 - 支持多轮对话、历史记录、流式响应

未来规划

  • 增加更多AI工具
  • 完善用户管理系统
  • 增加多语言支持
  • 优化RAG检索效果
  • 扩展更多MCP服务
  • 移动端适配

贡献指南

欢迎提交 Issue 和 Pull Request 来帮助项目发展。

许可证

本项目采用 MIT 许可证,详情请见 LICENSE 文件。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors