メインコンテンツまでスキップ

評価に使うプロンプトを選ぶ

自動評価の結果を改善するため、いくつかのプロンプトが用意されています。評価に使うモデルに合わせて、プロンプトを選択したり書き直したりしてください。

データセット評価

verify_dataset_find_error.jinja2

質問回答の組とその元になったデータが入力され、その誤りの個数を出力するように指示します。

モデル評価

回答の推論用プロンプト

自動評価で使う回答の推論用プロンプト<PROMPTFOO_PROMPT_TEMPLATE_NAME_FOR_INFERENCE>を下記のように指定することができます。(省略可)

python src/run_model_evaluator.py <FINETUNED_MODEL_NAME> <BASELINE_MODEL_NAME> --evaluator <EVALUATOR_MODEL_NAME> --data-files data/OpenCL_API.jsonl --output outputs/OpenCL_API_eval.csv --inference-template templates/<PROMPTFOO_PROMPT_TEMPLATE_NAME_FOR_INFERENCE>.jinja2

promptfoo_default.jinja2

質問だけを入力し、LLMに回答を答えさせます。--inference-template引数省略時の、デフォルトのプロンプトテンプレートです。

promptfoo_swallow_70b.jinja2

用途はpromptfoo_default.jinja2と同じですが、Swallow 70B向けのシステムプロンプトテンプレートです。

ルーブリックプロンプト

config/model_evaluator/promptfooconfig.yaml

質問に対するLLMの出力と正解を入力し、誤りがあるかないかの二値分類を実行します。

config/model_evaluator/promptfooconfig_rubric_jp.yaml

中身はconfig/model_evaluator/promptfooconfig.yamlと同じですが、日本語で書かれています。評価結果が日本語で返ってくることが期待できます。