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/ 访问。
-
安装步骤(简明操作)
- 获取代码:git clone <仓库地址>,进入项目根目录。
- 安装依赖:使用项目的根 requirements.txt 安装依赖,例如:pip install -r requirements.txt。
- 构建 MCP Bundle(可选,便于部署):在 mcp_server 目录下执行 python mcp_server/bundle.py,会生成 sum_omni_eval_mcp.zip。
- 启动 MCP 服务器:在 mcp_server 目录下执行 Python 命令启动服务器,通常为 python mcp_server/server.py(实际启动入口由 FastMCP 框架处理,server.py 会在启动时加载工具)。
- 连接 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) 一次执行多项指标。
- 通过 MCP 客户端的接口,可以:
- 使用场景
- 将 SumOmniEval 的评测能力以 MCP 服务形式提供给任意支持 MCP 的 LLM 客户端,便于统一对接与弹性扩展。
- 运行与启动