Skip to content

使用 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

# 下载数据集
evaluator_dataset, _ = download_llama_dataset(
    "MiniMtBenchSingleGradingDataset", "./mini_mt_bench_data"
)

# 定义评估器
gemini_pro_llm = Gemini(model="models/gemini-pro", temperature=0)
evaluator = CorrectnessEvaluator(llm=gemini_pro_llm)

# 下载 EvaluatorBenchmarkerPack 并定义评估器
EvaluatorBenchmarkerPack = download_llama_pack(
    "EvaluatorBenchmarkerPack", "./pack"
)
evaluator_benchmarker = EvaluatorBenchmarkerPack(
    evaluator=evaluators["gpt-3.5"],
    eval_dataset=evaluator_dataset,
    show_progress=True,
)

# 生成基准测试结果
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 评估器进行基准测试。