mcpField
M
mlflowAgent

mlflowAgent

本地服务
github.com/iRahulPandeyAI 与智能体1171 周前更新

关于 mlflowAgent

mlflowAgent 为查询 MLflow 跟踪服务提供自然语言接口,适合探索实验和已注册模型。它由 MCP 服务和对话式客户端组成,并提供一组明确的 MLflow 查询功能。

主要功能

  1. 01以自然语言查询 MLflow
  2. 02列出已注册模型
  3. 03查看实验与运行记录
  4. 04获取模型详情
  5. 05查看服务和系统信息

适用场景

  1. 01通过提问查看已注册模型
  2. 02检查 MLflow 实验和运行记录
  3. 03查询指定模型的详情
  4. 04查看 MLflow 服务状态

MCP 相关

MCP 服务连接 MLflow 跟踪服务,并开放模型、实验、模型详情和系统信息等工具。独立客户端可向该服务发送自然语言查询。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mlflowAgent": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MLflow MCP 服务:MLflow 的自然语言界面

smithery badge

本项目通过模型上下文协议(MCP)为 MLflow 提供自然语言界面。你可以使用通俗的英语查询 MLflow 跟踪服务,从而更轻松地管理和探索机器学习实验及模型。

概览

MLflow MCP Agent 包含两个主要组件:

  1. MLflow MCP 服务(mlflow_server.py):连接到你的 MLflow 跟踪服务,并通过模型上下文协议(MCP)提供 MLflow 功能。

  2. MLflow MCP 客户端(mlflow_client.py):通过对话式 AI 助手提供自然语言界面,以便与 MLflow MCP 服务交互。

功能

  • 自然语言查询:使用通俗的英语询问有关 MLflow 跟踪服务的问题
  • 模型注册表探索:获取有关已注册模型的信息
  • 实验跟踪:列出并探索你的实验和运行
  • 系统信息:获取 MLflow 环境的状态和元数据

先决条件

  • Python 3.8+
  • 正在运行的 MLflow 服务(默认:http://localhost:8080)
  • 用于大模型的 OpenAI API 密钥

安装

通过 Smithery 安装

通过 Smithery 自动为 Claude Desktop 安装 MLflow 自然语言界面服务:

npx -y @smithery/cli install @iRahulPandey/mlflowMCPServer --client claude
手动安装
  1. 克隆此仓库:

    git clone https://github.com/iRahulPandey/mlflowMCPServer.git
    cd mlflowMCPServer
    
  2. 创建虚拟环境:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. 安装所需的软件包:

    pip install mcp[cli] langchain-mcp-adapters langchain-openai langgraph mlflow
    
  4. 设置 OpenAI API 密钥:

    export OPENAI_API_KEY=your_key_here
    
  5. (可选)配置 MLflow 跟踪服务 URI:

    export MLFLOW_TRACKING_URI=http://localhost:8080
    

使用方法

启动 MCP 服务

首先,启动 MLflow MCP 服务:

python mlflow_server.py

该服务会连接到你的 MLflow 跟踪服务,并通过 MCP 提供 MLflow 功能。

发起查询

服务运行后,你可以使用客户端发起自然语言查询:

python mlflow_client.py "What models do I have registered in 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 操作,例如运行管理和制品处理

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。