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;未推斷任何額外功能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案