简介#

这些任务指的是 LLM 从非结构化源(如电子邮件、网站或其他文本)中提取结构化输出的能力。以下是支持的数据集列表。

from langchain_benchmarks import registry

registry.filter(Type="ExtractionTask")
名称类型数据集 ID描述
电子邮件提取提取任务a1742786-bde5-4f51-a1d8-e148e5251ddb一个包含 42 封真实电子邮件的数据集,从垃圾邮件文件夹中去重,并删除语义 HTML 标签,以及一个用于从任意 .mbox 文件(如 Gmail 导出的文件)中初始提取和格式化其他电子邮件的脚本。在初始阶段之后,对数据进行了额外的清理。请参阅 https://github.com/jacoblee93/oss-model-extraction-evals。
聊天提取提取任务00f4444c-9460-4a82-b87a-f50096f1cfef一个旨在测试 LLM 从对话中提取和推断结构化信息的能力的数据集。对话在用户和支持工程师之间进行。输出应结构化为 JSON 对象,并测试 LLM 正确结构化信息的能力以及执行简单分类任务的能力。

任务资源#

除了 dataset_id、名称和描述之外,每个提取任务还提供以下内容

  • schema - 一个 pydantic 基类,定义了模型应该提取的模式(或模式)

数据集模式#

每个任务对应于一个 LangSmith 数据集,具有以下模式

输入

  • input: str - 输入文本

输出

  • output: str - 预期的提取结果,以 json 对象形式

评估#

提取任务还具有评估配置,该配置定义了在对架构进行基准测试时要应用的默认 LangSmith 评估器。

from langchain.chat_models import ChatOpenAI

from langchain_benchmarks.extraction import get_eval_config

eval_llm = ChatOpenAI(model="gpt-4", model_kwargs={"seed": 42})
eval_config = get_eval_config(eval_llm)