跳到内容

定制超时和速率限制

RunConfig 允许您将运行参数传递给 evaluate()TestsetGenerator.generate() 等函数。根据您的 LLM 提供商的速率限制、SLA 和流量,控制这些参数可以提高 Ragas 运行的速度和可靠性,并设置故障容忍度。

如何配置 RunConfig

  • 评估
  • [TestsetGenerator][ragas.testset.generator.TestsetGenerator]

速率限制

Ragas 利用 Python 中的 Async 实现并行,但 RunConfig 中有一个名为 max_workers 的字段,用于控制同时允许的并发请求数量。您可以调整此参数以获得提供商允许的最大并发数。

from ragas.run_config import RunConfig

# increasing max_workers to 64 and timeout to 60 seconds

my_run_config = RunConfig(max_workers=64, timeout=60)

评估

from ragas import EvaluationDataset, SingleTurnSample
from ragas.metrics import Faithfulness
from datasets import load_dataset
from ragas import evaluate

dataset = load_dataset("explodinggradients/amnesty_qa", "english_v3")

samples = []
for row in dataset["eval"]:
    sample = SingleTurnSample(
        user_input=row["user_input"],
        reference=row["reference"],
        response=row["response"],
        retrieved_contexts=row["retrieved_contexts"],
    )
    samples.append(sample)

eval_dataset = EvaluationDataset(samples=samples)
metric = Faithfulness()

_ = evaluate(
    dataset=eval_dataset,
    metrics=[metric],
    run_config=my_run_config,
)