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
vectorextension.
利用想定
- 企業 – LLM のハルシネーションを回避しつつ、プライベートで検索可能なナレッジベース (例: 社内マニュアル、コンプライアンス文書) を必要とする企業。
- 製品チーム – ソース資料を引用する必要がある AI 拡張サポートポータルを構築するチーム。
- 開発者 – ハイブリッド検索、証拠スコアリング、エージェント駆動のチャットインターフェースを備えた完全な RAG スタックのリファレンス実装を探す開発者。
クイックスタート (概要)
- ミドルウェアの実行 – PostgreSQL + pgvector, Elasticsearch + IK plugin, MinIO (Docker コマンドは README に記載)。
- 設定 –
backend/src/main/resources/application-local.ymlを編集し、DB 認証情報、MinIO エンドポイント、DashScope API キーを入力します。 - バックエンドの起動 –
./mvnw spring-boot:run(デフォルトポート 10001、API ドキュメントは/doc.html)。 - フロントエンドの起動 –
npm install && npm run dev(デフォルトポート 5173)。 - 自動作成された管理者 (
admin / admin123) でログインし、ドキュメントのアップロード、グループの作成、質問を開始します。
ライセンス
MIT – 商用および非商用で無料で利用可能。
上記の情報はすべてリポジトリの README から直接取得したものです。追加機能は推測されていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト