该项目是一个实现了 Model Context Protocol (MCP) 的后端服务,专门用于与 Weights & Biases (W&B) 平台交互。它允许兼容 MCP 的大型语言模型客户端访问您的 W&B 项目数据、查询 Weave traces(用于 LLM 可观测性)以及创建分析报告。

主要功能点

该服务器通过 MCP 向 LLM 客户端暴露以下功能:

  • 查询 W&B 平台数据: 允许 LLM 查询 W&B 中的 Models Runs(实验运行)、Sweeps(超参数搜索)、Artifacts(模型和数据版本)以及 Registry(模型注册表)信息。
  • 查询 W&B Weave 数据: 提供查询 Weave Traces(LLM 调用链路)、Evaluations(评估结果)和 Datasets(数据集)的能力。
  • 执行 GraphQL 查询: 支持对 W&B Models API 执行任意 GraphQL 查询,实现灵活数据访问。
  • 创建 W&B Reports: 允许 LLM 将分析结果、文本描述和生成的图表保存到 W&B 报告中,便于记录和分享。
  • 查询 W&B Support Bot: 提供一个工具用于向 W&B 支持机器人提问并获取帮助信息。
  • 列出实体下的项目: 帮助 LLM 发现用户在特定 W&B Entity (用户或团队) 下的项目列表。

安装步骤

请确保您已安装 Python 3.8+ 和 'uv' 包管理器(推荐)。

  1. 克隆仓库:
    git clone https://github.com/wandb/wandb-mcp-server.git
    cd wandb-mcp-server
  2. 创建并激活虚拟环境:
    uv venv
    source .venv/bin/activate
    • 如果您系统中没有 'uv',请参考 README 中的 Troubleshooting 部分安装。
  3. 安装项目及其依赖:
    uv pip install -e .

服务器配置

MCP 服务器需要您的 Weights & Biases API Key 才能访问您的数据。请在项目根目录下创建一个 '.env' 文件,并将您的 API Key 添加进去:

WANDB_API_KEY=your_api_key_here

您的 MCP 客户端需要知道如何启动这个服务器。通常,这涉及在客户端的配置文件(通常是 JSON 格式)中指定服务器名称以及启动命令 ('command') 和其参数 ('args')。配置示例如下(请将 '/绝对/路径/到/你的/项目/目录' 替换为该仓库在您本地文件系统中的实际路径):

{
    "mcpServers": {
        "weights_and_biases": { // 给这个MCP服务器起一个便于客户端识别的名字
            "command": "uv", // 启动服务器的可执行命令
            "args": [ // 启动命令所需的参数列表
                "--directory", "/绝对/路径/到/你的/项目/目录", // 指定服务器代码所在的目录
                "run", // uv 命令的参数
                "src/wandb_mcp_server/server.py" // MCP服务器的主入口文件
            ]
            // 根据您的MCP客户端,您可能还需要在其配置中指定W&B API Key,
            // 或者确保运行MCP客户端的环境已设置WANDB_API_KEY环境变量。
        }
        // 您可以在此处配置其他MCP服务器
    }
    // 您的MCP客户端的其他配置项
}

基本使用方法

  1. 设置: 按照上述步骤安装项目并配置 '.env' 文件中的 'WANDB_API_KEY'。

  2. 客户端集成: 在您的 MCP 客户端(如兼容 MCP 的 LLM 应用)中,按照其文档添加上述服务器配置。这将允许客户端在需要时自动启动并与 MCP 服务器通信。

  3. 与 LLM 交互: 在与 LLM 聊天时,明确您的意图,例如查询特定的 W&B 项目、Runs、Traces 或要求创建报告。重要的是提供必要的上下文信息,例如您的 W&B Entity (用户名或团队名) 和 Project 名称。

    • 示例: "请统计一下我在 '我的团队/我的项目' 这个 Weave 项目中有多少条 trace?" 或 "在 '我的用户/我的ML项目' 中找到 eval loss 最好的那个 run 的配置参数。"

LLM 将通过配置好的 MCP 协议调用该服务器提供的工具来执行您的请求。请确保 LLM 能够理解并正确解析您提供的 W&B Entity 和 Project 名称。

信息

分类

AI与计算