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) に保存。
ハイブリッド検索 並列ベクトル検索 (コサイン距離) とキーワード検索。結果は Reciprocal Rank Fusion (RRF) でマージされ、近隣ウィンドウ拡張によって強化されます。
証拠評価 4 段階のスコアリング (NONE → WEAK → PARTIAL → SUFFICIENT)。証拠が不十分な場合、システムは回答を拒否します。
引用とトレーサビリティ すべての回答にソースドキュメント、チャンク ID、関連性スコアが含まれます。
AI Agent Spring AI Alibaba ReactAgent 上に構築。エージェントは検索ツールを呼び出すかどうかを決定し、2 つのモード (CHAT / KB_SEARCH) をサポートし、3 階層で会話履歴を圧縮し、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 (Docker コマンドは README に記載)。
  2. 設定backend/src/main/resources/application-local.yml を編集し、DB 認証情報、MinIO エンドポイント、DashScope API キーを入力します。
  3. バックエンドの起動./mvnw spring-boot:run (デフォルトポート 10001、API ドキュメントは /doc.html)。
  4. フロントエンドの起動npm install && npm run dev (デフォルトポート 5173)。
  5. 自動作成された管理者 (admin / admin123) でログインし、ドキュメントのアップロード、グループの作成、質問を開始します。

ライセンス

MIT – 商用および非商用で無料で利用可能。


上記の情報はすべてリポジトリの README から直接取得したものです。追加機能は推測されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト