简介#
这些任务旨在测试检索增强型生成 (RAG) 架构在各种数据集上的性能。
您可以查看注册表中检索任务的最新列表
from langchain_benchmarks import registry
registry.filter(Type="RetrievalTask")
名称 | 类型 | 数据集 ID | 描述 |
---|---|---|---|
LangChain 文档问答 | 检索任务 | 452ccafc-18e1-4314-885b-edd735f17b9d | 基于 LangChain Python 文档快照的问答。环境提供文档和检索器信息。每个示例都包含一个问题和参考答案。成功与答案相对于参考答案的准确性成正比。我们还衡量模型响应相对于检索到的文档(如果有)的忠实度。 |
半结构化收益 | 检索任务 | c47d9617-ab99-4d6e-a6e6-92b8daf85a7d | 基于包含表格和图表 PDF 的问答。该任务提供原始文档以及工厂方法,可轻松索引它们并创建检索器。每个示例都包含一个问题和参考答案。成功与答案相对于参考答案的准确性成正比。我们还衡量模型响应相对于检索到的文档(如果有)的忠实度。 |
任务资源#
除了名称、daset_id 和描述之外,每个检索任务还提供一些辅助函数,您可以使用这些函数来配置您的管道。
get_docs: callable
- 从缓存中获取原始Document
对象。每个任务都可能提供可配置的参数,您可以使用这些参数来定义如何获取原始文档。retriever_factories: Dict[str, callable]
- 定义一些可配置的管道,您可以使用这些管道来转换文档、嵌入它们并将它们添加到向量存储(或其他检索器对象)中,以便在下游使用。它们使用 LangChain 的缓存index
API,因此您不必为每次评估重新索引。对于自定义转换,我们要求您提供一个transformation_name
来隔离缓存和向量存储命名空间。目前(2023/11/21),这些都使用 Chroma 作为向量存储,但您可以将其替换掉chain_factories: Dict[str, callable]
- 定义一些您可以配置的现成架构来评估。
评估时,您不必使用任何这些工厂方法。您可以改为在评估之前定义自己的自定义架构或 ETL 管道。它们旨在促进特定设计决策的评估和比较。
数据集模式#
每个任务都对应一个具有以下模式的 LangSmith 数据集
输入
question: str - 用户问题
输出
answer: str - 预期答案