MLflow自然语言查询服务

通过自然语言接口查询和管理MLflow跟踪服务器中的机器学习实验和模型。

  • by iRahulPandey
  • Python
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 iRahulPandey/mlflowMCPServer

使用说明

MLflowMCP服务器:用于MLflow的自然语言接口

该项目通过模型上下文协议(MCP)为MLflow提供了一个自然语言接口。它允许您使用简单的英语查询您的MLW跟踪服务器,从而更容易管理和探索您的机器学习实验和模型。

概述

MLflow MCP Agent由两个主要组件组成:

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

  2. 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

手动安装

  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. (可选)配置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模型
  • 对于复杂的血流操作,错误处理可能会受到限制

未来改进

  • 添加对工作流模型预测的支持
  • 提高对更复杂查询的自然语言理解能力
  • 为度量和参数添加可视化功能
  • 支持更多的工作流操作,如运行管理和工件处理

致谢