mcpField
N
nemo-evaluator-plugin

nemo-evaluator-plugin

github.com/promptingcompany测试与质量039 次安装17 周前更新
代码仓库

关于 nemo-evaluator-plugin

nemo-evaluator-plugin 是针对运行中的 NeMo Platform 服务执行评估的技能,使用 `nemo evaluator` CLI 或 Python SDK。它支持通过评估规格配置指标、数据集和目标,并可运行评估或提交持久化作业。

主要功能

  1. 01查看可用指标及模式
  2. 02通过规格文件配置评估
  3. 03运行本地评估
  4. 04提交持久化评估作业
  5. 05使用 Python SDK 查询插件状态

适用场景

  1. 01对数据集运行 exact-match 评估
  2. 02用基准指标集进行测试
  3. 03使用 LLM-Judge 评分回答
  4. 04下载作业的聚合或逐行结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/promptingcompany/nv-skills --skill nemo-evaluator-plugin

安装后在 Claude Code 中输入/nemo-evaluator-plugin确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

BENCHMARK.md
skill-card.md
skill.oms.sig
assets/examples/
plugin_sdk_examples.py
assets/specs/
exact_match_benchmark.json
exact_match_metric.json
llm_as_judge.json
evals/
evals.json
references/
api-auth.md
llm-judge.md
troubleshooting.md
scripts/
generate_example_specs.py

详细介绍

Evaluator 插件

在运行中的 NeMo Platform 服务上执行评估任务时,请使用此技能。该插件支持的 CLI 接口为 nemo evaluator;旧版生成的 nemo evaluation API 命令组并非新指南的目标接口。

CLI 接口

前提条件
  • 本文件中的所有命令都假设 shell 的工作目录位于 Nvidia-NeMo/nemo-platform 仓库根目录
  • 调用 nemo CLI 前,请先激活 Python 虚拟环境:source .venv/bin/activate

从 CLI 检查插件状态:

nemo evaluator info

指标类型

查看可用指标

查看可用指标名称:

nemo evaluator metric-types

查看特定指标的 schema,请传入上方 metric_types 列表中的指标名称:

nemo evaluator metric-types <metric-name>

检查所有已注册指标的 schema 契约:

nemo evaluator evaluate explain

注意:请以 nemo evaluator evaluate explain 作为当前插件输入 schema 的事实来源。它会返回较大的 JSON schema 响应;如果只需要指标名称及其对应的 schema,强烈建议使用 nemo evaluator metric-types。

评估规范

评估规范是作为输入提供给 CLI、用于执行评估的载荷。

概括而言,规范描述了:

  • metrics:打包的 Evaluator SDK 指标配置
  • dataset:要评估的内联行,或包含数据集的平台 FilesetRef
  • params:可选的 Evaluator SDK 执行参数
  • target:可选的在线评估模型或 Agent 目标

请参阅 LLM 裁判规范示例:assets/specs/llm_as_judge.json。

指标包载荷

仓库中的规范示例使用打包的 SDK 指标。metrics[*].payload 下的字段由 bundle_metric(metric, CloudpickleMetricBundlePackager()) 生成。

如需了解如何配置预定义 SDK 指标(例如 ExactMatchMetric),并将其转换为打包的指标 JSON,请检查 generate_example_specs.py 中的 build_metric_bundle_example(),并运行:

uv run --frozen python skills/nemo-evaluator-plugin/scripts/generate_example_specs.py

运行评估

使用文件规范引用运行

使用 nemo evaluator evaluate run 命令时,结果会保存到本地临时目录,并将链接打印到 stdout。 建议使用 --spec-file 命名参数,而不要在 shell 中内联 JSON,因为指标包包含序列化载荷。 assets/specs 目录中提供了各种规范示例。

使用 exact-match 指标进行评估

请参阅规范示例:assets/specs/exact_match_metric.json。

nemo evaluator evaluate run --spec-file skills/nemo-evaluator-plugin/assets/specs/exact_match_metric.json
使用基准指标集进行评估
nemo evaluator evaluate run --spec-file skills/nemo-evaluator-plugin/assets/specs/exact_match_benchmark.json
使用 LLM-Judge 指标进行评估

使用大模型为响应评分。请参阅规范示例:assets/specs/llm_as_judge.json。

nemo evaluator evaluate run --spec-file skills/nemo-evaluator-plugin/assets/specs/llm_as_judge.json
将评估作为持久化作业运行

使用 nemo evaluator evaluate submit 命令创建持久化评估作业。该命令的响应会返回作业处理器对象,而不是评估结果。

nemo evaluator evaluate submit \
  --spec-file skills/nemo-evaluator-plugin/assets/specs/exact_match_metric.json

提交响应包含生成的作业的 name 字段,例如 nemo-evaluator-zlhn1ecd。等待作业完成,然后列出并下载作业结果。

nemo jobs get-status <job-name>
nemo jobs get <job-name>
nemo jobs results list <job-name>
nemo jobs results download aggregate-scores --job <job-name> --output-file aggregate-scores.json
nemo jobs results download row-scores --job <job-name> --output-file row-scores.jsonl

Python SDK 接口

NeMoPlatform 实例通过 evaluator 变量提供 Evaluator Python SDK 客户端:

from nemo_platform import NeMoPlatform

platform_client = NeMoPlatform(base_url="http://localhost:8080")
status = platform_client.evaluator.plugin_status()

请参阅 plugin_sdk_examples.py 中使用插件 SDK 接口的示例。

安全性

确保不要将任何密钥打印到 stdout,因为这些内容可能会被收集为日志

其他资源

LLM 裁判设置说明请参阅 LLM Judge Notes。

Evaluator API 密钥身份验证请参阅 Evaluator API Auth。

本地和集群故障排查请参阅 Evaluation Troubleshooting。

评论

支持 Markdown