跳至内容

使用LabelledEvaluatorDataset评估评估器#

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

该数据集主要由以下属性组成: query, answer, ground_truth_answer, reference_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评估器的基准测试。

优云智算