NVIDIA NeMo Evaluator 智能体技能:对话式 LLM 评估

指南Hugging Face2026年3月6日5 分钟阅读
NVIDIA NeMo Evaluator 智能体技能:对话式 LLM 评估
配置 LLM 评估任务不再需要手动编写复杂的 YAML 文件。NVIDIA 推出的 nel-assistant 智能体技能(Agent Skill)让开发者能用自然语言配置生产就绪的评估流程。

运行 LLM 评估不应该要求开发者手动编写冗长复杂的 YAML 文件。配置开销常常成为瓶颈。新的 nel-assistant 智能体技能(Agent Skill)支持用自然语言配置生产就绪的评估任务。

它基于 NVIDIA NeMo Evaluator 库构建,允许开发者在 Cursor 或任何其他偏好的智能体开发工具中,直接配置、运行和监控评估任务。整个过程通过与智能体交互完成,无需手动创建 YAML 文件或 shell 命令。

问题:配置开销

运行一次 LLM 评估意味着要做几十个相互关联的决策:

  • 执行环境: 本地 Docker 还是 SLURM 集群?
  • 部署方式: vLLM、SGLang、NVIDIA NIMNVIDIA TensorRT-LLM,还是外部端点?需要多少节点?
  • 模型参数: 温度(Temperature)设多少?上下文长度(Context Length)多大?是否使用推理令牌(Reasoning Tokens)?
  • 基准测试: Tau2-Bench、MTEB、GSM8K、AIME、GPQA、LiveCodeBench、RULER,还是全都要?
  • 结果导出: 本地文件、CSV、Weights & Biases,还是 MLflow?

每个选择又会衍生出子选项。使用 vLLM?需要配置张量并行(Tensor Parallelism)。运行推理模型?需要解析思维令牌。多节点 SLURM?需要设置 HAProxy 负载均衡。最终结果是,开发者需要处理复杂且容易出错、难以调试的 YAML 配置文件。

yaml
# 一个典型的评估配置 - 200多行,极易配置错误
execution:
  backend: slurm
  params:
    account: ???  # 我的账户名是什么来着?
    partition: ???
    time_limit: "24:00:00"
deployment:
  backend: vllm
  params:
    tensor_parallel_size: ???  # 2?4?8?
    max_model_len: ???  # 模型卡片说... 32K?128K?

model:
  sampling_params:
    temperature: ???  # 是 0.6 还是 0.8?
    top_p: ???

# ... 还有 150 多行 ...

这种配置负担将简单的评估任务变成了不必要的复杂工作。

解决方案:用于 LLM 评估的智能体技能

智能体技能(Agent Skills)已成为赋予智能体深度领域专业知识的标准方式。一个“技能”将指令、脚本和资源打包成可移植的文件夹,任何兼容的智能体都能发现并使用。

在编码助手领域,生态系统已经蓬勃发展,涵盖了从 Git 工作流到 API 集成的方方面面。nel-assistant 是一个智能体技能,它能将 Cursor、Claude Code、Codex 和其他智能体开发工具转变为评估专家。你不再需要手动编写 YAML,而是进行对话。该技能会研究模型卡片,找到最优的温度、top_p 值和上下文长度,并根据你特定的 GPU 设置确定最优的张量并行配置。

一次对话。零手动 YAML 调试。生产就绪的配置。

code
你:"使用 vLLM 在本地评估 NVIDIA Nemotron-3-Nano-30B-A3B 在标准基准测试上的表现,结果导出到 Weights & Biases。"

智能体:我来帮你设置。首先,让我检查你的环境...
       ✓ 检测到 NeMo Evaluator 26.01
       我需要 5 个快速回答来构建你的配置:
       1. 执行环境:本地(根据你的请求检测到)
       2. 部署后端:vllm(确认)
       3. 导出目标:wandb(确认)
       4. 模型类型:聊天(chat)还是基础(base)?[chat]
       5. 基准测试类别:标准(standard)(确认)

       现在让我研究一下模型卡片...
       ✓ 找到:temperature=0.6, top_p=0.95, context=128K
       ✓ 针对你的 2x H100 设置,最优 TP=8

       生成的配置:Nemotron-3-Nano-30B-A3B.yaml
       准备运行!

工作原理:三个阶段

阶段 1:配置

该技能首先提出五个有针对性的问题来建立上下文:

  1. 执行环境: 本地还是 SLURM?
  2. 部署后端: vLLM、SGLang、NVIDIA NIMNVIDIA TensorRT-LLM,还是外部端点?
  3. 导出目标: 无、MLflow 还是 Weights & Biases?
  4. 模型类型: 基础(Base)、聊天(Chat)还是推理(Reasoning)?
  5. 基准测试类别: 标准(Standard)、代码(Code)、数学(Math)、安全(Safety)还是多语言(Multilingual)?

根据这些答案,它会调用:

bash
nel skills build-config \
  --execution local \
  --deployment vllm \
  --model-type chat \
  --benchmarks standard

这个命令将模块化的 YAML 模板深度合并成经过测试、符合模式规范的片段,这些片段组合起来就是结构有效的配置,并最大限度地减少了语法错误。有了这个技能,智能体永远不会生成自由格式的 YAML,从而消除了语法错误。

接下来,智能体会自动分析模型卡片并应用最优的配置参数。

