定制超时和速率限制
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,
)