RAG-MCP サーバー
RISC Zero の Bonsai ドキュメントを使用してテストできるように設計された、モデル制御プロトコル (MCP) を使用する汎用 Retrieval-Augmented Generation (RAG) サーバー。
概要
このプロジェクトでは、次の機能を備えた RAG サーバーを実装します。
- 標準化された通信にMCP(モデル制御プロトコル)を使用する
- ドキュメントクエリ用のRAG(検索拡張生成)ワークフローを実装します
- RISC ZeroのBonsaiドキュメントでテスト可能
- Ollama によるローカル LLM 統合をサポート
特徴
- ドキュメントの取り込みとインデックス作成
- セマンティック検索機能
- ローカルLLM統合
- MCPプロトコル準拠
- RISC Zero Bonsai ドキュメントサポート
前提条件
- Python 3.12以上
- Ollama(ローカルLLMサポート用)
- 詩(依存関係の管理用)
インストール
- Python の依存関係をインストールします。
- Ollama をインストールして起動します。
# Install Ollama
brew install ollama # for macOS
# or
curl -fsSL https://ollama.com/install.sh | sh # for Linux
# Start Ollama service
ollama serve
- 必要なモデルをプルします。
使用法
- MCP サーバーを起動します。
poetry run python mcp_server.py
- サーバーは次のことを行います。
- LLMと埋め込みモデルを初期化する
- データディレクトリからドキュメントを取り込む
- RAGワークフローを使用してクエリを処理する
- RISC Zero Bonsai ドキュメントでテストします。
- RISC Zero Bonsaiのドキュメントを
data/
ディレクトリに置く - Bonsaiの機能と実装についてサーバーに問い合わせる
プロジェクト構造
mcp_server.py
: メインサーバーの実装rag.py
: RAG ワークフロー実装data/
: ドキュメント取り込み用のディレクトリstorage/
: ベクトルストアとドキュメントストレージstart_ollama.sh
: Ollama サービスを起動するスクリプト
RISC Zero Bonsaiを使ったテスト
サーバーはRISC ZeroのBonsaiドキュメントと連携するように設定されています。以下のことが可能です。
- Bonsaiドキュメントを
data/
ディレクトリに追加する - Bonsaiの機能、実装の詳細、使用方法に関する問い合わせ
- Bonsai特有の質問でRAGワークフローをテストする