你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
文档智能组合的自定义模型
重要
- 使用文档智能选公共预览版,可以提前使用目前正处于开发状态的功能。 在正式发布 (GA) 之前,根据用户反馈,功能、方法和流程可能会发生更改。
- 文档智能客户端库的公共预览版默认使用 REST API 版本 2024-07-31-preview。
- 公共预览版 2024-07-31-preview 目前仅在以下 Azure 区域中可用。 请注意,AI Studio 中的自定义生成式(文档字段提取)模型仅适用于美国中北部区域:
- 美国东部
- 美国西部 2
- “西欧”
- 美国中北部
此内容适用于: v2.1 | 最新版本: v4.0(预览版)
重要
api-version=2024-07-31-preview 中的 model compose
操作行为发生了变更。 model compose
操作 v4.0 及更高版本添加了用于分析的显式训练分类器,而不是隐式分类器。 对于以前的组合模型版本,请参阅组合自定义模型 v3.1。 如果当前正在使用组合模型,请考虑升级到最新的实现。
什么是组合模型?
借助组合模型,你可以将多个自定义模型分组到使用单个模型 ID 调用的组合模型。 例如,组合模型可能包含为分析供应、设备和家具采购订单而进行训练的自定义模型。 可以使用组合模型为每次分析和提取确定适当的自定义模型,而不是手动尝试选择适当的模型。
某些方案需要先对文档进行分类,然后使用最适合从模型中提取字段的模型分析文档。 此类方案包括用户上传文档但文档类型不明确的情况。 另一种情况是将多个文档一起扫描到单个文件中,然后提交该文件进行处理。 然后,应用程序需要识别组件文档,并为每个文档选择最佳模型。
在以前的版本中,model compose
操作执行隐式分类,以确定哪个自定义模型最能表示提交的文档。 model compose
操作的 2024-07-31-preview
实现将早期版本中的隐式分类替换为显式分类步骤,并添加条件路由。
新的模型组合操作的优势
新的 model compose
操作要求训练显式分类器并提供多个优势。
持续增量改进。 可以通过添加更多样本和增量改进分类来提高分类器的质量。 这种微调可确保文档始终路由到正确的模型以供提取。
通过路由实现完全控制。 通过添加基于可信度的路由,可以为文档类型和分类响应提供可信度阈值。
在操作期间忽略文档特定的文档类型。
model compose
操作的早期实现根据可信度分数选择最佳分析模型进行提取,即使最高的可信度分数相对较低。 通过提供可信度阈值或不显式地将已知文档类型从分类映射到提取模型,可以忽略特定的文档类型。分析同一文档类型的多个实例。 与分类器的
splitMode
选项配对时,model compose
操作可以检测文件中同一文档的多个实例,并拆分文件以独立处理每个文档。 使用splitMode
可以在单个请求中处理文档的多个实例。支持附加功能。 还可以将附加功能(如查询字段或条形码)指定为分析模型参数的一部分。
分配的自定义模型可最大扩展为 500。 通过实现新的
model compose
操作,最多可将 500 个经过训练的自定义模型分配到单个组合模型。
如何使用模型组合
首先收集所有所需的文档示例,包括应提取或忽略的信息的示例。
通过在文件夹中组织文档来训练分类器,其中文件夹名称是要用于组合模型定义的文档类型。
最后,为要使用的每个文档类型训练提取模型。
训练分类和提取模型后,请使用文档智能工作室、客户端库或 REST API 将分类和提取模型组合到组合模型中。
使用 splitMode
参数控制文件拆分行为:
- 无。 整个文件被视为单个文档。
- perPage。 文件中的每一页都被视为单独的文档。
- auto。文件会自动拆分为多个文档。
计费和定价
组合模型的计费方式与单个自定义模型相同。 定价基于下游分析模型分析的页面数。 计费基于路由到提取模型的页面的提取价格。 添加显式分类后,输入文件中所有页面的分类都会产生费用。 有关详细信息,请参阅文档智能定价页面。
使用模型撰写操作
首先,创建要组合成单个模型的所有模型 ID 列表。
使用工作室、REST API 或客户端库将模型组合到单个模型 ID 中。
使用组合模型 ID 分析文档。
计费
组合模型的计费方式与单个自定义模型相同。 定价基于分析的页面数。 计费基于路由到提取模型的页面的提取价格。 有关详细信息,请参阅文档智能定价页面。
- 使用单个自定义模型或组合自定义模型分析文档的定价没有变化。
组合模型功能
Custom template
和custom neural
模型可以跨多个 API 版本组合成单个组合模型。响应包含一个
docType
属性,用于指示已使用哪个组合模型分析了文档。对于
custom template
模型,可以使用自定义模板的变体或不同的表单类型来创建组合模型。 当传入的表单属于多个模板中的一个模板时,此操作非常有用。对于
custom neural
模型,最佳做法是将单个文档类型的所有不同变体添加到单个训练数据集中,并在自定义神经模型上进行训练。model compose
操作最适合提交不同类型的文档进行分析的方案。
组合模型的限制
通过
model compose
操作,最多可将 500 个模型分配到单个模型 ID 中。 如果我要组合的模型数超过组合的模型数上限,可以使用以下替代方案之一:在调用自定义模型之前将文档分类。 可以使用读取模型,并使用代码、正则表达式或搜索等源基于从文档中提取的文本和特定短语生成分类。
如果要从各种结构化、半结构化和非结构化文档中提取相同的字段,请考虑使用深度学习自定义神经网络模型。 详细了解自定义模板模型与自定义神经网络模型之间的差别。
使用组合模型分析文档与使用单个模型分析文档相同。
Analyze Document
结果返回一个docType
属性,该属性指示选择用于分析文档的组件模型。model compose
操作目前仅适用于使用标签训练的自定义模型。
组合模型兼容性
自定义模型类型 | 使用 v2.1 和 v2.0 训练的模型 | 自定义模板和神经模型 v3.1 和 v3.0 | 自定义模板和神经模型 v4.0 预览版 | 自定义生成式模型 v4.0 预览版 |
---|---|---|---|---|
使用版本 2.1 和 v2.0 训练的模型 | 不支持 | 不支持 | 不支持 | 不支持 |
自定义模板和神经模型 v3.0 和 v3.1 | 不支持 | 支持 | 受支持 | 不支持 |
自定义模板和神经模型 v4.0 预览版 | 不支持 | 支持 | 受支持 | 不支持 |
自定义生成式模型 v4.0 预览版 | 不支持 | 不支持 | 不支持 | 不支持 |
若要组合使用旧版 API(v2.1 或更低版本)训练的模型,请使用相同的标记数据集通过 v3.0 API 训练模型。 该附加事项确保 v2.1 模型可以与其他模型组合在一起。
继续支持使用 API v2.1 组合的模型,这些模型无需更新。
开发选项
文档智能 v4.0:2024-07-31-preview 现支持以下工具、应用程序和库:
功能 | 资源 |
---|---|
自定义模型 | • 文档智能工作室 • REST API • C# SDK • Java SDK • JavaScript SDK • Python SDK |
组合的模型 | • 文档智能工作室 • REST API • C# SDK • Java SDK • JavaScript SDK • Python SDK |
文档智能 v3.1:2023-07-31 (GA) 支持以下工具、应用程序和库:
功能 | 资源 |
---|---|
自定义模型 | • 文档智能工作室 • REST API • C# SDK • Java SDK • JavaScript SDK • Python SDK |
组合的模型 | • 文档智能工作室 • REST API • C# SDK • Java SDK • JavaScript SDK • Python SDK |
文档智能 v3.0:2022-08-31 (GA) 支持以下工具、应用程序和库:
功能 | 资源 |
---|---|
自定义模型 | • 文档智能工作室 • REST API • C# SDK • Java SDK • JavaScript SDK • Python SDK |
组合的模型 | • 文档智能工作室 • REST API • C# SDK • Java SDK • JavaScript SDK • Python SDK |
文档智能 v2.1 支持以下资源:
功能 | 资源 |
---|---|
自定义模型 | • 文档智能标记工具 • REST API • 客户端库 SDK • 文档智能 Docker 容器 |
组合的模型 | • 文档智能标记工具 • REST API • C# SDK • Java SDK • JavaScript SDK • Python SDK |
后续步骤
了解如何创建和组合自定义模型: