运行 评估 大型 数据集时,由于速率限制、网络问题或其他暂时性错误,您可能会在少数样本上遇到失败。不必重新运行整个评估,您可以识别并仅重试失败的样本 实验.
本指南介绍了一种将重试逻辑构建到评估工作流中的方法,并仅重试失败的样本。您可以使用 error_handling='ignore' 参数跳过记录错误的运行,然后自动识别不成功的样本并使用 Python 重新运行它们。
## 步骤 1. 运行初始评估 运行初始评估,忽略错误以防止错误的运行被记录:
from langsmith import Client
client = Client()
# Run initial evaluation, ignoring errors
# error_handling='ignore' prevents errored runs from being logged
results = await client.aevaluate(
target,
data="dataset",
evaluators=[your_evaluators],
error_handling='ignore'
)
步骤 2. 重试失败的样本并记录到同一实验
获取所有不成功的样本:
# Identify unsuccessful examples
runs = client.list_runs(project_name=results.experiment_name)
successful_example_ids = [r.reference_example_id for r in runs]
unsuccessful_examples = (e for e in client.list_examples(dataset_name="dataset") if e.id not in successful_examples)
接下来,重新运行所有失败的样本并将它们记录到同一实验:
# Retry only the failed examples, log
results_retry = await client.aevaluate(
target,
unsuccessful_examples,
evaluators=[your_evaluators],
experiment=results.experiment_name,
error_handling='ignore'
)