mcpField
R
Rag chatbot with a localhost MCP server

Rag chatbot with a localhost MCP server

ローカル
github.com/ImVirtueAI・エージェント780 週間前に更新

Rag chatbot with a localhost MCP server について

アップロードした PDF を基に職場の規則に回答する、RAG ベースの HR チャットボットです。ドキュメント検索、Streamlit のチャット画面、GPT-4 による回答生成を組み合わせています。

主な機能

  1. 01PDF のアップロードと解析
  2. 02テキストのチャンク分割
  3. 03メモリ内でのドキュメント索引
  4. 04類似度による関連箇所の検索
  5. 05GPT-4 による回答生成
  6. 06Streamlit チャット画面

活用シーン

  1. 01アップロードした職場規則の PDF に質問
  2. 02索引済みドキュメントから関連箇所を検索

MCP 対応

ローカル MCP サーバーがドキュメントの索引作成、検索、回答生成のツールを連携させます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

localhost MCP サーバーを使用した RAG チャットボット

関数呼び出しのハブとして localhost MCP サーバー を使用し、職場の規則を提供する RAG ベースの人事チャットボットを構築します。 README の画像 README の画像

概要

このプロジェクトでは、Streamlit と MCP サーバーを使用した検索拡張生成(RAG)チャットボットを実装します。ユーザーは PDF ファイルをアップロードでき、チャットボットは PDF から関連情報を取得して、自然言語での質問に回答します。このシステムは、OpenAI のモデル、LangChain のユーティリティ、インメモリのベクトルストアを活用し、効率的なドキュメント検索を実現します。

特徴

  • MCP ツールの統合:
    MCP によるツールのオーケストレーションにより、ドキュメントのインデックス作成、検索、回答生成の間でスムーズな通信を実現します。バックエンドのツールは、新しい機能の追加に合わせて簡単に拡張または置き換えられます。

  • PDF のアップロードと解析:
    PDF ファイルをアップロードすると、PDFPlumberLoader を使用して解析し、テキストを抽出します。

  • テキストの分割:
    抽出したテキストを RecursiveCharacterTextSplitter で小さなチャンクに分割し、効率的なインデックス作成と検索を可能にします。

  • ドキュメントのインデックス作成:
    OpenAIEmbeddings で生成した埋め込みを使用して、チャンクをインメモリのベクトルストアにインデックス化します。

  • 類似度検索(コサイン類似度):
    ユーザーがクエリを送信すると、チャットボットはクエリに基づいて類似度検索を実行し、最も関連性の高いドキュメントのチャンクを取得します。

  • プロンプトベースの回答生成:
    カスタムのプロンプトテンプレートでユーザーの質問と取得したコンテキストを組み合わせ、GPT-4 を搭載した LLM(ChatOpenAI を使用)が最終的な回答を生成します。

  • インタラクティブなインターフェース:
    Streamlit を使用し、ユーザーの質問とボットの回答を表示する、チャット形式のインタラクティブなインターフェースを提供します。

結果

README の画像

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。