Yu-AI-Agent 项目(AI 恋爱大师智能体) · 学习笔记

Yu-AI-Agent 项目(AI 恋爱大师智能体) · 学习笔记

本项目是 AI 超级智能体 项目的 Java 前后端部分,学习自 鱼皮 · 编程导航 的 AI 开发实战课程及开源代码仓库

基于 Spring Boot 3 + Java 21 + Spring AI 构建了 AI 恋爱大师应用与 ReAct 模式自主规划智能体 YuManus。

📸 项目预览

首页 · AI 智能体选择

AI 恋爱大师


AI 超级智能体


📂 项目结构

text 复制代码
yu-ai-agent/                         # 项目根目录
├── yu-ai-agent-frontend/            # Vue3 前端模块
│   ├── src/                         # 前端源码目录
│   ├── package.json                 # 前端依赖配置
│   ├── vite.config.js               # Vite 构建配置
│   └── nginx.conf                   # Nginx 部署配置
└── yu-ai-agent-backend/             # Java 后端项目模块
    ├── pom.xml                      # 父 POM,管理多模块
    ├── Dockerfile                   # Docker 构建文件
    ├── data/                        # README 示例截图
    ├── yu-ai-agent-admin/           # 核心应用模块
    │   └── src/main/
    │       ├── java/com/yuaiagent/
    │       │   ├── advisor/         # 自定义 Advisor(日志、Re-Reading)
    │       │   ├── agent/           # AI 智能体(BaseAgent → ReActAgent → YuManus)
    │       │   ├── chatmemory/      # 文件持久化对话记忆(Kryo 序列化)
    │       │   ├── config/          # 全局配置(CORS、Tool 注册、RAG)
    │       │   ├── constant/        # 常量定义
    │       │   ├── controller/      # REST API 控制器(AI 对话、健康检查)
    │       │   ├── rag/             # RAG 全链路(文档加载/切割/检索/查询增强)
    │       │   ├── service/         # 业务服务(恋爱大师、超级智能体)
    │       │   └── tools/           # 7 种内置工具
    │       └── resources/
    │           ├── application.yml       # 应用配置
    │           ├── application-druid.yml # Druid 数据源配置
    │           ├── document/             # RAG 知识库文档(恋爱问答 - 单身/恋爱/已婚篇)
    │           └── mcp-servers.json      # MCP 服务端连接配置
    └── yu-image-search-mcp-server/  # MCP 图片搜索服务模块
        └── src/main/
            ├── java/.../tools/ImageSearchTool.java
            └── resources/           # SSE / STDIO 双模式配置

✨ 核心功能

1. AI 恋爱大师 (LoveAppService)

  • 多轮对话 :基于 Spring AI ChatClient + 自定义 Advisor 实现连贯会话。
  • 对话记忆持久化 :使用 FileBasedChatMemory + Kryo 序列化,将会话状态落盘。
  • RAG 知识库:加载恋爱领域 Markdown 文档(单身篇/恋爱篇/已婚篇),经文档切割 → PGVector 向量存储 → 查询增强,实现精准知识问答。
  • 结构化输出:支持生成恋爱报告等结构化 JSON 输出。
  • 工具调用 & MCP:可调用内置工具和外部 MCP 服务辅助回答。

2. AI 超级智能体 YuManus (SuperAgentService)

  • ReAct 架构BaseAgent → ToolCallAgent → ReActAgent → YuManus 四层继承体系,实现"思考 → 行动 → 观察"闭环。
  • 自主规划:根据用户需求自主推理并调用多种工具,直至完成目标。
  • SSE 流式输出:通过 SSE 实时推送智能体推理过程和结果。

3. 内置工具集

工具 说明
WebSearchTool 联网搜索(SearchAPI)
WebScrapingTool 网页抓取(Jsoup)
FileOperationTool 文件读写操作
ResourceDownloadTool 资源下载
TerminalOperationTool 终端命令执行
PDFGenerationTool PDF 文档生成(iText)
TerminateTool 终止智能体执行

4. MCP 图片搜索服务 (yu-image-search-mcp-server)

  • 独立模块,支持 SSESTDIO 两种通信模式。
  • 提供从特定网站搜索图片的能力,可被主应用或其他 MCP 客户端调用。

🛠️ 技术栈

