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 vector extension.

谁可能会使用它?

  • 企业 – 需要一个私有、可搜索的知识库 (例如内部手册、合规文档),同时避免 LLM 幻觉。
  • 产品团队 – 构建必须引用来源资料的 AI 增强支持门户。
  • 开发者 – 寻找具备混合检索、证据评分和代理驱动聊天界面的完整 RAG 技术栈参考实现。

快速开始 (摘要)

  1. 运行中间件 – PostgreSQL + pgvector, Elasticsearch + IK plugin, MinIO (README 中提供了 Docker 命令)。
  2. 配置 – 编辑 backend/src/main/resources/application-local.yml,填入数据库凭据、MinIO 端点和您的 DashScope API 密钥。
  3. 启动后端./mvnw spring-boot:run (默认端口 10001,API 文档位于 /doc.html)。
  4. 启动前端npm install && npm run dev (默认端口 5173)。
  5. 使用自动创建的管理员账号 (admin / admin123) 登录,并开始上传文档、创建群组和提出问题。

许可证

MIT – 免费用于商业和非商业用途。


以上所有信息均直接取自仓库的 README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目