Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
analyzer в Azure Content Understanding in Foundry Tools — это настраиваемая единица обработки, которая определяет, как анализируется содержимое и какие данные извлекаются.
Анализатор определяет:
- Тип содержимого для обработки (документы, изображения, аудио или видео)
- Какие элементы необходимо извлечь (текст, макет, таблицы, поля, расшифровки)
- Структура выходных данных (markdown, поля JSON, сегменты)
- Какие модели искусственного интеллекта следует использовать для обработки
Анализаторы — это основные строительные блоки понимания контента. Они объединяют извлечение содержимого, анализ на основе ИИ и структурированные выходные данные в одну, многократно использованную конфигурацию. Вы можете использовать предварительно созданные анализаторы для распространенных сценариев или создавать пользовательские анализаторы, адаптированные к конкретным потребностям.
Если не указано иное, в примерах в этой статье используется версия API общедоступной версии 2025-11-01. Компоненты, помеченные как необходимые 2026-06-01-previewдля предварительной версии.
Типы анализаторов
Понимание контента предоставляет несколько типов анализаторов.
-
Базовые анализаторы: базовые анализаторы, предоставляющие основные возможности обработки для каждого типа контента (
prebuilt-document, ,prebuilt-audio,prebuilt-videoprebuilt-image). Используйте эти анализаторы в качестве стандартных блоков для пользовательских анализаторов. -
Анализаторы RAG: извлечение содержимого с семантическим пониманием для поиска и приложений ИИ. Они оптимизированы для сценариев генерации, дополненной извлечением. Примеры включают
prebuilt-documentSearchиprebuilt-videoSearch. -
Анализаторы, относящиеся к домену: предварительно настроены для определенных типов документов и отраслей, таких как счета, квитанции, документы идентификатора и контракты. Примеры:
prebuilt-invoice,prebuilt-receiptиprebuilt-idDocument. - Настраиваемые анализаторы: анализаторы, создаваемые путем расширения базовых анализаторов с помощью пользовательских схем полей и конфигураций в соответствии с конкретными требованиями.
Дополнительные сведения и полный список доступных анализаторов, относящихся к домену, см. в разделе "Предварительно созданные анализаторы".
Примечание
Анализаторы документов, созданные с помощью версии 2026-06-01-preview API, также могут использовать агентический режим для сценариев, для которых требуется обоснование для создания ответа, например вычислений и проверки. Начальная предварительная версия поддерживает один входной файл для каждого запроса на анализ.
Структура конфигурации анализатора
Определите конфигурацию анализатора с помощью объекта JSON с несколькими свойствами верхнего уровня. Вы можете настроить следующие компоненты:
-
Свойства анализатора — основная идентификация и метаданные
- analyzerId — уникальный идентификатор
- name — отображаемое имя
- description — описание назначения
- baseAnalyzerId — ссылка на родительский анализатор
- Конфигурация модели — параметры модели ИИ
-
Конфигурация обработки — параметры обработки содержимого
- Конфигурация — параметры поведения
-
Схема поля — извлечение структурированных данных
- fieldSchema — определения полей
Ниже приведен сжатый пример, показывающий общую структуру конфигурации анализатора:
{
"analyzerId": "myCustomInvoiceAnalyzer",
"description": "Extracts vendor information, line items, and totals from commercial invoices",
"baseAnalyzerId": "prebuilt-document",
"config": {
"enableOcr": true
},
"fieldSchema": {
"fields": {
"vendorName": {
"type": "string"
}
}
},
"models": {
"completion": "gpt-5.2",
"embedding": "text-embedding-3-large"
}
}
Свойства анализатора
Используйте эти свойства для уникальной идентификации и описания анализатора:
analyzerId
- Описание: Уникальный идентификатор анализатора. Используйте этот идентификатор для ссылки на анализатор в вызовах API.
-
Пример:
"prebuilt-invoice","myCustomAnalyzer" -
Руководящие принципы:
- Используйте описательные имена, указывающие назначение анализатора.
- Для пользовательских анализаторов выберите имена, которые не конфликтуют с предварительно созданными именами анализаторов.
- Используйте буквы, цифры, точки или знаки подчеркивания.
name
- Описание: Имя, понятное для человека, отображаемое в пользовательских интерфейсах и документации.
-
Пример:
"Invoice document understanding","Custom receipt processor"
description
- Описание: Краткое описание того, что делает анализатор и какой контент он обрабатывает. Модель ИИ использует это описание в качестве контекста во время извлечения полей, поэтому четкие описания повышают точность извлечения.
-
Примере:
"Analyzes invoice documents to extract line items, totals, vendor information, and payment terms" -
Руководящие принципы:
- Будьте конкретными в том, что извлекает анализатор.
- Укажите поддерживаемые типы контента.
- Держите его кратким, но информативным.
- Напишите четкие описания, чтобы помочь модели ИИ понять их.
baseAnalyzerId
- Описание: Ссылается на родительский анализатор, из которого этот анализатор наследует конфигурацию.
-
Поддерживаемые базовые анализаторы:
-
"prebuilt-document"— для пользовательских анализаторов на основе документов -
"prebuilt-audio"— для пользовательских анализаторов на основе звука -
"prebuilt-video"— для пользовательских анализаторов на основе видео -
"prebuilt-image"— для пользовательских анализаторов на основе изображений
-
-
Примере:
"baseAnalyzerId": "prebuilt-document"
Примечание
При указании базового анализатора пользовательский анализатор наследует все конфигурации по умолчанию и может переопределить определенные параметры.
Конфигурация модели
models
-
Описание: Указывает, какие имена моделей Foundry следует использовать при обработке с помощью этого анализатора. Это названия моделей (а не имена развертывания), которые использует служба. Они должны соответствовать одному из
supportedModelsбазового анализатора. Полный список моделей, поддерживаемых content Understanding, указан в поддерживаемых моделях. -
Свойства:
-
completion— Имя модели для задач завершения (извлечение полей, сегментация, анализ рисунков, например) -
embedding— Имя модели для внедрения задач (с помощью базы знаний)
-
- Важно: Эти имена моделей приходят из каталога Foundry, а не имен развертывания. Во время выполнения служба сопоставляет эти имена моделей с фактическими развертываниями модели, настроенными на уровне ресурсов.
-
Примере:
{ "completion": "gpt-5.2", "embedding": "text-embedding-3-large" }
Дополнительные сведения о настройке подключенных моделей см. в статье "Подключение ресурса "Понимание содержимого" с помощью моделей Foundry .
Конфигурация обработки
Объект config содержит все параметры обработки, которые управляют анализом содержимого. Эти параметры делятся на категории на основе функциональных возможностей:
Свойства объекта конфигурации
Общие параметры
workflow
-
Значения запроса:
"default","agentic" -
По умолчанию:
"default" -
Описание: Выбирает рабочий процесс при создании анализатора документов. Используйте
"default"или опустите свойство, чтобы позволить службе выбрать рабочий процесс на основе конфигурации анализатора. Используйте"agentic"для включения агентического режима для расширенной рассудки над сложными документами. -
Значение ответа: Служба разрешает значение запроса при создании анализатора. Создание или обновление ответов и
GETответов возвращает значение семейства рабочих процессов с версиями.config.workflow -
Влияние на затраты: Разрешенное семейство рабочих процессов определяет частоту контекстуализации. Значения, начинающиеся с использования
standardстандартной частоты контекстуализации. Все остальные семьи, включаяadvancedagenticи будущие семейства рабочих процессов, поддерживаемые службой, используют расширенную скорость контекстуализации. Агентический режим также может использовать больше маркеров модели и занять больше времени, чем неагентический анализ. -
Поддерживается: Анализаторы документов с версией
2026-06-01-previewAPI. Предварительная версия начального режима агента поддерживает один входной файл для каждого запроса анализа. -
Примере:
{ "config": { "workflow": "agentic" } }
В следующей таблице показано, как служба разрешает workflow пользовательские анализаторы:
| Сценарий создания анализатора | Значение запроса | Возвращено config.workflow |
Скорость контекстуализации |
|---|---|---|---|
Версия 2025-11-01 API или более ранняя |
Недоступно |
standard.2025-11-01 при получении с помощью API предварительной версии |
Standard |
| Предварительный просмотр API без помеченных данных |
"default" или опущен |
standard.2026-06-01-preview |
Standard |
| Предварительный просмотр API с помеченными данными |
"default" или опущен |
advanced.2026-06-01-preview |
Advanced |
| Предварительный просмотр API с агентическим режимом | "agentic" |
agentic.2026-06-01-preview |
Advanced |
Предварительно созданные анализаторы возвращают значение, назначаемое службой, версия standard или advanced рабочий процесс. Семейство рабочих процессов определяет применимый коэффициент контекстуализации.
returnDetails
- Значение по умолчанию: false (зависит от анализатора)
- Описание: Определяет, следует ли включать подробные сведения в ответ, такие как оценки достоверности, ограничивающие поля, диапазоны текста и метаданные.
-
Когда следует использовать:
- Установите значение
trueпри отладке проблем извлечения. - Если вам нужны сведения о местоположении для извлеченных данных.
- Если для проверки требуются оценки достоверности.
- Для проверки качества и тестирования.
- Установите значение
- Влияние на ответ: Значительно увеличивает размер отклика с большими метаданными.
Параметры извлечения содержимого документа
enableOcr
- Значение по умолчанию: true
- Описание: Позволяет оптическому распознаванию символов извлекать текст из изображений и сканированных документов.
-
Когда следует использовать:
- Включите сканированные документы, фотографии и pdf-файлы на основе изображений.
- Отключите для исходных цифровых PDF-файлов, чтобы улучшить производительность.
- Поддерживается: Анализаторы документов.
enableLayout
- Значение по умолчанию: true
- Описание: Извлекает сведения о макете, включая абзацы, строки, слова, порядок чтения и структурные элементы.
-
Когда следует использовать:
- Требуется для понимания структуры и иерархии документов.
- Требуется для точного извлечения абзаца и раздела.
- Отключите, если требуется только извлечение необработанного текста.
- Поддерживается: Анализаторы на основе документов.
enableFormula
- Значение по умолчанию: true
- Описание: Обнаруживает и извлекает математические формулы и уравнения в формате LaTeX.
-
Когда следует использовать:
- Активируйте поддержку для научных статей, исследовательских документов и технической документации.
- Отключите в общих бизнес-документах, чтобы повысить производительность.
- Поддерживается: Анализаторы на основе документов.
enableBarcode
- Значение по умолчанию: true
- Описание: Обнаруживает и извлекает штрихкоды и QR-коды, возвращая декодированные значения.
-
Когда следует использовать:
- Включите документы инвентаризации, этикетки доставки, документацию по продуктам.
- Отключите, если штрихкоды отсутствуют для повышения производительности.
- Поддерживается: Анализаторы на основе документов.
- Поддерживаемые типы штрихкодов: QR-код, PDF417, JSON-A, JSON-E, Code 39, Code 128, EAN-8, EAN-13, DataBar, Code 93, Codabar, ITF, Micro QR Code, Aztec, Data Matrix, MaxiCode.
Параметры таблицы и диаграммы
tableFormat
-
По умолчанию:
"html" -
Поддерживаемые значения:
"html","markdown" - Описание: Задает выходной формат извлеченных таблиц.
-
Когда следует использовать:
- Применяйте
"html"для веб-рендеринга или при необходимости сохранения сложных структур таблиц. - Используется
"markdown"для простых таблиц в документации или текстовой обработке.
- Применяйте
- Поддерживается: Анализаторы на основе документов.
chartFormat
-
По умолчанию:
"chartjs" -
Поддерживаемые значения:
"chartjs" - Описание: Задает формат извлеченных данных диаграммы и графа. Совместим с библиотекой Chart.js.
-
Когда следует использовать:
- При извлечении данных из линейчатых диаграмм, графиков и круговых диаграмм.
- При преобразовании визуальных диаграмм в структурированные данные для повторной отрисовки.
- Поддерживается: Анализаторы на основе документов.
Параметры анализа рисунков и изображений
enableFigureDescription
- Значение по умолчанию: false
- Описание: Создает описания текста естественного языка для рисунков, схем, изображений и иллюстраций.
-
Когда следует использовать:
- Для требований по доступности (генерация альтернативного текста).
- Для понимания диаграмм и блок-схем.
- Извлечение аналитических сведений из инфографики.
- Поддерживается: Анализаторы на основе документов.
enableFigureAnalysis
- Значение по умолчанию: false
- Описание: Выполняет более глубокий анализ цифр, включая извлечение данных диаграммы и идентификацию компонентов схемы.
-
Когда следует использовать:
- Для извлечения структурированных данных из диаграмм, внедренных в документы.
- Для понимания сложных схем.
- Для подробной классификации рисунков.
- Поддерживается: Анализаторы на основе документов.
Параметры аннотации
annotationFormat
-
По умолчанию:
"markdown" -
Поддерживаемые значения:
"markdown" - Описание: Задает формат возвращаемых заметок.
- Поддерживается: Анализаторы на основе документов.
Параметры извлечения полей
estimateFieldSourceAndConfidence
- Значение по умолчанию: false (зависит от анализатора)
- Описание: Возвращает исходное расположение (номер страницы, ограничивающий прямоугольник) и оценку достоверности для каждого извлеченного значения поля.
-
Когда следует использовать:
- Для рабочих процессов проверки и обеспечения качества.
- Для понимания точности извлечения.
- Для отладки проблем с извлечением.
- Выделение исходного текста в пользовательских интерфейсах.
-
Поддерживается: Анализаторы документов для всех типов полей документа (
extractиclassifyметодов).generate
Параметры аудио и видео
locales
-
По умолчанию:
[](пустой массив) - Описание: Список кодов локалей и языковых кодов для обработки данных, в основном для транскрипции.
-
Поддерживаемые значения: Коды языка BCP-47 (например,
["en-US", "es-ES", "fr-FR", "de-DE"]) -
Когда следует использовать:
- Для транскрибирования звука с несколькими языками.
- Для указания ожидаемого языка для повышения точности.
- Для обработки содержимого в определенных региональных вариантах.
-
Поддерживается:
prebuilt-audio,prebuilt-videoprebuilt-callCenter
Примечание
Полный список поддерживаемых языков и языковых стандартов см. в разделе "Поддержка языков и регионов".
Параметры классификации
contentCategories
- По умолчанию: Не задано
-
Описание: Определяет категории или типы контента для автоматической классификации и маршрутизации в специализированные обработчики. При использовании с
enableSegment set to falseв настоящее время поддерживается только для документов. Он классифицирует весь файл. При использованииenableSegment=trueс файлом разбивается на блоки согласно этим категориям, при этом каждый сегмент классифицируется и при необходимости обрабатывается анализатором для определенных категорий. Всегда выбирает один параметр из списка доступных категорий. -
Структура: Каждая категория содержит следующее:
-
description— (Обязательно) Подробное описание категории или типа документа. Это описание выступает в качестве запроса, который направляет модель искусственного интеллекта в определении границ сегментов и классификации. Включите отличительные характеристики, чтобы определить, где заканчивается одна категория и начинается другая. -
analyzerId— (Необязательно) Ссылка на другой анализатор, используемый для этой категории. Указанный анализатор подключён, а не копируется, что обеспечивает согласованное поведение. Если опущено, выполняется только классификация без дополнительной обработки (сценарий только для разделения).
-
-
Использование модели: Модели, указанные в свойстве родительского анализатора
models, используются только для сегментации и классификации. Каждый поданализер использует собственную конфигурацию модели для извлечения. -
Поведение с
enableSegment:-
enableSegment: true: содержимое разделено на сегменты на основе описаний категорий. Каждый сегмент классифицируется по одной из определенных категорий. Возвращает метаданные сегмента в оригинальном объекте контента и дополнительные объекты контента для сегментов, в которых указаныanalyzerId. -
enableSegment: false: весь контент классифицируется как целое в одну категорию и направляется соответствующим образом. Полезно для иерархической классификации без разделения.
-
- Сопоставление категорий: Если категория "другая" или "по умолчанию" не определена, содержимое принудительно классифицируется в одну из перечисленных категорий. Включите категорию "другое" для корректной обработки несопоставимого содержимого.
- Поддерживается: Анализаторы документов и видео. Для видео можно определить только одну категорию контента.
enableSegment
- Значение по умолчанию: false
-
Описание: Включает сегментацию содержимого, разбивая файл на блоки на основе категорий, указанных в
contentCategories. Затем каждый сегмент классифицируется в одну из определенных категорий для выборочной обработки. -
Поведение сегментации: Служба делит содержимое на логические единицы, анализируя содержимое по описаниям категорий. Границы сегментов определяются с помощью:
- Документы: Описания категорий в сочетании со структурой контента (страницы, разделы, изменения форматирования).
- Видео: Описания категорий в сочетании с визуальными подсказками (изменения кадров, переходы между сценами, временные рамки). Поддерживается только одна contentCategory.
-
Когда следует использовать:
- Обработка пакетов смешанного содержимого, в которых разные части нуждаются в разной обработке (например, PDF-файл, содержащий как счета, так и квитанции).
- Разделение длинных документов на классифицированные блоки для выборочного анализа.
- Анализ видео по типу контента (например, разделяя рекламу от основного содержания).
-
Структура выходных данных:
-
segmentsВозвращает массив в объекте содержимого, содержащего метаданные для каждого сегмента (идентификатор, границы, категория). - Каждый сегмент включает свою классифицированную категорию из
contentCategories. - Дополнительные объекты содержимого возвращаются для сегментов с указанной категорией
analyzerId.
-
-
Иерархическая сегментация: Если анализатор категории также имеет
enableSegment: true, сегменты могут быть рекурсивно разделены, что позволяет разбить многоуровневое содержимое. - Влияние на производительность: Увеличивает время обработки больших файлов, особенно с большим количеством сегментов.
- Поддерживается: Анализаторы документов и видео.
segmentPerPage
- Значение по умолчанию: false
- Описание: Если сегментация включена, создавайте по одному сегменту на страницу вместо использования границ логического содержимого. Заменяет необходимость в отдельных режимах разделения "perPage".
-
Когда следует использовать:
- Построковые рабочие процессы обработки.
- Каждая страница должна рассматриваться как независимая единица.
- Параллельная обработка отдельных страниц.
- Извлечение полей на уровне страницы в многостраничных документах.
- Пакеты смешанных документов, в которых каждая страница является разным типом документа.
- Поддерживается: Анализаторы на основе документов.
omitContent
- Значение по умолчанию: false
-
Описание: Когда
true, исходный объект содержимого исключается из ответа. Ответ включает только структурированные данные поля или объекты содержимого из поданализеров при использованииcontentCategories. -
Когда следует использовать:
- Если вам нужны только извлеченные значения поля.
- В составных анализаторах с
contentCategories, предназначенных для возврата только классифицированных результатов. - Для иерархических цепочек классификации возвращаются только листовые результаты анализатора.
-
Пример — выборочный анализ:
{ "config": { "enableSegment": true, "contentCategories": { "invoice": { "analyzerId": "prebuilt-invoice" }, "other": { } // Categorize but don't process }, "omitContent": true // Only return invoice analysis results } } - Поддерживается: Анализаторы документов.
Конфигурация поля
Свойство fieldSchema определяет, какие структурированные данные анализатор извлекает из содержимого. Он указывает поля, их типы и способ их извлечения.
Намерение конструктора: структурированное извлечение
Схемы полей преобразуют неструктурированное содержимое в структурированные, запрашиваемые данные. Схема выполняет обе функции:
- Контракт, определяющий, какие данные извлекаются
- Руководство для модели ИИ о том, что нужно учитывать и как это интерпретировать
Структура схемы полей
{
"fieldSchema": {
"name": "InvoiceAnalysis",
"fields": {
"VendorName": {
"type": "string",
"description": "Name of the vendor or supplier",
"method": "extract"
},
"InvoiceTotal": {
"type": "number",
"description": "Total amount due on the invoice",
"method": "extract"
},
"LineItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Description": { "type": "string" },
"Quantity": { "type": "number" },
"UnitPrice": { "type": "number" },
"Amount": { "type": "number" }
}
},
"description": "List of items on the invoice, typically in a table format",
"method": "generate"
}
}
}
}
Свойства схемы полей
name
- Описание: Имя схемы, обычно описывающее тип контента или вариант использования
-
Пример:
"InvoiceAnalysis","ReceiptExtraction""ContractFields"
fields
-
Описание: Объект, определяющий каждое поле для извлечения, с именами полей в качестве ключей. Пустой объект
{}указывает, что структурированные поля не извлекаются (например, анализаторы, работающие только с макетами). -
Иерархическая поддержка: Поддерживает вложенные поля и
objectarrayтипы для представления сложных структур данных - Лучшие практики: Избегайте глубокого вложения (более двух или трех уровней), так как это может снизить производительность и точность извлечения.
Свойства определения поля
Каждое поле в объекте fields имеет следующие свойства:
type
-
Поддерживаемые значения:
"string", ,"number","boolean""date""object""array" - Описание: Тип данных значения поля. Выберите тип, который лучше всего соответствует семантике данных для оптимального извлечения.
- Автоматическая нормализация: Для поддерживаемых типизированных полей Content Understanding автоматически нормализует возвращаемое значение в канонический формат (например, согласованный формат даты).
description
- Описание: Четкое объяснение того, что содержит поле и где его найти. Модель искусственного интеллекта обрабатывает это описание как мини-запрос на извлечение полей, поэтому специфичность и ясность напрямую повышают точность извлечения.
Сведения о написании эффективных описаний полей см. в рекомендациях по извлечению полей.
method
-
Поддерживаемые значения:
"generate","extract","classify" - Описание: Метод извлечения, используемый для этого поля. Если метод не указан, система автоматически определяет лучший метод на основе типа поля и описания.
-
Типы методов:
-
"generate"— Значения создаются свободно на основе содержимого с помощью моделей ИИ (лучше всего для сложных или переменных полей, требующих интерпретации). -
"extract"— Значения извлекаются в том виде, в каком они отображаются в содержимом (оптимально для извлечения литерального текста из определенных мест). Для этого поля требуетсяestimateSourceAndConfidenceзадать значениеtrueизвлечения. -
"classify"— Значения классифицируются по предопределенной группе категорий (лучше всего при использованииenumс фиксированным набором возможных значений).
-
estimateSourceAndConfidence
- Значение по умолчанию: false
-
Описание: Возвращает исходное расположение (номер страницы, ограничивающий прямоугольник) и оценку достоверности для этого значения поля. Должно иметь значение true для полей с
method= extract. Это свойство переопределяет свойство уровняestimateFieldSourceAndConfidenceанализатора. -
Когда следует использовать:
- Для рабочих процессов проверки и обеспечения качества.
- Для понимания точности извлечения.
- Для отладки проблем с извлечением.
- Выделение исходного текста в пользовательских интерфейсах.
-
Поддерживается: Анализаторы документов для всех типов полей документа (
extractиclassifyметодов).generate
items (для типов массивов)
- Описание: Определяет структуру элементов в массиве
-
Свойства:
-
type— Тип элементов массива ("string","number","object") -
properties— Для элементов объекта определяет структуру вложенных полей.
-
properties (для типов объектов)
- Описание: Определяет структуру вложенных полей в объекте
-
Примере:
{ "Address": { "type": "object", "properties": { "Street": { "type": "string" }, "City": { "type": "string" }, "State": { "type": "string" }, "ZipCode": { "type": "string" } }, "description": "Complete mailing address" } }
Полный пример анализатора
Ниже приведен полный пример конфигурации пользовательского анализатора счетов, демонстрирующего основные понятия, описанные в этой ссылке:
{
"analyzerId": "myCustomInvoiceAnalyzer",
"name": "Custom Invoice Analyzer",
"description": "Extracts vendor information, line items, and totals from commercial invoices",
"baseAnalyzerId": "prebuilt-document",
"config": {
"returnDetails": true,
"enableOcr": true,
"enableLayout": true,
"tableFormat": "html",
"estimateFieldSourceAndConfidence": true,
"omitContent": false
},
"fieldSchema": {
"name": "InvoiceFields",
"fields": {
"VendorName": {
"type": "string",
"description": "Name of the vendor or supplier, typically found in the header section",
"method": "extract"
},
"VendorAddress": {
"type": "object",
"properties": {
"Street": { "type": "string" },
"City": { "type": "string" },
"State": { "type": "string" },
"ZipCode": { "type": "string" }
},
"description": "Complete vendor mailing address"
},
"InvoiceNumber": {
"type": "string",
"description": "Unique invoice number, often labeled as 'Invoice #' or 'Invoice No.'",
"method": "extract"
},
"InvoiceDate": {
"type": "date",
"description": "Date the invoice was issued, in format MM/DD/YYYY",
"method": "extract"
},
"DueDate": {
"type": "date",
"description": "Payment due date",
"method": "extract"
},
"LineItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Description": {
"type": "string",
"description": "Item or service description"
},
"Quantity": {
"type": "number",
"description": "Quantity ordered"
},
"UnitPrice": {
"type": "number",
"description": "Price per unit"
},
"Amount": {
"type": "number",
"description": "Line total (Quantity × UnitPrice)"
}
}
},
"description": "List of items or services on the invoice, typically in a table format",
"method": "generate"
},
"Subtotal": {
"type": "number",
"description": "Sum of all line items before tax",
"method": "extract"
},
"Tax": {
"type": "number",
"description": "Tax amount"
},
"Total": {
"type": "number",
"description": "Total amount due (Subtotal + Tax)"
},
"PaymentTerms": {
"type": "string",
"description": "Payment terms and conditions (for example, 'Net 30', 'Due upon receipt')",
"method": "generate"
}
}
},
"supportedModels": {
"completion": ["gpt-5.2"],
"embedding": ["text-embedding-3-large", "text-embedding-3-small"]
},
"models": {
"completion": "gpt-5.2",
"embedding": "text-embedding-3-large"
}
}
Создание пользовательского анализатора
Чтобы создать пользовательский анализатор на основе структуры конфигурации, описанной в этом документе, используйте REST API content Understanding для отправки определения анализатора.
Конечная точка API
Используйте следующую команду curl, чтобы создать пользовательский анализатор, отправив конфигурацию анализатора из JSON-файла:
curl -X PUT "https://{endpoint}/contentunderstanding/analyzers/{analyzerId}?api-version=2025-11-01" \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: {key}" \
-d @analyzer-definition.json
Замените следующие заполнители:
-
{endpoint}— конечная точка ресурса "Понимание содержимого" -
{analyzerId}— уникальный идентификатор анализатора -
{key}— Ключ подписки для распознавания содержимого -
analyzer-definition.json— Путь к файлу конфигурации анализатора
Текст запроса
Файл конфигурации анализатора должен быть объектом JSON, содержащим свойства, описанные в этой ссылке. Полный пример см. в руководстве по созданию пользовательского анализатора.
Ответ
API возвращает ответ с заголовком 201 CreatedOperation-Location , который можно использовать для отслеживания состояния операции создания анализатора.
Дальнейшие действия
Полное пошаговое руководство по различным типам контента (документам, изображениям, аудио, видео) см. в разделе "Создание пользовательского анализатора".
Конфигурация по типу контента
Различные типы контента поддерживают различные параметры конфигурации. Ниже приведен краткий справочник.
Анализаторы документов
Базовый анализатор:prebuilt-document
Поддерживаемые параметры конфигурации:
- ✅
returnDetails - ✅
omitContent - ✅
enableOcr - ✅
enableLayout - ✅
enableFormula - ✅
enableBarcode - ✅
tableFormat - ✅
chartFormat - ✅
enableFigureDescription - ✅
enableFigureAnalysis - ✅
enableAnnotations - ✅
annotationFormat - ✅
enableSegment - ✅
segmentPerPage -
✅
estimateFieldSourceAndConfidence(структурированные анализаторы) -
✅
contentCategories(анализаторы с несколькими вариантами)
Звуковые анализаторы
Базовый анализатор:prebuilt-audio
Поддерживаемые параметры конфигурации:
- ✅
returnDetails - ✅
locales
Видеоанализаторы
Базовый анализатор:prebuilt-video
Поддерживаемые параметры конфигурации:
- ✅
returnDetails - ✅
locales - ✅
contentCategories - ✅
enableSegment - ✅
omitContent
Анализаторы изображений
Базовый анализатор:prebuilt-image
Поддерживаемые параметры конфигурации:
- ✅
returnDetails
Фильтр содержимого приводит к анализу ответа
Когда развертывание модели Foundry обрабатывает содержимое, связанный экземпляр Guardrails оценивает как входной запрос, так и результат работы модели на предмет потенциально вредного содержимого. Если какая-либо категория помечена или заблокирована, Content Understanding включает массив content_filters в ответ анализа.
Каждый объект в массиве content_filters имеет следующую структуру:
| Свойство | Тип | Описание |
|---|---|---|
blocked |
булев | |
source_type |
Строка | Независимо от того, был ли флаг получен из входных данных модели ("prompt") или выходных данных модели ("completion"). |
content_filter_raw |
Массив | Выходные данные необработанного фильтра из экземпляра Guardrails. Может быть пустым. |
content_filter_results |
Объект | Оценки серьезности для каждой категории. Каждая категория содержит filtered (логический) и severity ("safe", "low", "medium" или "high"). |
Следующие категории могут появляться в content_filter_results.
| Категории | Описание |
|---|---|
hate |
Содержимое, которое атакует или использует уничижительный язык по признаку защищенной характеристики. |
sexual |
Явное или неявное сексуальное содержимое. |
violence |
Содержимое, изображающее или прославляющее насильственные акты. |
self_harm |
Содержимое, которое способствует или описывает самоповредение. |
Пример вывода content_filters
В следующем примере показана content_filters запись, в которой завершение было заблокировано из-за высокого уровня серьезности сексуального содержимого:
"content_filters": [
{
"blocked": true,
"source_type": "completion",
"content_filter_raw": [],
"content_filter_results": {
"hate": {
"filtered": false,
"severity": "safe"
},
"sexual": {
"filtered": true,
"severity": "high"
},
"violence": {
"filtered": false,
"severity": "safe"
}
}
}
]
В blockedtrue случае операция анализа возвращает ответ об ошибке, и результаты извлечения полей не включаются. Когда blocked, но категории отображаются с ненулевой серьезностью, содержимое аннотируется и передается далее — вы можете проверить false, чтобы решить, как обрабатывать результаты в своем рабочем процессе.
Изменение поведения фильтра содержимого
Пороговые значения фильтра содержимого и поведение блокировки и аннотации настраиваются в экземпляре Guardrails, подключенном к развертыванию модели Foundry. Чтобы изменить поведение, выполните следующие действия:
- В проекте Azure AI Foundry перейдите к развертыванию модели, используемой анализатором.
- Выберите связанную конфигурацию Guardrails.
- При необходимости настройте пороговые значения или переключитесь из категории Блок в Аннотировать.
Если вам нужно уменьшить уровень фильтрации или отключить категорию фильтра таким образом, который не разрешен по умолчанию, вы можете подать заявку на модифицированные фильтры контента. Дополнительные сведения см. в разделе "Фильтрация содержимого" и "Guardrails".
Связанное содержимое
- Узнайте о предварительно созданных анализаторах, доступных в Content Understanding.
- Изучите шаблоны анализаторов , чтобы быстро приступить к работе.
- Создайте собственный анализатор, следуя руководству по пользовательскому анализатору.
- Ознакомьтесь с рекомендациями по оптимальному извлечению результатов.
- Узнайте о режиме агента для сложных сценариев сложных сценариев документирования с большим количеством причин.
- Ознакомьтесь с элементами документа и элементами видео , чтобы получить подробные сведения об извлеченном содержимом.
- Начните с создания и тестирования анализаторов в Foundry.