LlamaExtract 核心概念
LlamaExtract 被设计成一个灵活且可扩展的提取平台。该平台的核心包含以下概念:
- 提取智能体: 可重复使用的提取器,配置有特定架构和提取设置。
- 数据模式: 用于定义您希望提取数据的结构化格式,采用JSON/Pydantic格式。详见下方详细说明。
- 提取目标: 定义提取范围以及如何将您的架构应用于文档。详见下方详细说明。
- 提取任务: 在文件集上运行提取智能体的异步提取任务。
- 提取运行: 提取作业的结果,包括提取的数据和其他元数据。
数据模式定义了您希望从文档中提取的数据结构。它是一个JSON模式,用于指定所需信息的字段、类型和描述。
虽然模式本质上是JSON模式(支持完整JSON模式规范的一个子集),我们的Python SDK允许您使用Pydantic模型,以获得更具Python风格的体验,包括类型验证和IDE支持。
了解更多:
- 模式设计与限制 - 创建高效模式的最佳实践、模式及限制
提取目标决定了如何将您的架构应用于文档以及您将获得何种粒度的结果。这是一个重要的配置选项,因为它从根本上改变了数据提取的方式。

| PER_DOC (Default) | PER_PAGE | PER_TABLE_ROW | |
|---|---|---|---|
| 何时使用 | 基于您的JSON模式从完整文档中提取数据的默认模式 | 每个页面独立包含关于不同实体的信息(例如,每个页面包含关于不同投资组合公司的财务信息) | 文档包含一个有序的实体列表(在表格、项目符号/编号列表中,或通过标题分隔),您希望为每个实体提取相同的信息 |
| 工作原理 | 模式作为单个单元应用于整个文档 | 模式独立应用于文档的每一页 | 模式应用于文档中每个已识别的实体。LlamaExtract自动检测区分实体的格式模式(表格行、列表项、章节标题等) |
| 返回值 | 一个与您的架构匹配的单个JSON对象 | 一个JSON对象数组,每页一个,每个都匹配您的模式 | 一个JSON对象数组,每个实体/行对应一个对象,均与您的模式匹配 |
| 示例用例 | 从合同、年度报告或研究论文中提取摘要信息 | 多页表单,其中每页代表不同的实体,或每页包含一条记录的文档 |
|
| 重要说明 | - | 您的模式应描述单个实体/页面,而非列表。请勿使用 extracted_result: list[template],而是直接提供将在页面层级应用的模板 |
|