nemo-evaluator-plugin について
nemo-evaluator-pluginは、`nemo evaluator` CLIまたはPython SDKを使い、稼働中のNeMo Platformサーバーで評価を実行するスキルです。評価仕様でメトリクス、データセット、対象を設定し、評価の実行や永続ジョブの送信を行います。
主な機能
- 01利用可能なメトリクスとスキーマの確認
- 02仕様ファイルによる評価設定
- 03評価の実行
- 04永続評価ジョブの送信
- 05Python SDKでプラグイン状態を確認
活用シーン
- 01データセットのexact-match評価
- 02ベンチマークメトリクスでのテスト
- 03LLM-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 Plugin
NeMo Platform サーバーが稼働している環境で評価タスクを行う場合は、このスキルを使用してください。プラグイン対応の CLI インターフェースは nemo evaluator です。従来の生成された nemo evaluation API コマンドグループは、新しいガイダンスの対象ではありません。
CLI インターフェース
前提条件
- このファイル内のすべてのコマンドは、シェルの作業ディレクトリが Nvidia-NeMo/nemo-platform リポジトリのルートであることを前提としています
nemoCLI を実行する前に、Python 仮想環境を有効化してください:source .venv/bin/activate
CLI からプラグインのステータスを確認します:
nemo evaluator info
メトリックの種類
利用可能なメトリックを確認する
利用可能なメトリック名を表示するには、次を実行します:
nemo evaluator metric-types
特定のメトリックのスキーマを表示するには、上記の metric_types リストにあるメトリック名を渡します:
nemo evaluator metric-types <metric-name>
登録済みのメトリックのスキーマコントラクトをすべて確認します:
nemo evaluator evaluate explain
注:現在のプラグイン入力スキーマの正式な情報源として、
nemo evaluator evaluate explainを使用してください。大きな JSON スキーマのレスポンスが返されるため、メトリック名と対応するスキーマのみが必要な場合は、nemo evaluator metric-typesを強く推奨します。
評価仕様
評価仕様は、評価を実行するための入力として CLI に渡すペイロードです。
概要として、仕様には次の内容を記述します:
metrics:バンドルされた Evaluator SDK のメトリック設定dataset:評価対象のインライン行、またはデータセットを含むプラットフォームの FilesetRefparams:任意の Evaluator SDK 実行パラメーターtarget:オンライン評価の対象となる任意のモデルまたはエージェント
LLM 判定仕様の例については、assets/specs/llm_as_judge.json を参照してください。
メトリックバンドルのペイロード
リポジトリに含まれる仕様の例では、バンドルされた SDK メトリックを使用しています。metrics[*].payload の下にあるフィールドは、bundle_metric(metric, CloudpickleMetricBundlePackager()) によって生成されます。
たとえば、ExactMatchMetric などの事前定義された SDK メトリックを設定し、バンドルされたメトリック 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 に出力されます。
メトリックバンドルにはシリアライズされたペイロードが含まれるため、インラインのシェル JSON よりも --spec-file 名前付き引数を使用してください。
さまざまな仕様の例は、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 メトリックを使用して評価する
LLM を使用して応答を採点します。仕様の例については、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
submit のレスポンスには、生成されたジョブの 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 インターフェース
Evaluator Python SDK クライアントは、NeMoPlatform インスタンスの evaluator 変数として公開されています:
from nemo_platform import NeMoPlatform
platform_client = NeMoPlatform(base_url="http://localhost:8080")
status = platform_client.evaluator.plugin_status()
プラグイン SDK インターフェースの使用例については、plugin_sdk_examples.py を参照してください。
セキュリティ
stdout にシークレットを出力しないでください。ログとして収集される可能性があります。
追加リソース
LLM 判定の設定に関する注意事項については、LLM Judge Notes を参照してください。
Evaluator API キー認証については、Evaluator API Auth を参照してください。
ローカル環境およびクラスターでのトラブルシューティングについては、Evaluation Troubleshooting を参照してください。