MLflow 自然语言接口 MCP 服务器
本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为 LLM 应用提供一个自然的语言接口来操作和查询 MLflow 机器学习平台。它将 MLflow 的核心功能(如模型注册表、实验跟踪)通过标准化的 MCP 工具暴露出来,使得 LLM 客户端可以通过简单的自然语言指令与 MLflow 进行交互。
主要功能点:
- 自然语言查询 MLflow: 允许用户使用自然语言提问关于 MLflow 跟踪服务器的问题。
- 模型注册表探索: 可以查询和获取 MLflow 模型注册表中注册模型的信息。
- 实验跟踪: 可以列出和探索 MLflow 中的实验和运行信息。
- 系统信息: 可以获取 MLflow 环境的状态和元数据。
安装步骤:
- 克隆仓库
git clone https://github.com/iRahulPandey/mlflowMCPServer.git cd mlflowMCPServer - 创建并激活虚拟环境
python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows - 安装依赖包
pip install mcp[cli] langchain-mcp-adapters langchain-openai langgraph mlflow - 设置 OpenAI API 密钥 (用于客户端的自然语言处理)
export OPENAI_API_KEY=your_key_here - (可选) 配置 MLflow Tracking URI (如果 MLflow 服务器不在本地默认端口)
export MLFLOW_TRACKING_URI=http://your-mlflow-server:8080
服务器配置 (供 MCP 客户端使用):
{ "serverName": "mlflow", "command": "python", "args": ["mlflow_server.py"] }
- 'serverName': MCP 服务器的名称,客户端用此名称来标识和连接。这里设置为 "mlflow"。
- 'command': 启动 MCP 服务器的命令。这里使用 'python' 命令来运行 Python 脚本。
- 'args': 启动命令的参数列表。这里指定运行 'mlflow_server.py' 脚本。
基本使用方法:
-
启动 MCP 服务器 打开终端,进入仓库目录,运行以下命令启动 MLflow MCP 服务器:
python mlflow_server.py服务器成功启动后,会连接到 MLflow tracking server,并等待客户端连接。
-
使用 MCP 客户端进行自然语言查询 在另一个终端窗口,同样进入仓库目录,可以使用 'mlflow_client.py' 脚本进行查询。例如,查询 MLflow 中注册的模型:
python mlflow_client.py "What models do I have registered in MLflow?"客户端会将自然语言查询发送给 LLM 进行处理,然后通过 MCP 协议与 MCP 服务器交互,获取 MLflow 信息,并最终返回自然语言的答案。
更多示例查询:
- 'python mlflow_client.py "Show me all registered models in MLflow"'
- 'python mlflow_client.py "List all my experiments"'
- 'python mlflow_client.py "Get details for the model named 'iris-classifier'"'
- 'python mlflow_client.py "What's the status of my MLflow server?"'
注意:
- 确保已安装 MLflow 并运行 MLflow tracking server。
- 客户端需要配置 OpenAI API 密钥才能使用自然语言处理功能。
- 可以通过环境变量配置 MLflow Tracking URI、OpenAI 模型名称等。
信息
分类
开发者工具