Integrations
Uses LangChain's agent framework to facilitate natural language interactions with MLflow data and operations
Incorporates LangGraph for structuring the conversational flow and processing between the natural language queries and MLflow operations
Provides a natural language interface to MLflow, enabling queries about registered models, experiment tracking, and system information using plain English
MLflow MCP サーバー: MLflow の自然言語インターフェース
このプロジェクトは、モデルコンテキストプロトコル(MCP)を介してMLflowへの自然言語インターフェースを提供します。これにより、平易な英語でMLflowトラッキングサーバーにクエリを実行できるようになり、機械学習の実験やモデルの管理と探索が容易になります。
概要
MLflow MCP エージェントは、次の 2 つの主要コンポーネントで構成されています。
- MLflow MCP サーバー(
mlflow_server.py
): MLflow トラッキング サーバーに接続し、モデル コンテキスト プロトコル (MCP) を通じて MLflow 機能を公開します。 - MLflow MCP クライアント(
mlflow_client.py
): 会話型 AI アシスタントを使用して MLflow MCP サーバーと対話するための自然言語インターフェースを提供します。
特徴
- 自然言語クエリ: MLflowトラッキングサーバーについて、わかりやすい英語で質問できます。
- モデルレジストリ探索: 登録したモデルに関する情報を取得します
- 実験の追跡: 実験と実行の一覧と調査
- システム情報: MLflow 環境のステータスとメタデータを取得します
前提条件
- Python 3.8以上
- MLflow サーバーが実行中 (デフォルト:
http://localhost:8080
) - LLMのOpenAI APIキー
インストール
- このリポジトリをクローンします:Copy
- 仮想環境を作成します。Copy
- 必要なパッケージをインストールします。Copy
- OpenAI API キーを設定します。Copy
- (オプション) MLflow トラッキング サーバーの URI を構成します。Copy
使用法
MCPサーバーの起動
まず、MLflow MCP サーバーを起動します。
サーバーは MLflow トラッキング サーバーに接続し、MCP を介して MLflow 機能を公開します。
クエリの作成
サーバーが実行される場合は、クライアントを使用して自然言語クエリを実行できます。
クエリの例:
- 「MLflowに登録されているすべてのモデルを表示」
- 「すべての実験を一覧表示する」
- 「『iris-classifier』というモデルの詳細を取得する」
- 「MLflow サーバーの状態はどうですか?」
構成
環境変数を使用して動作をカスタマイズできます。
MLFLOW_TRACKING_URI
: MLflow トラッキング サーバーの URI (デフォルト:http://localhost:8080
)OPENAI_API_KEY
: OpenAI API キーMODEL_NAME
: 使用するOpenAIモデル(デフォルト:gpt-3.5-turbo-0125
)MLFLOW_SERVER_SCRIPT
: MLflow MCP サーバー スクリプトへのパス (デフォルト:mlflow_server.py
)LOG_LEVEL
: ログレベル(デフォルト:INFO
)
MLflow MCP サーバー ( mlflow_server.py
)
サーバーは MLflow トラッキング サーバーに接続し、MCP 経由で次のツールを公開します。
list_models
: MLflowモデルレジストリに登録されているすべてのモデルを一覧表示しますlist_experiments
: MLflowトラッキングサーバー内のすべての実験を一覧表示しますget_model_details
: 登録された特定のモデルに関する詳細情報を取得しますget_system_info
: MLflowトラッキングサーバーとシステムに関する情報を取得します
制限事項
- 現在、MLflow機能のサブセットのみをサポートしています
- OpenAIモデルを使用するにはクライアントがインターネットにアクセスする必要がある
- 複雑なMLflow操作ではエラー処理が制限される可能性があります
今後の改善
- MLflowモデル予測のサポートを追加
- より複雑なクエリに対する自然言語理解を向上させる
- メトリックとパラメータの視覚化機能を追加する
- 実行管理やアーティファクト処理などの MLflow 操作のサポート
謝辞
- モデルコンテキストプロトコル(MCP) :プロトコル仕様
- LangChain : エージェントフレームワーク用
- MLflow : 追跡とモデルレジストリ機能
This server cannot be installed
MLflow の自然言語インターフェース。これにより、ユーザーはモデル コンテキスト プロトコルを通じて平易な英語を使用して機械学習の実験とモデルを照会および管理できます。