关于 nemo-evaluator-plugin
nemo-evaluator-plugin 是针对运行中的 NeMo Platform 服务执行评估的技能,使用 `nemo evaluator` CLI 或 Python SDK。它支持通过评估规格配置指标、数据集和目标,并可运行评估或提交持久化作业。
主要功能
- 01查看可用指标及模式
- 02通过规格文件配置评估
- 03运行本地评估
- 04提交持久化评估作业
- 05使用 Python SDK 查询插件状态
适用场景
- 01对数据集运行 exact-match 评估
- 02用基准指标集进行测试
- 03使用 LLM-Judge 评分回答
- 04下载作业的聚合或逐行结果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ promptingcompany/ nv-skills --skill nemo-evaluator-plugin安装后在 Claude Code 中输入/nemo-evaluator-plugin确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
BENCHMARK.mdskill-card.mdskill.oms.sigassets/examples/plugin_sdk_examples.pyassets/specs/exact_match_benchmark.jsonexact_match_metric.jsonllm_as_judge.jsonevals/evals.jsonreferences/api-auth.mdllm-judge.mdtroubleshooting.mdscripts/generate_example_specs.py详细介绍
Evaluator 插件
在运行中的 NeMo Platform 服务上执行评估任务时,请使用此技能。该插件支持的 CLI 接口为 nemo evaluator;旧版生成的 nemo evaluation API 命令组并非新指南的目标接口。
CLI 接口
前提条件
- 本文件中的所有命令都假设 shell 的工作目录位于 Nvidia-NeMo/nemo-platform 仓库根目录
- 调用
nemoCLI 前,请先激活 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:要评估的内联行,或包含数据集的平台 FilesetRefparams:可选的 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。