分类 技术
框架 Spring Boot 3.5 + Java 21
AI 框架 Spring AI 1.0 + Spring AI Alibaba + LangChain4j
大模型 阿里云百炼 DashScope(qwen-plus)/ Ollama 本地模型
向量数据库 PGVector(PostgreSQL 扩展)
数据源 Druid 连接池
API 文档 Knife4j (Swagger)
工具库 Hutool、Jsoup、iText、Kryo
协议 MCP(Model Context Protocol)
部署 Docker / Serverless

🚀 快速开始

1. 环境要求

  • JDK 21+
  • Maven 3.9+
  • PostgreSQL + PGVector 扩展(如使用 RAG/向量存储特性)

2. 配置 API Key

编辑 yu-ai-agent-admin/src/main/resources/application.yml,替换以下配置:

yaml 复制代码
spring:
  ai:
    dashscope:
      api-key: 替换为您的API_KEY  # 阿里云百炼 DashScope

search-api:
  api-key: 替换为您的API_KEY      # SearchAPI 联网搜索

3. 构建 & 运行

bash 复制代码
# 编译打包
mvn clean package -DskipTests

# 启动主应用
java -jar yu-ai-agent-admin/target/yu-ai-agent-admin-0.0.1-SNAPSHOT.jar

# (可选) 启动 MCP 图片搜索服务
java -jar yu-image-search-mcp-server/target/yu-image-search-mcp-server-0.0.1-SNAPSHOT.jar

4. Docker 部署

bash 复制代码
docker build -t yu-ai-agent .
docker run -p 8123:8123 yu-ai-agent

5. 接口文档

启动后访问 Knife4j 接口文档:

复制代码
http://localhost:8123/api/doc.html

📚 学习大纲

本项目覆盖以下核心知识点(对应原课程 9 期内容):

  1. AI 大模型接入 --- API / SDK / Spring AI / Ollama 本地部署
  2. Prompt 工程 --- 提示词优化技巧与模板
  3. Spring AI 核心特性 --- ChatClient、Advisor、ChatMemory、结构化输出
  4. RAG 知识库 --- 文档 ETL → 向量存储 → 检索增强 → 全链路调优
  5. 向量数据库 --- PGVector 集成与配置
  6. Tool Calling --- 工具定义、注册与自动调用
  7. MCP 协议 --- 服务开发、SSE/STDIO 通信、安全实践
  8. AI Agent --- ReAct 模式、自主规划智能体开发
  9. AI 服务化 --- SSE 接口、Serverless 部署

📜 声明

  • 学习用途:本仓库仅用于个人学习与笔记整理,无任何商业用途。
  • 非官方代码:本项目与鱼皮 / 编程导航官方无直接关联,仅参考其公开课程内容进行实践。
  • 欢迎扩展:你可以在此基础上继续扩展自己的 AI Agent 实战项目与实验。
  • 仓库代码

先赞后看,养成习惯!!!^ _ ^ ❤️ ❤️ ❤️
码字不易,大家的支持就是我的坚持下去的动力。点赞后不要忘了关注我哦!

相关推荐
littleM3 分钟前
OpenClaw vs HermesAgent 对比分析系列
人工智能·架构·ai编程
AI医影跨模态组学5 分钟前
Research(IF=10.9)南方医科大学珠江医院汪洋教授等团队:深度学习在脊柱MRI诊断中的应用:AI辅助与人工的多中心对比研究
人工智能·深度学习·论文·医学影像·影像组学
Zldaisy3d10 分钟前
上交大特材所 l 增材制造多层级功能结构综述
人工智能
缝艺智研社13 分钟前
誉财 YC - 16 POLO 衫智能自动钉扣机:POLO 衫钉扣新变革
人工智能·新人首发·自动化缝纫机·线上模板机·无人自动化产线
带电的小王15 分钟前
【动手学深度学习】8.4. 循环神经网络
人工智能·pytorch·rnn·深度学习
yigan_Eins15 分钟前
Transformer|残差连接的技术演进:从CNN到ResNet
人工智能·深度学习·cnn·transformer
噜噜噜阿鲁~15 分钟前
python学习笔记 | 8.2、函数式编程-返回函数
笔记·python·学习
道可云16 分钟前
道可云人工智能&OPC每日资讯|《广东省加快推进人工智能全域全时全行业高水平应用行动方案》发布
人工智能
0xR3lativ1ty18 分钟前
每周AI新工具速览:Kiln与OpenRA-RL登场
人工智能·ai
精益数智工坊20 分钟前
拆解制造业仓库物料管理流程:如何通过标准化仓库物料管理流程解决账实不符难题
大数据·前端·数据库·人工智能·精益工程