# aicrm **Repository Path**: worksmart/aicrm ## Basic Information - **Project Name**: aicrm - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-03-04 - **Last Updated**: 2026-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AICRM - AI驱动的客户关系管理系统 ## 介绍 AICRM是一个基于Spring AI框架构建的智能客户关系管理系统,集成先进的AI Agent技术,为企业提供智能化的客户服务、销售支持和数据分析能力。 系统采用模块化设计,支持多种AI模型(包括阿里云Qwen系列、OpenAI GPT系列及自部署模型),通过Function Calling机制实现工具调用和数据库查询,结合RAG(检索增强生成)技术构建企业知识库助手。 ## 软件架构 ### 技术栈 | 层次 | 技术选型 | |------|----------| | 后端框架 | Spring Boot 3.x | | AI框架 | Spring AI 1.0 | | 数据库 | MySQL 8.0 + JPA | | 向量数据库 | Simple Vector Store / Chroma / Milvus | | API风格 | RESTful + Server-Sent Events(SSE) | ### 核心模块 ``` src/main/java/com/ai/aicrm/ ├── agent/ # AI Agent核心模块 │ ├── AgentService.java # 普通对话Agent │ ├── ReActAgentService.java # ReAct模式Agent │ ├── ChatMemoryService.java # 对话记忆管理 │ ├── QueryHistoryService.java # 查询历史管理 │ ├── multi/ # 多Agent协作系统 │ │ ├── AgentOrchestrator.java # Agent编排器 │ │ ├── SalesAgent.java # 销售Agent │ │ └── ServiceAgent.java # 客服Agent │ └── tools/ # 工具类 │ ├── WeatherTool.java # 天气查询 │ ├── CalculatorTool.java # 计算器 │ ├── DateTimeTool.java # 日期时间 │ ├── OrderQueryTool.java # 订单查询 │ ├── KnowledgeSearchTool.java # 知识库搜索 │ ├── SmartQueryTool.java # 智能查询 │ └── LLMSQLTool.java # LLM生成SQL ├── controller/ # REST API控制器 ├── entity/ # JPA实体类 ├── repository/ # 数据访问层 ├── rag/ # RAG知识库模块 └── dto/ # 数据传输对象 ``` ## 主要功能 ### 1. 智能对话Agent | 模式 | 说明 | 适用场景 | |------|------|----------| | 普通对话 | 单轮或带记忆的对话 | 简单问答、闲聊 | | ReAct模式 | 自主循环推理和工具调用 | 复杂任务、多步查询 | ### 2. 多Agent协作系统 - **销售Agent**:订单查询、销售建议、客户分析 - **客服Agent**:基于知识库的智能问答、FAQ处理 ### 3. 数据库智能查询 - 自然语言转SQL - 支持JOIN、聚合查询 - 查询历史与模式分析 ### 4. RAG知识库系统 - PDF/文本文档上传 - 向量化存储与检索 - 检索增强生成 ### 5. 内置工具集 | 工具 | 功能 | |------|------| | WeatherTool | 天气查询 | | CalculatorTool | 数学计算 | | DateTimeTool | 获取当前时间 | | OrderQueryTool | 订单信息查询 | | KnowledgeSearchTool | 知识库检索 | | SmartQueryTool | 自然语言数据库查询 | | LLMSQLTool | AI生成SQL执行查询 | ## 快速开始 ### 环境要求 - JDK 17+ - Maven 3.6+ - MySQL 8.0+ - 可选:Docker(用于向量数据库) ### 编译项目 ```bash mvn clean install ``` ### 配置应用 修改 `src/main/resources/application.properties`: ```properties # 应用服务端口 server.port=8080 # 数据库配置 spring.datasource.url=jdbc:mysql://localhost:3306/aicrm spring.datasource.username=root spring.datasource.password=yourpassword # AI模型配置(阿里云Qwen示例) spring.ai.dashscope.api-key=your-api-key spring.ai.dashscope.chat.options.model=qwen-turbo # 向量数据库配置(开发环境使用Simple Vector Store) spring.ai.vectorstore.simple.path=vectorstore.json spring.ai.vectorstore.simple.dimension=1536 ``` ### 启动应用 ```bash mvn spring-boot:run ``` ## API接口 ### Agent对话 | 接口 | 方法 | 说明 | |------|------|------| | `/agent/react` | POST | ReAct模式对话 | | `/agent/chat` | POST | 普通对话 | | `/agent/chat/stream` | POST | 流式对话 | | `/agent/chat/once` | POST | 单轮对话(无记忆) | **请求示例**: ```json { "sessionId": "user123", "message": "查询最近的三笔订单" } ``` ### 会话管理 | 接口 | 方法 | 说明 | |------|------|------| | `/agent/session/{sessionId}/history` | GET | 获取会话历史 | | `/agent/session/{sessionId}` | DELETE | 清除会话 | | `/agent/session/{sessionId}/stats` | GET | 会话统计 | ### 数据库查询 | 接口 | 方法 | 说明 | |------|------|------| | `/agent/query-stats` | GET | 查询统计 | | `/agent/popular-queries` | GET | 热门查询 | ### 文档管理 | 接口 | 方法 | 说明 | |------|------|------| | `/documents/upload/pdf` | POST | 上传PDF文档 | | `/documents/upload/text` | POST | 上传文本 | | `/documents/search` | POST | 搜索知识库 | ### 多Agent协作 | 接口 | 方法 | 说明 | |------|------|------| | `/multi-agent/route` | POST | Agent路由 | | `/multi-agent/collaborate` | POST | Agent协作 | ### 健康检查 | 接口 | 方法 | 说明 | |------|------|------| | `/agent/health` | GET | Agent服务健康 | | `/multi-agent/health` | GET | 多Agent服务健康 | ## 文档索引 | 文档 | 内容 | |------|------| | [AGENT_USAGE.md](./AGENT_USAGE.md) | Spring AI Agent 使用指南 | | [REACT_AGENT_USAGE.md](./REACT_AGENT_USAGE.md) | ReAct Agent 使用指南 | | [DATABASE_AGENT_GUIDE.md](./DATABASE_AGENT_GUIDE.md) | 数据库查询Agent使用指南 | | [RAG_QUICK_START.md](./RAG_QUICK_START.md) | RAG功能快速开始 | | [RAG_IMPLEMENTATION_GUIDE.md](./RAG_IMPLEMENTATION_GUIDE.md) | RAG功能实现指南 | | [VECTOR_DATABASE_CONFIGURATION.md](./VECTOR_DATABASE_CONFIGURATION.md) | 向量数据库配置指南 | | [SELF_HOSTED_MODEL_CONFIG.md](./SELF_HOSTED_MODEL_CONFIG.md) | 自部署模型配置指南 | | [MODEL_SELECTION_GUIDE.md](./MODEL_SELECTION_GUIDE.md) | Agent模型选择与优化指南 | | [FIX_COMPILATION.md](./FIX_COMPILATION.md) | 修复编译错误指南 | ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 许可证 本项目采用 MIT 许可证开源。