camel.benchmarks 包#
子模块#
camel.benchmarks.apibank 模块#
- class camel.benchmarks.apibank.APIBankBenchmark(save_to: str, processes: int = 1)[来源]#
基础类:
BaseBenchmarkAPI-Bank基准测试改编自API-Bank: 一个用于工具增强型大语言模型的综合基准 <AlibabaResearch/DAMO-ConvAI>。
- Parameters:
save_to (str) - 用于保存结果的文件。
processes (int, optional) – 要使用的进程数量。 (默认值:
1)
- load(level: str, force_download: bool = False)[来源]#
加载APIBank基准测试数据集。
- Parameters:
level (str) – 运行基准测试的级别。
force_download (bool, optional) – 是否强制下载数据。
- run(agent: ChatAgent, level: Literal['level-1', 'level-2'], api_test_enabled=True, randomize: bool = False, subset: int | None = None) Dict[str, Any][来源]#
运行基准测试。
- Parameters:
agent (ChatAgent) – 运行基准测试的代理。
level (Literal['level-1', 'level-2']) - 运行基准测试的级别。
randomize (bool, optional) – 是否随机化数据。
api_test_enabled (bool) - 是否进行测试
调用 (API) – (默认值:
False)subset (可选[int], 可选)
运行. (数据的子集) – (默认值:
None)
- Returns:
基准测试的结果。
- Return type:
字典[字符串, 任意类型]
- class camel.benchmarks.apibank.APIBankSample(chat_history, apis, ground_truth)[来源]#
基类:
object用于加载数据集的APIBank示例。
- class camel.benchmarks.apibank.Evaluator(samples: List[APIBankSample])[来源]#
基类:
objectAPIBank基准测试的评估器。
- camel.benchmarks.apibank.calculate_rouge_l_score(reference, hypothesis)[来源]#
计算假设文本与参考文本之间的rouge l分数。
- camel.benchmarks.apibank.process_messages(chat_history: List[Dict[str, Any]], prompt: str) List[Dict[str, str]][来源]#
将聊天历史处理为结构化格式以供进一步使用。
- Parameters:
chat_history (List[Dict[str, Any]) - 表示聊天历史的字典列表。
prompt (str) - 要设置为系统消息的提示词。
- Returns:
- 表示处理过的消息的字典列表
其中每个字典包含:
'role': 消息的角色('system'、'user'或'assistant')
- 'content': 消息内容,包括格式化后的
API响应(如适用)
- Return type:
List[Dict[str, str]]
camel.benchmarks.apibench 模块#
- class camel.benchmarks.apibench.APIBenchBenchmark(data_dir: str, save_to: str, processes: int = 1)[来源]#
基础类:
BaseBenchmarkAPIBench基准测试改编自Gorilla: Large Language Model Connected with Massive APIs <https://huggingface.co/datasets/gorilla-llm/APIBench>。
- Parameters:
data_dir (str) - 保存数据的目录。
save_to (str) - 用于保存结果的文件。
processes (int, optional) – 要使用的进程数量。 (默认值:
1)
- load(dataset_name: str, force_download: bool = False)[来源]#
加载APIBench基准测试数据集。
- Parameters:
dataset_name (str) - 要加载的特定数据集的名称。
force_download (bool, optional) – 是否强制下载数据。(默认:
False)
- run(agent: ChatAgent, dataset_name: Literal['huggingface', 'tensorflowhub', 'torchhub'], randomize: bool = False, subset: int | None = None) Dict[str, Any][来源]#
运行基准测试。
- Parameters:
agent (ChatAgent) – 运行基准测试的代理。
(Literal["huggingface" (dataset_name) – “tensorflowhub”, “torchhub”]): 用于运行基准测试的数据集。
- :param“tensorflowhub”, “torchhub”]):
运行基准测试的数据集。
- Parameters:
randomize (bool, optional) – 是否随机化数据。 (默认:
False)subset (可选[int], optional) – 要运行的数据子集。 (默认:
None)
- camel.benchmarks.apibench.encode_question(question: str, dataset_name: str) str[来源]#
将多个提示指令编码为单个字符串。
camel.benchmarks.base 模块#
- class camel.benchmarks.base.BaseBenchmark(name: str, data_dir: str, save_to: str, processes: int = 1)[来源]#
基类:
ABC基准测试的基类。
- name#
基准测试的名称。
- Type:
字符串
- data_dir#
数据目录的路径。
- Type:
字符串
- save_to#
保存结果的路径。
- Type:
字符串
- processes#
用于并行处理的进程数量。:(默认值:
1)- Type:
int
- abstract download() BaseBenchmark[来源]#
下载基准测试数据。
- Returns:
基准测试实例。
- Return type:
- abstract load(force_download: bool = False) BaseBenchmark[来源]#
加载基准测试数据。
- Parameters:
force_download (bool) - 是否强制下载数据。
- Returns:
基准测试实例。
- Return type:
- property results: List[Dict[str, Any]]#
获取结果。
- Returns:
结果。
- Return type:
List[Dict[str, Any]]
- abstract run(agent: ChatAgent, on: Literal['train', 'valid', 'test'], randomize: bool = False, subset: int | None = None, *args, **kwargs) BaseBenchmark[来源]#
运行基准测试。
- Parameters:
agent (ChatAgent) – 聊天代理。
on (str) – 运行基准测试所使用的数据分割。
randomize (bool) - 是否对数据进行随机化处理。
subset (int) – 运行基准测试的数据子集。
- Returns:
基准测试实例。
- Return type:
- property test: List[Dict[str, Any]]#
获取测试数据。
- Returns:
测试数据。
- Return type:
List[Dict[str, Any]]
- property train: List[Dict[str, Any]]#
获取训练数据。
- Returns:
训练数据。
- Return type:
List[Dict[str, Any]]
- property valid: List[Dict[str, Any]]#
获取验证数据。
- Returns:
验证数据。
- Return type:
List[Dict[str, Any]]
camel.benchmarks.gaia 模块#
- class camel.benchmarks.gaia.DefaultGAIARetriever(url_and_api_key: Tuple[str, str] | None = None, vector_storage_local_path: str | None = None, storage_type: StorageType | None = None, embedding_model: BaseEmbedding | None = None)[来源]#
-
GAIA基准测试的默认检索器。 该检索器使用camel中的AutoRetriever根据查询检索内容。
- class camel.benchmarks.gaia.GAIABenchmark(data_dir: str, save_to: str, retriever: RetrieverProtocol | None = None, processes: int = 1)[来源]#
基础类:
BaseBenchmarkGAIA基准测试改编自“GAIA: a benchmark for General AI Assistants”。
- Parameters:
data_dir (str) - 保存数据的目录。
save_to (str) - 用于保存结果的文件。
retriever (可选[RetrieverProtocol]) – 要使用的检索器。 (默认值:
None)processes (int, optional) – 要使用的进程数量。 (默认值:
1)
- get_final_answer(content: str) str[来源]#
从内容中获取最终答案。
- Parameters:
内容 (str) – 需要从中提取最终答案的内容。
- Returns:
最终答案。
- Return type:
字符串
- normalize_str(input_str, remove_punct=True) str[来源]#
规范化字符串。
- Parameters:
input_str – 需要标准化的输入字符串。
remove_punct – 是否移除标点符号。
- Returns:
标准化后的字符串。
- Return type:
字符串
- question_scorer(model_answer: str, ground_truth: str) bool[来源]#
GAIA基准测试的评分器。 https://huggingface.co/spaces/gaia-benchmark/leaderboard/blob/main/ scorer.py
- Parameters:
model_answer (str) – 模型答案。
ground_truth (str) – 真实答案。
- Returns:
模型的评分
- Return type:
布尔值
- run(agent: ChatAgent, on: Literal['train', 'valid', 'test'], level: int | List[int] | Literal['all'], randomize: bool = False, subset: int | None = None) Dict[str, Any][来源]#
运行基准测试。
- Parameters:
agent (ChatAgent) – 用于运行基准测试的代理。
on (Literal["valid", "test"]) – 运行基准测试的数据集。
level (Union[int, List[int], Literal["all"]]) – 运行基准测试的级别。
randomize (bool, optional) – 是否随机化数据。 (默认:
False)subset (可选[int], optional) – 要运行的数据子集。 (默认:
None)
- Returns:
基准测试的结果。
- Return type:
字典[字符串, 任意类型]
- split_string(s: str, char_list: List[str] | None = None) list[str][来源]#
根据字符列表分割字符串。
- Parameters:
s (str) – 要分割的字符串。
char_list (可选[列表[字符串]], 可选) – 用于分割的字符列表。 (默认值:
None)
- property train#
获取训练集。
camel.benchmarks.nexus 模块#
- class camel.benchmarks.nexus.NexusBenchmark(data_dir: str, save_to: str, processes: int = 1)[来源]#
基础类:
BaseBenchmarkNexus Function Calling Benchmark 改编自 NexusRaven V2 函数调用基准测试 <https://huggingface.co/collections/Nexusflow/nexusraven-v2-function-calling-benchmark-657a597fb84dbe7a09ebfc3e>.
- Parameters:
data_dir (str) - 保存数据的目录。
save_to (str) - 用于保存结果的文件。
processes (int, optional) – 要使用的进程数量。 (默认值:
1)
- load(dataset_name: str, force_download: bool = False)[来源]#
加载Nexus基准测试数据集。
- Parameters:
dataset_name (str) - 要加载的特定数据集的名称。
force_download (bool) - 是否强制下载数据。
- run(agent: ChatAgent, task: Literal['NVDLibrary', 'VirusTotal', 'OTX', 'PlacesAPI', 'ClimateAPI', 'VirusTotal-ParallelCalls', 'VirusTotal-NestedCalls', 'NVDLibrary-NestedCalls'], randomize: bool = False, subset: int | None = None) Dict[str, Any][来源]#
运行基准测试。
- Parameters:
agent (ChatAgent) – 用于运行基准测试的代理。
(字面量["NVDLibrary" (任务)
"VirusTotal"
"OTX"
:param : :param “PlacesAPI”: :param “ClimateAPI”: :param “VirusTotal-ParallelCalls”: :param : :param “VirusTotal-NestedCalls”: :param : :param “NVDLibrary-NestedCalls”]): 运行基准测试的任务。 :param randomize: 是否随机化数据。
(默认值:
False)- Parameters:
subset (可选[int], 可选) – 要运行的数据子集。 (默认:
None)- Returns:
基准测试的结果。
- Return type:
字典[字符串, 任意类型]
- property train#
获取训练集。
- class camel.benchmarks.nexus.NexusSample(input: str, output: str)[来源]#
基类:
objectNexus基准测试数据集样本。
- input: str#
- output: str#
- class camel.benchmarks.nexus.NexusTool(function_calls: str, descriptions: str)[来源]#
基类:
objectNexus基准测试工具
- descriptions: str#
- function_calls: str#
- camel.benchmarks.nexus.compare_function_calls(agent_call: str, ground_truth_call: str) bool[来源]#
比较agent_call和ground_truth_call的函数名称和参数。 :param agent_call: 代理调用的函数。 :type agent_call: str :param ground_truth_call: 真实函数调用。 :type ground_truth_call: str
- Returns:
True 如果函数名称和参数匹配。
False 否则。
- camel.benchmarks.nexus.parse_function_call(call: str) Tuple[str | None, List[Any] | None, Dict[str, Any] | None][来源]#
解析函数调用字符串以提取函数名称、位置参数和关键字参数,包括嵌套函数调用。
- Parameters:
call (str) – 一个格式为func(arg1, arg2, kwarg=value)的字符串。
- Returns:
(函数名 (str), 位置参数 (list), 关键字参数 (dict)) 或 (None, None, None).
- Return type:
元组
camel.benchmarks.ragbench 模块#
- class camel.benchmarks.ragbench.RAGBenchBenchmark(processes: int = 1, subset: Literal['covidqa', 'cuad', 'delucionqa', 'emanual', 'expertqa', 'finqa', 'hagrid', 'hotpotqa', 'msmarco', 'pubmedqa', 'tatqa', 'techqa'] = 'hotpotqa', split: Literal['train', 'test', 'validation'] = 'test')[来源]#
基础类:
BaseBenchmarkRAGBench 用于评估RAG性能的基准测试。
该基准测试使用rungalileo/ragbench数据集来评估检索增强生成(RAG)系统。它测量了https://arxiv.org/abs/2407.11005中描述的上下文相关性和忠实度指标。
- Parameters:
processes (int, optional) – 并行处理的进程数量。
subset (str, optional) – 要使用的数据集子集(例如:"hotpotqa")。
split (str, optional) – 要使用的数据集分割(例如:"test")。
- load(force_download: bool = False)[来源]#
加载RAGBench数据集。
- Parameters:
force_download (bool, optional) – 是否强制下载数据。
- run(agent: ChatAgent, auto_retriever: AutoRetriever) Dict[str, float | None][来源]#
运行基准评估。
- Parameters:
agent (ChatAgent) – 用于生成答案的聊天代理。
auto_retriever (AutoRetriever) – 用于查找相关上下文的检索器。
- Returns:
评估指标字典。
- Return type:
字典[字符串, 可选[浮点数]]
- class camel.benchmarks.ragbench.RagasFields[来源]#
基类:
objectRAGAS评估字段名称的常量。
- INPUT_ANSWER = 'answer'#
- INPUT_CONTEXT = 'contexts'#
- INPUT_QUESTION = 'question'#
- camel.benchmarks.ragbench.annotate_dataset(dataset: Dataset, context_call: Callable[[Dict[str, Any]], List[str]] | None, answer_call: Callable[[Dict[str, Any]], str] | None) Dataset[来源]#
通过使用提供的函数添加上下文和答案来标注数据集。
- Parameters:
dataset (Dataset) – 需要标注的输入数据集。
context_call (可选[Callable[[Dict[str, Any]], List[str]]]) - 用于为每个示例生成上下文的函数。
answer_call (Optional[Callable[[Dict[str, Any]], str]]) - 用于为每个示例生成答案的函数。
- Returns:
带有添加上下文和/或答案的标注数据集。
- Return type:
数据集
- camel.benchmarks.ragbench.auroc(trues: Sequence[bool], preds: Sequence[float]) float[来源]#
计算接收者操作特征曲线下面积(AUROC)。
- Parameters:
trues (Sequence[bool]) – 真实二元值。
preds (Sequence[float]) - 预测概率值。
- Returns:
AUROC分数。
- Return type:
浮点数
- camel.benchmarks.ragbench.ragas_calculate_metrics(dataset: Dataset, pred_context_relevance_field: str | None, pred_faithfulness_field: str | None, metrics_to_evaluate: List[str] | None = None, ground_truth_context_relevance_field: str = 'relevance_score', ground_truth_faithfulness_field: str = 'adherence_score') Dict[str, float | None][来源]#
计算RAGAS评估指标。
- Parameters:
dataset (Dataset) – 包含预测值和真实值的数据集。
pred_context_relevance_field (可选[str]) - 用于预测上下文相关性的字段名称。
pred_faithfulness_field (可选[str]) - 用于预测忠实度的字段名称。
metrics_to_evaluate (Optional[List[str]]) - 需要评估的指标列表。
ground_truth_context_relevance_field (str) – 用于真实相关性评估的字段名称。
ground_truth_faithfulness_field (str) – 用于真实情况遵循度的字段名称。
- Returns:
计算指标的字典。
- Return type:
字典[字符串, 可选[浮点数]]
- camel.benchmarks.ragbench.ragas_evaluate_dataset(dataset: Dataset, contexts_field_name: str | None, answer_field_name: str | None, metrics_to_evaluate: List[str] | None = None) Dataset[来源]#
使用RAGAS指标评估数据集。
- Parameters:
dataset (Dataset) - 要评估的输入数据集。
contexts_field_name (Optional[str]) - 包含上下文的字段名称。
answer_field_name (可选[str]) - 包含答案的字段名称。
metrics_to_evaluate (可选[列表[字符串]]) - 需要评估的指标列表。
- Returns:
添加了评估指标的数据集。
- Return type:
数据集
模块内容#
- class camel.benchmarks.APIBankBenchmark(save_to: str, processes: int = 1)[来源]#
基础类:
BaseBenchmarkAPI-Bank基准测试改编自API-Bank: 一个用于工具增强型大语言模型的综合基准 <AlibabaResearch/DAMO-ConvAI>。
- Parameters:
save_to (str) - 用于保存结果的文件。
processes (int, optional) – 要使用的进程数量。 (默认值:
1)
- load(level: str, force_download: bool = False)[来源]#
加载APIBank基准测试数据集。
- Parameters:
level (str) – 运行基准测试的级别。
force_download (bool, optional) – 是否强制下载数据。
- run(agent: ChatAgent, level: Literal['level-1', 'level-2'], api_test_enabled=True, randomize: bool = False, subset: int | None = None) Dict[str, Any][来源]#
运行基准测试。
- Parameters:
agent (ChatAgent) – 运行基准测试的代理。
level (Literal['level-1', 'level-2']) - 运行基准测试的级别。
randomize (bool, optional) – 是否随机化数据。
api_test_enabled (bool) - 是否进行测试
调用 (API) – (默认值:
False)subset (可选[int], 可选)
运行. (数据的子集) – (默认值:
None)
- Returns:
基准测试的结果。
- Return type:
字典[字符串, 任意类型]
- class camel.benchmarks.APIBenchBenchmark(data_dir: str, save_to: str, processes: int = 1)[来源]#
基础类:
BaseBenchmarkAPIBench基准测试改编自Gorilla: Large Language Model Connected with Massive APIs <https://huggingface.co/datasets/gorilla-llm/APIBench>。
- Parameters:
data_dir (str) - 保存数据的目录。
save_to (str) - 用于保存结果的文件。
processes (int, optional) – 要使用的进程数量。 (默认值:
1)
- load(dataset_name: str, force_download: bool = False)[来源]#
加载APIBench基准测试数据集。
- Parameters:
dataset_name (str) - 要加载的特定数据集的名称。
force_download (bool, optional) – 是否强制下载数据。(默认:
False)
- run(agent: ChatAgent, dataset_name: Literal['huggingface', 'tensorflowhub', 'torchhub'], randomize: bool = False, subset: int | None = None) Dict[str, Any][来源]#
运行基准测试。
- Parameters:
agent (ChatAgent) – 运行基准测试的代理。
(Literal["huggingface" (dataset_name) – “tensorflowhub”, “torchhub”]): 用于运行基准测试的数据集。
- :param“tensorflowhub”, “torchhub”]):
运行基准测试的数据集。
- Parameters:
randomize (bool, optional) – 是否随机化数据。 (默认:
False)subset (可选[int], optional) – 要运行的数据子集。 (默认:
None)
- class camel.benchmarks.BaseBenchmark(name: str, data_dir: str, save_to: str, processes: int = 1)[来源]#
基类:
ABC基准测试的基类。
- name#
基准测试的名称。
- Type:
字符串
- data_dir#
数据目录的路径。
- Type:
字符串
- save_to#
保存结果的路径。
- Type:
字符串
- processes#
用于并行处理的进程数量。:(默认值:
1)- Type:
int
- abstract download() BaseBenchmark[来源]#
下载基准测试数据。
- Returns:
基准测试实例。
- Return type:
- abstract load(force_download: bool = False) BaseBenchmark[来源]#
加载基准测试数据。
- Parameters:
force_download (bool) - 是否强制下载数据。
- Returns:
基准测试实例。
- Return type:
- property results: List[Dict[str, Any]]#
获取结果。
- Returns:
结果。
- Return type:
List[Dict[str, Any]]
- abstract run(agent: ChatAgent, on: Literal['train', 'valid', 'test'], randomize: bool = False, subset: int | None = None, *args, **kwargs) BaseBenchmark[来源]#
运行基准测试。
- Parameters:
agent (ChatAgent) – 聊天代理。
on (str) – 运行基准测试所使用的数据分割。
randomize (bool) - 是否对数据进行随机化处理。
subset (int) – 运行基准测试的数据子集。
- Returns:
基准测试实例。
- Return type:
- property test: List[Dict[str, Any]]#
获取测试数据。
- Returns:
测试数据。
- Return type:
List[Dict[str, Any]]
- property train: List[Dict[str, Any]]#
获取训练数据。
- Returns:
训练数据。
- Return type:
List[Dict[str, Any]]
- property valid: List[Dict[str, Any]]#
获取验证数据。
- Returns:
验证数据。
- Return type:
List[Dict[str, Any]]
- class camel.benchmarks.DefaultGAIARetriever(url_and_api_key: Tuple[str, str] | None = None, vector_storage_local_path: str | None = None, storage_type: StorageType | None = None, embedding_model: BaseEmbedding | None = None)[来源]#
-
GAIA基准测试的默认检索器。 该检索器使用camel中的AutoRetriever根据查询检索内容。
- class camel.benchmarks.GAIABenchmark(data_dir: str, save_to: str, retriever: RetrieverProtocol | None = None, processes: int = 1)[来源]#
基础类:
BaseBenchmarkGAIA基准测试改编自“GAIA: a benchmark for General AI Assistants”。
- Parameters:
data_dir (str) - 保存数据的目录。
save_to (str) - 用于保存结果的文件。
retriever (可选[RetrieverProtocol]) – 要使用的检索器。 (默认值:
None)processes (int, optional) – 要使用的进程数量。 (默认值:
1)
- get_final_answer(content: str) str[来源]#
从内容中获取最终答案。
- Parameters:
内容 (str) – 需要从中提取最终答案的内容。
- Returns:
最终答案。
- Return type:
字符串
- normalize_str(input_str, remove_punct=True) str[来源]#
规范化字符串。
- Parameters:
input_str – 需要标准化的输入字符串。
remove_punct – 是否移除标点符号。
- Returns:
标准化后的字符串。
- Return type:
字符串
- question_scorer(model_answer: str, ground_truth: str) bool[来源]#
GAIA基准测试的评分器。 https://huggingface.co/spaces/gaia-benchmark/leaderboard/blob/main/ scorer.py
- Parameters:
model_answer (str) – 模型答案。
ground_truth (str) – 真实答案。
- Returns:
模型的评分
- Return type:
布尔值
- run(agent: ChatAgent, on: Literal['train', 'valid', 'test'], level: int | List[int] | Literal['all'], randomize: bool = False, subset: int | None = None) Dict[str, Any][来源]#
运行基准测试。
- Parameters:
agent (ChatAgent) – 用于运行基准测试的代理。
on (Literal["valid", "test"]) – 运行基准测试的数据集。
level (Union[int, List[int], Literal["all"]]) – 运行基准测试的级别。
randomize (bool, optional) – 是否随机化数据。 (默认:
False)subset (可选[int], optional) – 要运行的数据子集。 (默认:
None)
- Returns:
基准测试的结果。
- Return type:
字典[字符串, 任意类型]
- split_string(s: str, char_list: List[str] | None = None) list[str][来源]#
根据字符列表分割字符串。
- Parameters:
s (str) – 要分割的字符串。
char_list (可选[列表[字符串]], 可选) – 用于分割的字符列表。 (默认值:
None)
- property train#
获取训练集。
- class camel.benchmarks.NexusBenchmark(data_dir: str, save_to: str, processes: int = 1)[来源]#
基础类:
BaseBenchmarkNexus Function Calling Benchmark 改编自 NexusRaven V2 函数调用基准测试 <https://huggingface.co/collections/Nexusflow/nexusraven-v2-function-calling-benchmark-657a597fb84dbe7a09ebfc3e>.
- Parameters:
data_dir (str) - 保存数据的目录。
save_to (str) - 用于保存结果的文件。
processes (int, optional) – 要使用的进程数量。 (默认值:
1)
- load(dataset_name: str, force_download: bool = False)[来源]#
加载Nexus基准测试数据集。
- Parameters:
dataset_name (str) - 要加载的特定数据集的名称。
force_download (bool) - 是否强制下载数据。
- run(agent: ChatAgent, task: Literal['NVDLibrary', 'VirusTotal', 'OTX', 'PlacesAPI', 'ClimateAPI', 'VirusTotal-ParallelCalls', 'VirusTotal-NestedCalls', 'NVDLibrary-NestedCalls'], randomize: bool = False, subset: int | None = None) Dict[str, Any][来源]#
运行基准测试。
- Parameters:
agent (ChatAgent) – 用于运行基准测试的代理。
(字面量["NVDLibrary" (任务)
"VirusTotal"
"OTX"
:param : :param “PlacesAPI”: :param “ClimateAPI”: :param “VirusTotal-ParallelCalls”: :param : :param “VirusTotal-NestedCalls”: :param : :param “NVDLibrary-NestedCalls”]): 运行基准测试的任务。 :param randomize: 是否随机化数据。
(默认值:
False)- Parameters:
subset (可选[int], 可选) – 要运行的数据子集。 (默认:
None)- Returns:
基准测试的结果。
- Return type:
字典[字符串, 任意类型]
- property train#
获取训练集。
- class camel.benchmarks.RAGBenchBenchmark(processes: int = 1, subset: Literal['covidqa', 'cuad', 'delucionqa', 'emanual', 'expertqa', 'finqa', 'hagrid', 'hotpotqa', 'msmarco', 'pubmedqa', 'tatqa', 'techqa'] = 'hotpotqa', split: Literal['train', 'test', 'validation'] = 'test')[来源]#
基础类:
BaseBenchmarkRAGBench 用于评估RAG性能的基准测试。
该基准测试使用rungalileo/ragbench数据集来评估检索增强生成(RAG)系统。它测量了https://arxiv.org/abs/2407.11005中描述的上下文相关性和忠实度指标。
- Parameters:
processes (int, optional) – 并行处理的进程数量。
subset (str, optional) – 要使用的数据集子集(例如:"hotpotqa")。
split (str, optional) – 要使用的数据集分割(例如:"test")。
- load(force_download: bool = False)[来源]#
加载RAGBench数据集。
- Parameters:
force_download (bool, optional) – 是否强制下载数据。
- run(agent: ChatAgent, auto_retriever: AutoRetriever) Dict[str, float | None][来源]#
运行基准评估。
- Parameters:
agent (ChatAgent) – 用于生成答案的聊天代理。
auto_retriever (AutoRetriever) – 用于查找相关上下文的检索器。
- Returns:
评估指标字典。
- Return type:
字典[字符串, 可选[浮点数]]