MLflowMCP服务器:用于MLflow的自然语言接口
](https://smithery.ai/server/@iRahulPandey/mlflowMCPServer)
该项目通过模型上下文协议(MCP)为MLflow提供了一个自然语言接口。它允许您使用简单的英语查询您的MLW跟踪服务器,从而更容易管理和探索您的机器学习实验和模型。
概述
MLflow MCP Agent由两个主要组件组成:
- MLflow MCP服务器 (
mlflow_server.py):连接到MLflow跟踪服务器,并通过模型上下文协议(MCP)公开MLflow功能。
- MLflow MCP客户端 (
mlflow_client.py):提供一个自然语言界面,使用对话式人工智能助手与MLflow MCP服务器进行交互。
特性
- 自然语言查询:用简单的英语询问有关MLF跟踪服务器的问题
- 模型注册表探索:获取您注册模特的信息
- 实验跟踪:列出并探索你的实验和跑步
- 系统信息:获取有关MLflow环境的状态和元数据
先决条件
- Python 3.8+
- MLflow服务器正在运行(默认值:
http://localhost:8080) - LLM的OpenAI API密钥
安装
通过Smithery安装
通过以下方式自动安装克劳德桌面的MLflow自然语言界面服务器 史密瑟里:
npx -y @smithery/cli install @iRahulPandey/mlflowMCPServer --client claude手动安装
- 克隆此存储库:
git clone https://github.com/iRahulPandey/mlflowMCPServer.git
cd mlflowMCPServer- 创建虚拟环境:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- 安装所需的软件包:
pip install mcp[cli] langchain-mcp-adapters langchain-openai langgraph mlflow- 设置您的OpenAI API密钥:
export OPENAI_API_KEY=your_key_here- (可选)配置MLflowtracking服务器URI:
export MLFLOW_TRACKING_URI=http://localhost:8080用法
启动MCP服务器
首先,启动MLflowMCP服务器:
python mlflow_server.py服务器连接到您的MLflow跟踪服务器,并通过MCP公开MLflow功能。
查询
服务器运行后,您可以使用客户端进行自然语言查询:
python mlflow_client.py "What models do I have registered in MLflow?"查询示例:
- “在MLflow中显示所有已注册的模型”
- “列出我的所有实验”
- “获取名为‘虹膜分类器’的模型的详细信息”
- “我的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:MLflowMCP服务器脚本的路径(默认值: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模型
- 对于复杂的血流操作,错误处理可能会受到限制
未来改进
- 添加对工作流模型预测的支持
- 提高对更复杂查询的自然语言理解能力
- 为度量和参数添加可视化功能
- 支持更多的工作流操作,如运行管理和工件处理
致谢
- 模型上下文协议(MCP):用于协议规范
- LangChain:用于代理框架
- MLW:用于跟踪和模型注册表功能
