# ai-agent **Repository Path**: crytasl/ai-agent ## Basic Information - **Project Name**: ai-agent - **Description**: 负责企业级 AI 智能体系统研发,构建具备自主决策与工具调用能力的智能咨询平台。系统基于 RAG 架构实现知识增强问答,支持多轮对话、个性化推荐与复杂任务自动规划,可完成约会地点推荐、行程规划及 PDF 报告生成等完整业务流程。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-23 - **Last Updated**: 2026-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Agent 基于 Spring AI 开发的智能 AI Agent 应用,支持工具调用、RAG(检索增强生成)、MCP(模型上下文协议)等多种功能。 ## 项目简介 本项目是一个功能强大的 AI Agent 框架,采用 ReAct(Reasoning + Acting)模式实现智能代理。支持多种 AI 模型接入(包括阿里云 DashScope、Ollama 等),提供完整的工具调用机制、对话记忆管理、RAG 检索增强等功能。 ## 技术栈 - **框架**: Spring Boot 3.x - **AI 框架**: Spring AI - **AI 模型**: 阿里云 DashScope (通义千问)、Ollama - **向量数据库**: PostgreSQL + pgvector - **文档处理**: Apache POI、PDFBox - **其他**: SSE (Server-Sent Events)、MCP 协议 ## 核心模块 ### Agent 模块 - **BaseAgent**: 代理基类,提供代理的核心功能抽象 - **ReActAgent**: 实现 ReAct 推理模式的代理 - **ToolCallAgent**: 支持工具调用的代理实现 - **Manus**: 完整的 AI 代理实现,支持多轮对话和工具使用 ### Advisor 模块 - **MyLoggerAdvisor**: 请求响应日志记录 - **ProhibitedWordAdvisor**: 敏感词过滤 - **ReReadingAdvisor**: 重新阅读机制,提升回答质量 ### 工具模块 (Tools) | 工具 | 功能 | |------|------| | FileOperationTool | 文件读写操作 | | PDFGenerationTool | PDF 文档生成 | | ResourceDownloadTool | 资源文件下载 | | TerminalOperationTool | 终端命令执行 | | WebScrapingTool | 网页内容抓取 | | WebSearchTool | 搜索引擎查询 | | TerminateTool | 终止对话 | ### RAG 模块 - **LoveAppDocumentLoader**: 文档加载器(支持 Markdown、Excel) - **MyTokenTextSplitter**: 文本分块处理 - **MyKeywordEnricher**: 关键词 enrichment - **QueryRewriter**: 查询改写 - **LoveAppVectorStoreConfig**: 向量存储配置 ### MCP 服务 - **image-search-mcp-server**: 图片搜索 MCP 服务器 ## 快速开始 ### 环境要求 - JDK 17+ - Maven 3.8+ - PostgreSQL 15+ (启用 pgvector 扩展) ### 配置说明 在 `application.yml` 中配置必要的 API Key: ```yaml spring: ai: dashscope: api-key: your-api-key search-api: api-key: your-search-api-key ``` ### 构建运行 ```bash # 打包项目 mvn clean package # 运行主应用 mvn spring-boot:run -pl . # 运行 MCP 服务器 cd image-search-mcp-server mvn spring-boot:run ``` ## API 接口 ### Love App 对话 ``` GET /ai/love_app/chat/sync?message=你好&chatId=123 GET /ai/love_app/chat/sse?message=你好&chatId=123 ``` ### Manus 代理 ``` GET /ai/manus/chat?message=帮我搜索今天的新闻 ``` ### 健康检查 ``` GET /health ``` ## 项目结构 ``` ai-agent/ ├── src/main/java/com/fox/aiagent/ │ ├── agent/ # Agent 核心实现 │ ├── advisor/ # 请求拦截器 │ ├── tools/ # 工具集 │ ├── rag/ # RAG 检索增强 │ ├── app/ # 业务应用 │ ├── controller/ # 控制器 │ ├── chatmemory/ # 对话记忆 │ └── config/ # 配置类 ├── image-search-mcp-server/ # MCP 服务器 └── pom.xml ``` ## 功能特性 - ✅ ReAct 推理模式 - ✅ 工具自动调用 - ✅ RAG 检索增强 - ✅ SSE 流式输出 - ✅ MCP 协议支持 - ✅ 文件对话记忆 - ✅ 敏感词过滤 - ✅ PDF 生成 ## 许可证 本项目仅供学习研究使用。