SumOmniEval MCP 服务端

使用说明(简明版,便于快速上手):

  • 项目简介 SumOmniEval 的 MCP 服务器端实现,提供对“指标工具集”的统一访问入口。通过 MCP 协议,LLM 客户端可以查询可用工具、执行单项或多项指标,以及获取指标详情。这使得 LLM 能以标准化方式调用后端计算能力来评估文本摘要质量。

  • 主要功能点

    • check_env_var:检查环境变量是否配置完备(如用于 API 调用的凭据)。
    • list_metrics:列出全部可用的评测指标及其元信息。
    • run_single_metric:按名称执行单个指标(支持对 ROUGE、BLEU、NLI、AlignScore 等的本地/远程实现进行调用)。
    • run_multiple:一次性执行多个指标,返回多指标结果集合。
    • get_info:获取某个指标的详细信息(描述、类别、所需输入等)。
    • 服务器打包与部署:bundle.py 可将 MCP 服务器及依赖打包成可部署的 zip 文件,server.py 提供实际运行入口。
    • 兼容两种导入路径:开发模式下从 src.evaluators.tool_logic 等模块获取实现;打包模式下从评测工具目录 evaluators/ 访问。
  • 安装步骤(简明操作)

    1. 获取代码:git clone <仓库地址>,进入项目根目录。
    2. 安装依赖:使用项目的根 requirements.txt 安装依赖,例如:pip install -r requirements.txt。
    3. 构建 MCP Bundle(可选,便于部署):在 mcp_server 目录下执行 python mcp_server/bundle.py,会生成 sum_omni_eval_mcp.zip。
    4. 启动 MCP 服务器:在 mcp_server 目录下执行 Python 命令启动服务器,通常为 python mcp_server/server.py(实际启动入口由 FastMCP 框架处理,server.py 会在启动时加载工具)。
    5. 连接 MCP 客户端:MCP 客户端按照 MCP 规范通过 JSON-RPC 调用服务器暴露的工具接口,如 list_metrics、run_single_metric、run_multiple、get_info 等。
  • 服务器配置(供 MCP 客户端参考,JSON 格式,描述性注释在文本中给出;客户端无需此配置) { "server_name": "SumOmniEval MCP Server", "command": "python", "args": ["mcp_server/server.py"], "working_directory": "<仓库根路径>/mcp_server", "environment": { "H2OGPTE_API_KEY": "<你的 API Key,如用于 API 指标的密钥>", "H2OGPTE_ADDRESS": "<你的 API 服务地址,如 https://your-h2ogpte-server>" } // 注解:以上 environment 变量仅在需要通过 API 调用的指标场景下才需要配置。 }

  • 基本使用方法(对开发/运维友好、直观操作)

    • 运行与启动
      • 安装依赖后,执行 bundle (可选) 以生成可部署的 MCP 包;然后通过运行 server.py 启动 MCP 服务。
    • 客户端交互要点
      • 通过 MCP 客户端的接口,可以:
        • 请求 list_metrics,获取所有可用指标及元信息;
        • 请求 get_info(metric_name),获取指定指标的详细描述;
        • 请求 run_single_metric(metric_name, summary, source, reference) 执行单个指标;
        • 请求 run_multiple_metrics(metric_names, summary, source, reference) 一次执行多项指标。
    • 使用场景
      • 将 SumOmniEval 的评测能力以 MCP 服务形式提供给任意支持 MCP 的 LLM 客户端,便于统一对接与弹性扩展。

服务器信息