给智能体一个 HuggingFace 模型句柄 NVIDIA-Nemotron-3-Nano-30B-A3B-BF16 或检查点路径,它会使用网络搜索提取:

  • 采样参数: 温度(Temperature)、top_p
  • 硬件逻辑: 根据你的 GPU 数量确定最优的 TP/DP 设置
  • 推理配置: 系统提示词、负载修改器(例如,为 o1 风格模型设置 enable_thinking
  • 上下文长度: vLLM 的 --max-model-len 最大模型长度

开发者不再需要翻阅模型卡片来寻找正确的设置。智能体读取模型详情并自动应用正确的参数。

没有这个技能,这通常意味着要在 Hugging Face、博客文章和文档之间来回跳转。这既耗时又打断注意力。有了这个技能,设置过程只需几秒钟。

阶段 2:验证与优化

该技能会识别 YAML 中剩余的 ??? 值:

  • SLURM 详情: 账户名、分区名、时间限制
  • 导出 URI: WandB 项目名、MLflow 跟踪 URI
  • API 密钥: 用于部署的环境变量

你可以交互式地:

  • 添加/移除任务: 浏览 nel ls tasks 并精确选择你想要的
  • 覆盖每项任务设置: “在 HumanEval 上使用 temperature=0,但在 MMLU 上用 0.7”
  • 配置高级扩展: 对于 >120B 的模型,设置带 HAProxy 负载均衡的数据并行多节点
  • 添加推理拦截器: 剥离 <think> 令牌,缓存推理轨迹

阶段 3:运行与监控

智能体建议采用三阶段滚动执行:空运行(Dry run)冒烟测试(Smoke test)完整运行(Full run)

bash
# 1. 空运行 - 验证而不实际执行
nel run --config nemotron-3-nano.yaml --dry-run

# 2. 冒烟测试 - 每个任务 10 个样本
nel run --config nemotron-3-nano.yaml \
  -o ++evaluation.nemo_evaluator_config.config.params.limit_samples=10

# 3. 完整运行
nel run --config nemotron-3-nano.yaml

任务提交后,可以直接在 Cursor 中使用命令监控进度、详细指标和实时日志。你无需离开编码环境!

code
> 请检查评估进度。

# 智能体运行:nel status nemotron-3-nano-20260212-143022 && nel info ...

状态:运行中(RUNNING)
进度:3/8 任务完成
- ✓ mmlu: 65.2% 准确率(5 小时)
- ✓ hellaswag: 78.4% 准确率(2 小时)
- ✓ arc_challenge: 53.8% 准确率(1 小时)
- ⏳ truthfulqa_mc2: 45% 完成...
- ⏳ winogrande: 排队中
- ⏳ gsm8k: 排队中
- ⏳ humaneval: 排队中
- ⏳ mbpp: 排队中

技术细节

基于模板的生成

nel-assistant 不是从头生成 YAML,而是合并用于执行、部署、基准测试和导出的模块化模板。这种深度合并确保了结构有效性。

模型卡片提取流程

  1. Cursor 或你的智能体 IDE 通过网络搜索获取 HuggingFace 模型卡片。
  2. 通过正则表达式提取参数和聊天模板。
  3. 硬件逻辑根据模型大小和可用 GPU 内存计算最优的 TP/DP。
  4. 推理检测检查是否包含“reasoning”或“chain-of-thought”等关键词。
  5. 值被直接注入到配置 YAML 中。

通用 LLM 会幻觉出 YAML 语法。它们会混合不兼容的后端。它们会编造不存在的标志。

nel skills build-config 不是从头生成 YAML,而是合并模块化模板:

code
templates/
├── execution/
│   ├── local.yaml          # Docker 执行
│   └── slurm.yaml          # SLURM 执行
├── deployment/
│   ├── vllm.yaml           # vLLM 后端
│   ├── sglang.yaml         # SGLang 后端
│   └── nim.yaml            # NVIDIA NIM
├── benchmarks/
│   ├── reasoning.yaml      # GPQA-D, HellaSwag, SciCode, MATH, AIME
│   └── agentic.yaml        # TerminalBench, SWE-Bench
│   ├── longcontext.yaml    # AA-LCR, RULER
│   ├── instruction.yaml    # IFBench, ArenaHard
│   ├── multi-lingual.yaml  # MMLU-ProX, WMT24++
└── export/
    ├── wandb.yaml          # W&B 集成
    └── mlflow.yaml         # MLflow 集成

深度合并 = 结构有效性。 当你组合的是预先验证过的片段时,就不可能产生无效的 YAML。

nel-assistant 使用 build-config 来合并经过测试的模板。每个配置在构造时就是结构有效的。智能体像类型安全的编译器一样组合 YAML,而不是像文本生成器。

配置不应成为瓶颈

LLM 评估已经涉及重要的决策——选择基准测试、解释结果、比较模型。配置应该支持这个过程,而不是拖慢它。

nel-assistant 技能让它变得无形。你用自然语言描述你想要什么,智能体处理剩下的一切:研究模型卡片、生成配置、验证设置、分阶段执行、监控进度。

不再有 200 行的 YAML 文件。不再需要翻阅文档。不再有语法错误。

只需要说:“在这个模型上运行这些基准测试。”

资源

nel-assistant 技能是开源的,随 NVIDIA NeMo Evaluator 26.01+ 版本提供。 欢迎在 GitHub 上贡献!

觉得有用?分享给更多人

获取每周 AI 工具精选

工具推荐、实战教程和生态洞察,每周更新。

相关文章

pgEdge 推出开源 MCP Server for Postgres,支持 AI 智能体通过模型上下文协议(MCP)而非传统 API 方式访问数据库。服务强调数据源无关性、完整模式自省和 token 优化,适用于 Claude Code、Cursor 等主流 AI 开发工具。

指南The New Stack·4月2日·4 分钟

Google 推出 Flex 和 Priority 两个新的推理层级,帮助开发者平衡成本与可靠性。Flex 是成本优化层级,适合后台任务,价格便宜一半;Priority 是最高保障层级,适合用户交互型应用。两者都通过同步接口调用,简化了架构管理。

指南·4月2日·3 分钟

评论