SaiAkhil066/CORTEX-AI-SUPER-RAG
CORTEX RAG is an enterprise retrieval and knowledge assistant that helps teams find accurate answers from company data with citations, permission-aware retrieval, and fast deployment
Cortex AI SUPER RAG – これは何か
Cortex RAG は、ローカルでオープンソースの検索拡張生成(RAG)システムであり、PDF、Word ファイル、またはプレーンテキストドキュメントをアップロードし、それらについて自然言語で質問できます。すべての処理は Ollama を介して自分のマシン上で行われます(クラウド API キーは不要)。アプリは、各回答がどのドキュメントのどのページから来たかを正確に表示します。
コアアイデアと仕組み
- ドキュメントの取り込み – ファイルは、元のファイル名とページ番号を保持するチャンクに分割されます。オプションで、各チャンクに短い「状況説明」文が追加されます(コンテキスト検索)。
- ハイブリッド検索 – 各クエリに対して、システムは BM25 キーワード検索と FAISS ベクトル検索(
nomic‑embed‑textを使用)を実行します。各検索の上位 20 件の結果は、Reciprocal Rank Fusion でマージされます。 - オプションの拡張 –
- フォローアップの書き換えは、チャット履歴の断片を完全な質問に変換します。
- ソースルーティングは、クエリにファイル名が含まれるファイルに検索を制限します。
- GraphRAG は、軽量なエンティティ共起グラフを構築し、関連するパッセージを引き込みます。
- ニューラル再ランカー(クロスエンコーダ
ms‑marco‑MiniLM‑L‑6‑v2)は、約 40 の候補を再順序付けします。 - 修正 RAG(CRAG) は、LLM が無関係と思われるパッセージを削除できるようにします。
- HyDE / RAG‑Fusion は、仮説的な回答または複数の言い換えを生成して検索を広げます。
- 回答生成 – 選択された LLM(デフォルトは Ollama の
llama3.1:8b)が最終的なパッセージセットを受け取り、プロンプトを構築し、回答をストリーミングし、file.pdf · p.12のような引用を追加します。 - 評価ハーネス – 組み込みツールは、さまざまなパイプライン構成に対して一連の質問を実行し、ヒット率、MRR、正確性、忠実性を報告できます(例:リポジトリに含まれる FinanceBench ベンチマーク)。
すぐに使える機能
- 引用付きのソースに基づく回答(ページ番号付き)。
- 永続化された知識ベースは
indexes/<name>/の下に保存され、再起動後も保持されます。 - サイドバー UI で各テクニックのオン/オフを切り替え、インストールされている Ollama モデルを切り替えます。
- タイミングパネルは、特定のクエリに対して各段階にかかった時間を表示します。
- 組み込み評価で、各コンポーネントが自分のドキュメントに与える影響を測定できます。
誰に役立つか
- アナリスト、弁護士、研究者で、データをサードパーティサービスに送信せずに大量の PDF/Word ドキュメントを検索する必要がある人。
- 開発者で、拡張可能な既製の RAG パイプラインを求めている人(コードは
utils/とeval/にあります)。 - チームで、プライベートデータ上でハイブリッド検索、再ランキング、GraphRAG などをベンチマークするためのリファレンス実装を探している人。
覚えておくべき制限
- シングルユーザー、認証なし – 公開するのは安全ではありません。
- OCR なし – スキャンされた PDF は無視されます。
- テーブルはプレーンテキストに平坦化されるため、財務諸表のクエリに悪影響を与える可能性があります。
- 8B LLM では算術が弱い。モデルは幻覚を起こすよりも拒否するかもしれません。
- 速度はさまざま:基本的なハイブリッド検索は 1 秒未満ですが、HyDE、RAG‑Fusion、または CRAG を有効にすると、応答時間が数十秒になることがあります。
はじめに(簡単なまとめ)
# clone & install
git clone https://github.com/SaiAkhil066/CORTEX-AI-SUPER-RAG.git
cd CORTEX-AI-SUPER-RAG
pip install -r requirements.txt
# pull models via Ollama
ollama pull llama3.1:8b
ollama pull nomic-embed-text
# run the Streamlit UI
python -m streamlit run app.py # → http://localhost:8501
提供されている Docker compose セットアップも使用できます。これはホスト上で Ollama を実行し、アプリをコンテナ内で実行します。
次に見る場所
utils/– コアパイプラインコード(retriever_pipeline.py、advanced_rag.py、build_graph.py)。eval/– FinanceBench または独自のゴールデンセット評価を実行するためのスクリプト。app.py– Streamlit フロントエンド、モデルセレクター、コンポーネントを切り替えるサイドバー。- 貢献 – PR の前に
pytestを実行してください。検索の変更については、前後の評価数値を含めてください。
上記の詳細はすべてリポジトリの README から直接引用したものです。
関連
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト