DevYangJC/Argus
🌱 Argus 是一个基于 RAG 架构的开源知识库平台,后端采用 Java 21 + Spring Boot + MyBatis-Plus + PostgreSQL/pgvector,前端采用 Vue 3 + TypeScript + Element Plus,AI 层基于 Spring AI Alibaba(通义千问)+ ReactAgent 图引擎,以 MinIO + Elasticsearch 为存储与检索引擎。
Argus – 企业级 RAG 知识库平台
这是什么 – Argus 是一个自托管、端到端的系统,让企业能够导入私有文档,将其转换为可搜索的嵌入向量和关键字索引,然后使用大型语言模型 (LLM) 回答用户问题,并强制要求引用真实的来源资料。它将 RAG (检索增强生成) 管道 与能够在纯聊天和知识库搜索之间切换的 AI-Agent 结合,全部封装在 Spring Boot + Vue 的 Web UI 中。
核心功能
| 功能 | 运作方式 |
|---|---|
| 文档导入 | 多格式 (PDF, DOCX, MD, TXT) → 异步 ETL 管道 (解析 → 清理 → 切片 → 嵌入) → 存储于 PostgreSQL + pgvector (HNSW) 和 Elasticsearch (IK + BM25)。 |
| 混合检索 | 并行向量搜索 (余弦距离) 和关键字搜索;结果通过 倒数排名融合 (RRF) 合并,并通过邻近窗口扩展进行丰富。 |
| 证据评估 | 四级评分 (NONE → WEAK → PARTIAL → SUFFICIENT)。若证据不足,系统将拒绝回答。 |
| 引用与可追溯性 | 每个答案都包含来源文档、区块 ID 和相关性分数。 |
| AI Agent | 构建于 Spring AI Alibaba ReactAgent。代理决定是否调用检索工具,支持两种模式 (CHAT / KB_SEARCH),分三层压缩对话历史记录,并通过 SSE 流式传输响应。 |
| 企业安全 | 基于角色的访问 (Admin / Owner / Manager / Member),JWT access + refresh 令牌,BCrypt 密码哈希,组级数据隔离,AOP 审计日志。 |
| 协作 | 具有邀请码的群组、审批工作流程、针对文档和知识库操作的细粒度权限。 |
架构快照
Frontend (Vue 3 + Element Plus) → API Gateway (JWT filter) →
├─ Auth / User / Group services
├─ Document service (MinIO storage) → Ingestion pipeline →
│ ├─ PostgreSQL + pgvector (vector index)
│ └─ Elasticsearch (keyword index)
├─ QA service (LLM query planning, hybrid RRF retrieval, evidence eval)
└─ Assistant service (ReactAgent, short‑term memory, SSE)
LLM & embeddings are provided by Alibaba DashScope (Chat + text‑embedding‑v3).
技术栈 (如仓库中所列)
- 后端: Java 21, Spring Boot 3.5, MyBatis-Plus, PostgreSQL 16 + pgvector, Elasticsearch 8.x (IK analyzer), MinIO (S3-compatible), Spring AI Alibaba (Chat & Agent), JJWT, BCrypt, Apache PDFBox / POI.
- 前端: Vue 3 (Composition API), TypeScript, Vite, Pinia, Element Plus, Axios.
- 基础设施: Docker-run Elasticsearch, MinIO; PostgreSQL with
vectorextension.
谁可能会使用它?
- 企业 – 需要一个私有、可搜索的知识库 (例如内部手册、合规文档),同时避免 LLM 幻觉。
- 产品团队 – 构建必须引用来源资料的 AI 增强支持门户。
- 开发者 – 寻找具备混合检索、证据评分和代理驱动聊天界面的完整 RAG 技术栈参考实现。
快速开始 (摘要)
- 运行中间件 – PostgreSQL + pgvector, Elasticsearch + IK plugin, MinIO (README 中提供了 Docker 命令)。
- 配置 – 编辑
backend/src/main/resources/application-local.yml,填入数据库凭据、MinIO 端点和您的 DashScope API 密钥。 - 启动后端 –
./mvnw spring-boot:run(默认端口 10001,API 文档位于/doc.html)。 - 启动前端 –
npm install && npm run dev(默认端口 5173)。 - 使用自动创建的管理员账号 (
admin / admin123) 登录,并开始上传文档、创建群组和提出问题。
许可证
MIT – 免费用于商业和非商业用途。
以上所有信息均直接取自仓库的 README;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目