From 0671ad8babdce1fb01cab460d75391bbb58d8db0 Mon Sep 17 00:00:00 2001 From: zhuyongxin Date: Thu, 30 Apr 2026 11:16:12 +0800 Subject: [PATCH] first commit --- README.md | 195 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..3db3ff3 --- /dev/null +++ b/README.md @@ -0,0 +1,195 @@ +# SuperBizAgent + +> 基于 Spring Boot + AI Agent 的智能问答与运维系统 + +## 📖 项目简介 + +企业级智能业务代理系统,包含两大核心模块: + +### 1. RAG 智能问答 +集成 Milvus 向量数据库和阿里云 DashScope,提供基于检索增强生成的智能问答能力,支持多轮对话和流式输出。 + +### 2. AIOps 智能运维 +基于 AI Agent 的自动化运维系统,采用 Planner-Executor-Replanner 架构,实现告警分析、日志查询、智能诊断和报告生成。 + +## 🚀 核心特性 + +- ✅ **RAG 问答**: 向量检索 + 多轮对话 + 流式输出 +- ✅ **AIOps 运维**: 智能诊断 + 多 Agent 协作 + 自动报告 +- ✅ **工具集成**: 文档检索、告警查询、日志分析、时间工具 +- ✅ **会话管理**: 上下文维护、历史管理、自动清理 +- ✅ **Web 界面**: 提供测试界面和 RESTful API + + +## 🛠️ 技术栈 + +| 技术 | 版本 | 说明 | +|------|------|------| +| Java | 17 | 开发语言 | +| Spring Boot | 3.2.0 | 应用框架 | +| Spring AI | - | AI Agent 框架 | +| DashScope | 2.17.0 | 阿里云 AI 服务 | +| Milvus | 2.6.10 | 向量数据库 | + +## 📦 核心模块 + +``` +SuperBizAgent/ +├── src/main/java/org/example/ +│ ├── controller/ +│ │ └── ChatController.java # 统一接口控制器 ⭐ +│ ├── service/ +│ │ ├── ChatService.java # 对话服务 ⭐ +│ │ ├── AiOpsService.java # AIOps 服务 ⭐ +│ │ ├── RagService.java # RAG 服务 +│ │ └── Vector*.java # 向量服务 +│ ├── agent/tool/ # Agent 工具集 +│ │ ├── DateTimeTools.java # 时间工具 +│ │ ├── InternalDocsTools.java # 文档检索 +│ │ ├── QueryMetricsTools.java # 告警查询 +│ │ └── QueryLogsTools.java # 日志查询 +│ └── config/ # 配置类 +├── src/main/resources/ +│ ├── static/ # Web 界面 +│ └── application.yml # 应用配置 +└── aiops-docs/ # 运维文档库 +``` + + +## 📡 核心接口 + +### 1. 智能问答接口 + +**流式对话(推荐)** +```bash +POST /api/chat_stream +Content-Type: application/json + +{ + "Id": "session-123", + "Question": "什么是向量数据库?" +} +``` +支持 SSE 流式输出、自动工具调用、多轮对话。 + +**普通对话** +```bash +POST /api/chat +Content-Type: application/json + +{ + "Id": "session-123", + "Question": "什么是向量数据库?" +} +``` +一次性返回完整结果,支持工具调用和多轮对话。 + +### 2. AIOps 智能运维接口 + +```bash +POST /api/ai_ops +``` +自动执行告警分析流程,生成运维报告(SSE 流式输出)。 + +### 3. 会话管理 + +- `POST /api/chat/clear` - 清空会话历史 +- `GET /api/chat/session/{sessionId}` - 获取会话信息 + +### 4. 文件管理 + +- `POST /api/upload` - 上传文件并自动向量化 +- `GET /milvus/health` - Milvus 健康检查 + + +## ⚙️ 核心配置 + +### application.yml + +```yaml +server: + port: 9900 + +# Milvus 向量数据库 +milvus: + host: localhost + port: 19530 + +# 阿里云 DashScope +spring: + ai: + dashscope: + api-key: "${DASHSCOPE_API_KEY}" // 环境变量 + +# RAG 配置 +rag: + top-k: 3 + model: "qwen3-max" + +# 文档分片 +document: + chunk: + max-size: 800 + overlap: 100 +``` + +### 环境变量 + +```bash +export DASHSCOPE_API_KEY=your-api-key +``` + + +## 🚀 快速开始 + +### 1. 环境准备 + +```bash +# 设置 API Key +export DASHSCOPE_API_KEY=your-api-key +``` + +### 2. 启动应用 + +方法一: 手动启动 +```bash +1.先启动向量数据库 +docker compose up -d -f vector-database.yml + +2.启动服务 +mvn clean install +mvn spring-boot:run +``` + +方法二:一键启动 +```bash +make init # 会自动启动向量数据库并上传运维文档到向量库 +``` + + +### 3. 使用示例 + +**Web 界面** +``` +http://localhost:9900 +``` + +**命令行** +```bash +# 上传文档 +curl -X POST http://localhost:9900/api/upload \ + -F "file=@document.txt" + +# 智能问答 +curl -X POST http://localhost:9900/api/chat \ + -H "Content-Type: application/json" \ + -d '{"Id":"test","Question":"什么是向量数据库?"}' + +# 健康检查 +curl http://localhost:9900/milvus/health +``` + + +**版本**: v1.0.0 +**作者**: chief +**许可证**: MIT