以编程方式使用文档

运行 评估 大型 数据集时,由于速率限制、网络问题或其他暂时性错误,您可能会在少数样本上遇到失败。不必重新运行整个评估,您可以识别并仅重试失败的样本 实验.

本指南介绍了一种将重试逻辑构建到评估工作流中的方法,并仅重试失败的样本。您可以使用 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'
)

## 相关主题 * 运行评估 * 异步运行评估 * 处理模型速率限制 * 实验配置 * 评估现有实验