使用 LabelledEvaluatorDataset
评估评估器#
llama-datasets 的目的是为开发者提供快速基准测试 LLM 系统或任务的方法。本着这种精神,LabelledEvaluatorDataset
的存在是为了无缝、轻松地促进对评估器的评估。
该数据集包含主要带有以下属性的示例:query
、answer
、ground_truth_answer
、reference_score
和 reference_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
)
相关的 LabelledPairwiseEvaluatorDataset
#
一个相关的 llama-dataset 是 LabelledPairwiseEvaluatorDataset
,它同样用于评估评估器,但这次评估器负责比较一对 LLM 对给定查询的响应并确定其中更好的一个。上述使用流程与 LabelledEvaluatorDataset
完全相同,唯一的例外是 LLM 评估器必须具备执行成对评估任务的能力——即,应该是一个 PairwiseComparisonEvaluator
。
更多学习资料#
要查看这些数据集的实际应用,请务必查看下面列出的笔记本,它们在略作调整的 MT-Bench 数据集版本上对 LLM 评估器进行基准测试。