# ai_agent **Repository Path**: a-t-g/ai_agent ## Basic Information - **Project Name**: ai_agent - **Description**: AI智能体+自主规划 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-09-09 - **Last Updated**: 2026-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README AI Agent 基于 Spring AI 框架开发的 AI Agent 项目,实现了多种智能代理模式,包括 ReAct Agent、Tool Call Agent 等,并提供了完整的 RAG(检索增强生成)功能。 ## 项目简介 本项目是一个基于 Spring AI 的智能代理框架,提供了灵活的 AI Agent 实现,支持工具调用、思维推理、记忆管理等核心功能。 ## 技术栈 - **Spring Boot 3.x** - **Spring AI** (阿里云 DashScope 模型) - **Java 17+** - **Maven** - **PostgreSQL + PGVector** (向量数据库) ## 核心模块 ### 1. Agent 核心 (`agent`) | 类 | 说明 | |---|---| | `BaseAgent` | 基础代理抽象类,包含名称、系统提示、状态管理、记忆列表等核心属性 | | `ReActAgent` | 实现 ReAct (Reasoning + Acting) 模式的抽象代理 | | `ToolCallAgent` | 支持工具调用的代理实现 | | `ZapManus` | 具体的 Agent 组件实现 | ### 2. RAG 检索增强 (`rag`) | 组件 | 功能 | |---|---| | `LoveAppDocumentLoader` | 文档加载器,支持加载 Markdown 文档 | | `MyTokenTextSplitter` | 文本分词器 | | `MyKeywordEnricher` | 关键词富化 | | `ReWriteQueryTransformer` | 查询重写转换器 | | `MultiQueryExpanderDemo` | 多查询扩展器 | ### 3. 工具集 (`tools`) | 工具 | 功能 | |---|---| | `FileOperationTool` | 文件读写操作 | | `PDFGenerationTool` | PDF 文件生成 | | `WebSearchTool` | 百度搜索引擎搜索 | | `WebScrapingTool` | 网页内容抓取 | | `ResourceDownloadTool` | 资源下载 | ### 4. 应用示例 (`app`) - **LoveApp**: 情感聊天应用,支持普通对话和 RAG 对话 ## 功能特性 - ✅ ReAct 推理模式 - ✅ 工具自动调用 - ✅ 向量检索 (RAG) - ✅ 多模型支持 (DashScope) - ✅ 记忆管理 - ✅ 查询优化 ## 快速开始 ### 配置 在 `application.yml` 中配置 API Key: ```yaml spring: ai: dashscope: api-key: your-api-key ``` ### 运行 ```bash ./mvnw spring-boot:run ``` ### 访问 - 健康检查: `GET /health/text` ## 项目结构 ``` src/main/java/com/atg/ai_agent/ ├── AiAgentApplication.java # 启动类 ├── advisors/ # 请求拦截器 ├── agent/ # Agent 核心实现 │ ├── BaseAgent.java │ ├── ReActAgent.java │ ├── ToolCallAgent.java │ └── ZapManus.java ├── app/ # 业务应用 │ └── LoveApp.java ├── constant/ # 常量定义 ├── controller/ # 控制器 ├── demo/ # 示例代码 ├── rag/ # RAG 实现 │ ├── config/ │ └── advisor/ └── tools/ # 工具集 ```