README
🚀 MLflow MCP 服务器:自然语言接口的机器学习流程
本项目借助模型上下文协议(MCP),为访问 MLflow 提供了自然语言接口。您可以使用简单的英语对 MLflow 跟踪服务器进行查询,从而更便捷地管理和探索机器学习实验与模型。
🚀 快速开始
MLflow MCP 代理包含两个主要组件:
- 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 密钥
安装步骤
-
克隆此仓库:
git clone https://github.com/iRahulPandey/mlflowMCPServer.git cd mlflowMCPServer -
创建虚拟环境:
python -m venv venv source venv/bin/activate # 在 Windows 上:venv\Scripts\activate -
安装所需的包:
pip install mcp[cli] langchain-mcp-adapters langchain-openai langgraph mlflow -
设置您的 OpenAI API 密钥:
export OPENAI_API_KEY=your_key_here -
(可选) 配置 MLflow 跟踪服务器 URI:
export MLFLOW_TRACKING_URI=http://localhost:8080
💻 使用示例
基础用法
启动 MCP 服务器
首先,启动 MLflow MCP 服务器:
python mlflow_server.py
该服务器会连接到您的 MLflow 跟踪服务器,并通过 MCP 公开 MLflow 功能。
进行查询
服务器启动后,您可以使用客户端进行自然语言查询:
python mlflow_client.py "您在 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 公开以下功能:
- /api/v1/predict:处理预测请求
- /api/v1/models:列出所有注册的模型
要使用这些 API,请将请求发送到 http://localhost:5000,因为服务器在端口 5000 上运行。
限制
当前版本仅支持以下功能:
- 列出注册的模型
- 执行预测
不支持以下操作:
- 模型上传
- 模型版本控制
- 实验跟踪
🔧 技术细节
如果遇到任何问题,请提交到 GitHub 仓库。
Scan to join WeChat group