跳到内容

使用 LabelledEvaluatorDataset 评估评估器#

llama-datasets 的目的是为开发者提供快速基准测试 LLM 系统或任务的方法。本着这种精神,LabelledEvaluatorDataset 的存在是为了无缝、轻松地促进对评估器的评估。

该数据集包含主要带有以下属性的示例:queryanswerground_truth_answerreference_scorereference_feedback,以及一些其他补充属性。使用此数据集进行评估的用户流程包括使用提供的 LLM 评估器对数据集进行预测,然后通过计算比较预测结果与相应参考来计算衡量评估质量的指标。

下面是一段代码片段,它利用 EvaluatorBenchmarkerPack 方便地处理上述流程。

from llama_index.core.llama_dataset import download_llama_dataset
from llama_index.core.llama_pack import download_llama_pack
from llama_index.core.evaluation import CorrectnessEvaluator
from llama_index.llms.gemini import Gemini

# download dataset
evaluator_dataset, _ = download_llama_dataset(
    "MiniMtBenchSingleGradingDataset", "./mini_mt_bench_data"
)

# define evaluator
gemini_pro_llm = Gemini(model="models/gemini-pro", temperature=0)
evaluator = CorrectnessEvaluator(llm=gemini_pro_llm)

# download EvaluatorBenchmarkerPack and define the benchmarker
EvaluatorBenchmarkerPack = download_llama_pack(
    "EvaluatorBenchmarkerPack", "./pack"
)
evaluator_benchmarker = EvaluatorBenchmarkerPack(
    evaluator=evaluators["gpt-3.5"],
    eval_dataset=evaluator_dataset,
    show_progress=True,
)

# produce the benchmark result
benchmark_df = await evaluator_benchmarker.arun(
    batch_size=5, sleep_time_in_seconds=0.5
)

一个相关的 llama-dataset 是 LabelledPairwiseEvaluatorDataset,它同样用于评估评估器,但这次评估器负责比较一对 LLM 对给定查询的响应并确定其中更好的一个。上述使用流程与 LabelledEvaluatorDataset 完全相同,唯一的例外是 LLM 评估器必须具备执行成对评估任务的能力——即,应该是一个 PairwiseComparisonEvaluator

更多学习资料#

要查看这些数据集的实际应用,请务必查看下面列出的笔记本,它们在略作调整的 MT-Bench 数据集版本上对 LLM 评估器进行基准测试。