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