Document Intelligence custom template model
Important
- Document Intelligence public preview releases provide early access to features that are in active development. Features, approaches, and processes may change, prior to General Availability (GA), based on user feedback.
- The public preview version of Document Intelligence client libraries default to REST API version 2024-07-31-preview.
- Public preview version 2024-07-31-preview is currently only available in the following Azure regions. Note that the custom generative (document field extraction) model in AI Foundry portal is only available in North Central US region:
- East US
- West US2
- West Europe
- North Central US
This content applies to: v4.0 (preview) | Previous versions: v3.1 (GA) v3.0 (GA) v2.1 (GA)
This content applies to: v3.1 (GA) | Latest version: v4.0 (preview) | Previous versions: v3.0 v2.1
This content applies to: v3.0 (GA) | Latest versions: v4.0 (preview) v3.1 | Previous version: v2.1
This content applies to: v2.1 | Latest version: v4.0 (preview)
Custom template (formerly custom form) is an easy-to-train document model that accurately extracts labeled key-value pairs, selection marks, tables, regions, and signatures from documents. Template models use layout cues to extract values from documents and are suitable to extract fields from highly structured documents with defined visual templates.
Custom template models share the same labeling format and strategy as custom neural models, with support for more field types and languages.
Model capabilities
Custom template models support key-value pairs, selection marks, tables, signature fields, and selected regions.
Form fields | Selection marks | Tabular fields (Tables) | Signature | Selected regions | Overlapping fields |
---|---|---|---|---|---|
Supported | Supported | Supported | Supported | Supported | Not supported |
Tabular fields
With the release of API versions v3.0 and later, custom template models add support for cross page tabular fields (tables):
- To label a table that spans multiple pages, label each row of the table across the different pages in a single table.
- As a best practice, ensure that your dataset contains a few samples of the expected variations. For example, include samples where the entire table is on a single page and where tables span two or more pages if you expect to see those variations in documents.
Tabular fields are also useful when extracting repeating information within a document that isn't recognized as a table. For example, a repeating section of work experiences in a resume can be labeled and extracted as a tabular field.
Dealing with variations
Template models rely on a defined visual template, changes to the template results in lower accuracy. In those instances, split your training dataset to include at least five samples of each template and train a model for each of the variations. You can then compose the models into a single endpoint. For subtle variations, like digital PDF documents and images, it's best to include at least five examples of each type in the same training dataset.
Input requirements
For best results, provide one clear photo or high-quality scan per document.
Supported file formats:
Model PDF Image:
JPEG/JPG
,PNG
,BMP
,TIFF
,HEIF
Microsoft Office:
Word (DOCX), Excel (XLSX), PowerPoint (PPTX), and HTMLRead ✔ ✔ ✔ Layout ✔ ✔ ✔ (2024-02-29-preview, 2023-10-31-preview or later) General Document ✔ ✔ Prebuilt ✔ ✔ Custom ✔ ✔ ✱ Microsoft Office files are currently not supported for other models or versions.
For PDF and TIFF, up to 2,000 pages can be processed (with a free tier subscription, only the first two pages are processed).
The file size for analyzing documents is 500 MB for paid (S0) tier and 4 MB for free (F0) tier.
Image dimensions must be between 50 x 50 pixels and 10,000 px x 10,000 pixels.
If your PDFs are password-locked, you must remove the lock before submission.
The minimum height of the text to be extracted is 12 pixels for a 1024 x 768 pixel image. This dimension corresponds to about
8
-point text at 150 dots per inch (DPI
).For custom model training, the maximum number of pages for training data is 500 for the custom template model and 50,000 for the custom neural model.
For custom extraction model training, the total size of training data is 50 MB for template model and 1G-MB for the neural model.
For custom classification model training, the total size of training data is
1GB
with a maximum of 10,000 pages.
Training a model
Custom template models are generally available starting with v2.0 API and later versions. If you're starting with a new project or have an existing labeled dataset, use the v3.1 or v3.0 API with Document Intelligence Studio to train a custom template model.
Model | REST API | SDK | Label and Test Models |
---|---|---|---|
Custom template | v3.1 API | Document Intelligence SDK | Document Intelligence Studio |
With the v3.0 and later APIs, the build operation to train model supports a new buildMode
property, to train a custom template model, set the buildMode
to template
.
https://{endpoint}/documentintelligence/documentModels:build?api-version=2024-07-31-preview
{
"modelId": "string",
"description": "string",
"buildMode": "template",
"azureBlobSource":
{
"containerUrl": "string",
"prefix": "string"
}
}
Custom template models are generally available with the v3.1 API. If you're starting with a new project or have an existing labeled dataset, use the v3.1 or v3.0 API with Document Intelligence Studio to train a custom template model.
Model | REST API | SDK | Label and Test Models |
---|---|---|---|
Custom template | v3.1 API | Document Intelligence SDK | Document Intelligence Studio |
With the v3.0 and later APIs, the build operation to train model supports a new buildMode
property, to train a custom template model, set the buildMode
to template
.
https://{endpoint}/formrecognizer/documentModels:build?api-version=2023-07-31
{
"modelId": "string",
"description": "string",
"buildMode": "template",
"azureBlobSource":
{
"containerUrl": "string",
"prefix": "string"
}
}
Supported languages and locales
See our Language Support—custom models page for a complete list of supported languages.
Custom (template) models are generally available with the v2.1 API.
Model | REST API | SDK | Label and Test Models |
---|---|---|---|
Custom model (template) | Document Intelligence 2.1 | Document Intelligence SDK | Document Intelligence Sample labeling tool |
Next steps
Learn to create and compose custom models: