nageoffer/ragent
企业级 Agentic RAG 智能体 - 全链路覆盖文档解析、多路检索、意图识别、问题重写、会话记忆、MCP 工具调用与深度思考。面向真实业务场景,从 0 到 1 完整工程实现。
Ragent AI – Agentic RAG のための本番運用可能な Java プラットフォーム
これは何か
- Java を中心としたエンドツーエンドのフレームワークで、検索拡張生成(RAG)および エージェント型 AI アプリケーションを構築できます。文書の取り込みから質問への回答、外部ツールの呼び出し、会話メモリの管理まで、すべてをカバーします。
主な機能
| 領域 | Ragent が提供するもの |
|---|---|
| ハイブリッド検索 | ベクトルストア、キーワードインデックス、ナレッジグラフ、ライブ Web 検索から並列に想起します。重複排除、RRF 融合、再ランキングをサポートします。 |
| クエリ理解 | クエリ用語マッピング、質問の書き換えと分割、ツリー構造のインテント検出、複数のナレッジベース間のルーティング。 |
| モデル処理 | モデル階層化、初回パケット遅延検出、サーキットブレーカーフォールバック、マルチモデルルーティング。 |
| セッションメモリ | 直近 N ターンのキャッシュ + 永続化サマリーにより、コンテキストを保持しつつ token 使用量を制御します。 |
| トラフィック保護 | Redis ベースの公平キューと分散並行性制限により、急増がモデルサービスを圧倒するのを防ぎます。 |
| ナレッジループ | プラグ可能な取り込みパイプライン、リモート更新、回答の出所、ユーザーフィードバック、トレーシング、管理 UI。 |
アーキテクチャ
- 7 つの Maven モジュールが関心事を分離します:インフラストラクチャ AI クライアント、システムサービス、RAG コア、Agent エンジン、bootstrap、共有フレームワークユーティリティ、およびサンプル MCP(Model‑Centered‑Programming)ツールサーバー。
- この設計は AI ベンダー固有の事項、ストレージバックエンド、検索戦略を分離するため、メインワークフローを書き換えずにコンポーネントを交換できます。
エージェント型ワークフロー(v2)
- ReAct スタイルのループを使用し、LLM が知識を検索するか、MCP ツールを呼び出すか、カスタム Skills を実行するかを決定できます。
- メモリは 3 つのレベル(短期、永続化サマリー、長期)で管理され、書き込みアクションに対して human‑in‑the‑loop 確認を含めることができます。
本番向け機能
- Redis 公平キュー、Lua ベースのアトミックなレート制限。
- 遅延チェックと三状態サーキットブレーカーを備えたマルチ候補モデルルーティング。
- グレースフルデグラデーションを備えた並列マルチチャネル検索。
- トランザクション対応 RocketMQ メッセージ、冪等性、リモート更新用の分散ロック。
- 完全なトレーシング(run/node のタイミング、入力/出力)と任意の Langfuse 統合。
- キャンセル対応の SSE ストリーミング、markdown レンダリング、出所引用、フィードバック UI。
- Sa‑Token によるセキュリティ、リクエストスロットリング、パラメータ検証。
開発者体験
- React フロントエンドは、ユーザーチャット UI(モデルの思考、ツール呼び出し、引用を表示)と、ナレッジベース、インテントツリー、パイプライン、ユーザー、システム設定を管理する管理コンソールの両方を提供します。
- 古典的なデザインパターン(Strategy、Factory、Template Method、Chain of Responsibility など)を多用しているため、Java エンジニアにとってコードベースが親しみやすくなっています。
- ドキュメント、オンラインデモ、クイックスタートガイドがプロジェクトサイトで提供されています。
誰が見るべきか?
- Python に移行せずに AI 機能を追加したい Java バックエンド開発者。
- RAG/Agent の知識が期待される面接を準備しているエンジニア。
- 堅牢なルーティング、メモリ、ツール統合を必要とするエンタープライズ級 AI アシスタントを構築するチーム。
まとめ Ragent は、Agentic RAG に焦点を当てた、真に本番志向のオープンソース Java AI プラットフォームです。おもちゃのデモをはるかに超え、完全で拡張可能なスタックと、実世界のデプロイに必要な多くの運用上のセーフガードを提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト