mcpField
O
Ollama Pydantic Project

Ollama Pydantic Project

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

Ollama Pydantic Project について

Ollama Pydantic Projectは、ローカルのOllamaモデルとPydanticエージェントを試す開発者向けのサンプルチャットアプリです。Streamlitの画面からMCPツールを利用できます。

主な機能

  1. 01ローカルOllamaモデルの応答
  2. 02Pydanticによるデータ検証
  3. 03Streamlitチャット画面
  4. 04MCPサーバーのツール利用

活用シーン

  1. 01ローカルモデルでのチャットエージェントのテスト
  2. 02Web画面でのエージェントとの対話

MCP 対応

エージェントはMCPサーバーに接続し、提供されるツールを利用します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Ollama Pydantic プロジェクト

Ollama Pydantic Projectへようこそ!このプロジェクトでは、Pydantic エージェントフレームワークとローカルの Ollama モデルを使用して、インテリジェントなエージェントを作成する方法を紹介します。このエージェントは MCP サーバーに接続され、ツールを利用できるほか、Streamlit を使用した使いやすいインターフェースを提供します。

このプロジェクトは、ブログ記事「Building a TypeScript MCP Server: A Guide for Integrating Existing Services」の一部です。ブログにアクセスして、このプロジェクトの背景にあるコンセプトや実装の詳細をご覧ください。

概要

このプロジェクトの主な目的は、次の内容を紹介することです。

  • ローカル Ollama モデルの統合:ローカルでホストされている Ollama モデルを使用して応答を生成します。
  • Pydantic エージェントフレームワーク:データ検証と対話を行うエージェントを Pydantic で作成します。
  • MCP サーバーへの接続:MCP サーバー経由でエージェントがツールを使用できるようにします。
  • Streamlit UI:ユーザーが対話できる、Web ベースのチャットボットインターフェースを提供します。

前提条件

プロジェクトをセットアップする前に、次の項目を確認してください。

  1. Python:Python 3.8 以降をインストールします。python.orgからダウンロードできます。
  2. Ollama モデル:Ollama サーバーをローカルにインストールして実行します。
    • Ollama の公式ウェブサイトから Ollama CLI をダウンロードします。
    • ウェブサイトに記載されている手順に従って CLI をインストールします。
    • Ollama サーバーを起動します。
      ollama serve
      
    • サーバーがhttp://localhost:11434/v1で実行されていることを確認します。
  3. MCP サーバー:エージェントのツールを有効にするため、MCP サーバーをセットアップします。詳しくは、MCP Server Sampleを参照してください。

セットアップ手順

次の手順に従ってプロジェクトをセットアップしてください。

  1. リポジトリをクローンする:

    git clone <repository-url>
    cd ollama-pydantic-project
    
  2. 仮想環境を作成する:

    python3 -m venv venv
    
  3. 仮想環境を有効にする:

    • macOS/Linux の場合:
      source venv/bin/activate
      
    • Windows の場合:
      venv\Scripts\activate
      
  4. 依存関係をインストールする:

    pip install -r requirements.txt
    
  5. Ollama サーバーが実行中であることを確認する: 前提条件で説明したとおりに Ollama サーバーを起動します。

  6. アプリケーションを実行する: Streamlit アプリケーションを起動します。

    streamlit run src/streamlit_app.py
    

使用方法

アプリケーションが実行されたら、表示された URL(通常はhttp://localhost:8501)をブラウザーで開きます。入力ボックスに質問を入力すると、チャットボットと対話できます。エージェントは Ollama モデルと MCP サーバーが提供するツールを使用して、質問を処理します。

対話例

以下は、エージェントと対話した際のチャットボットインターフェースの例です。

チャットボットの例

プロジェクト構成

プロジェクトは次のように構成されています。

ollama-pydantic-project/
├── src/
│   ├── streamlit_app.py        # Main Streamlit application
│   ├── agents/
│   │   ├── base_agent.py       # Abstract base class for agents
│   │   ├── ollama_agent.py     # Implementation of the Ollama agent
│   ├── utils/
│       ├── config.py           # Configuration settings
│       ├── logger.py           # Logger utility
├── requirements.txt            # Python dependencies
├── README.md                   # Project documentation
├── assets/
│   ├── ollama_agent_mcp_example.png  # Example interaction image
├── .gitignore                  # Git ignore file

機能

  • Streamlit チャットボット:使いやすいチャットボットインターフェースです。
  • Ollama モデルの統合:ローカルの Ollama モデルを使用して応答を生成します。
  • MCP サーバーのツール:MCP サーバーに接続して、エージェントの機能を強化します。
  • Pydantic フレームワーク:データ検証と型安全性を確保します。

関連プロジェクト

このプロジェクトは、MCP サーバーのセットアップ方法を紹介する別の GitHub プロジェクト、Hello World MCP Serverと密接に関連しています。このプロジェクトに関連するブログ記事「Building a TypeScript MCP Server: A Guide for Integrating Existing Services」では、このプロジェクトを補完する背景情報と実装の詳細を紹介しています。

トラブルシューティング

  • Ollama サーバーに問題が発生した場合は、http://localhost:11434/v1 で実行されていることを確認してください。
  • 依存関係のインストールに失敗する場合は、Python 3.8 以降を使用しており、仮想環境が有効になっていることを確認してください。
  • MCP サーバー関連の問題については、MCP サーバーのサンプルを参照してください。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。ライセンスの条項に従って、このプロジェクトを自由に使用、変更、配布できます。詳しくは LICENSE ファイルを参照してください。

コントリビューション

コントリビューションを歓迎します!お気軽にイシューを作成するか、プルリクエストを送信してください。

コメント

MCP は初めてですか?

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

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