使用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评估器的基准测试。