Что такое анализатор распознавания содержимого?

analyzer в Azure Content Understanding in Foundry Tools — это настраиваемая единица обработки, которая определяет, как анализируется содержимое и какие данные извлекаются.

Анализатор определяет:

  • Тип содержимого для обработки (документы, изображения, аудио или видео)
  • Какие элементы необходимо извлечь (текст, макет, таблицы, поля, расшифровки)
  • Структура выходных данных (markdown, поля JSON, сегменты)
  • Какие модели искусственного интеллекта следует использовать для обработки

Анализаторы — это основные строительные блоки понимания контента. Они объединяют извлечение содержимого, анализ на основе ИИ и структурированные выходные данные в одну, многократно использованную конфигурацию. Вы можете использовать предварительно созданные анализаторы для распространенных сценариев или создавать пользовательские анализаторы, адаптированные к конкретным потребностям.

Типы анализаторов

Понимание контента предоставляет несколько типов анализаторов.

  • Базовые анализаторы: базовые анализаторы, предоставляющие основные возможности обработки для каждого типа контента (prebuilt-document, , prebuilt-audio, prebuilt-videoprebuilt-image). Используйте эти анализаторы в качестве стандартных блоков для пользовательских анализаторов.
  • Анализаторы RAG: извлечение содержимого с семантическим пониманием для поиска и приложений ИИ. Они оптимизированы для сценариев генерации, дополненной извлечением. Примеры включают prebuilt-documentSearch и prebuilt-videoSearch.
  • Анализаторы, относящиеся к домену: предварительно настроены для определенных типов документов и отраслей, таких как счета, квитанции, документы идентификатора и контракты. Примеры: prebuilt-invoice, prebuilt-receiptи prebuilt-idDocument.
  • Настраиваемые анализаторы: анализаторы, создаваемые путем расширения базовых анализаторов с помощью пользовательских схем полей и конфигураций в соответствии с конкретными требованиями.

Дополнительные сведения и полный список доступных анализаторов, относящихся к домену, см. в разделе "Предварительно созданные анализаторы".

Структура конфигурации анализатора

Определите конфигурацию анализатора с помощью объекта JSON с несколькими свойствами верхнего уровня. Вы можете настроить следующие компоненты:

Ниже приведен сжатый пример, показывающий общую структуру конфигурации анализатора:

{
  "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-4.1",
    "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-4o",
      "embedding": "text-embedding-3-large"
    }
    

Дополнительные сведения о настройке подключенных моделей см. в статье "Подключение ресурса "Понимание содержимого" с помощью моделей Foundry .

Конфигурация обработки

Объект config содержит все параметры обработки, которые управляют анализом содержимого. Эти параметры делятся на категории на основе функциональных возможностей:

Свойства объекта конфигурации

Общие параметры

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 (зависит от анализатора)
  • Описание: Возвращает исходное расположение (номер страницы, ограничивающий прямоугольник) и оценку достоверности для каждого извлеченного значения поля.
  • Когда следует использовать:
    • Для рабочих процессов проверки и обеспечения качества.
    • Для понимания точности извлечения.
    • Для отладки проблем с извлечением.
    • Выделение исходного текста в пользовательских интерфейсах.
  • Поддерживается: Анализаторы документов (счета, квитанции, удостоверения личности, налоговые формы)

Параметры аудио и видео

locales
  • По умолчанию:[] (пустой массив)
  • Описание: Список кодов локалей и языковых кодов для обработки данных, в основном для транскрипции.
  • Поддерживаемые значения: Коды языка BCP-47 (например, ["en-US", "es-ES", "fr-FR", "de-DE"])
  • Когда следует использовать:
    • Для транскрибирования звука с несколькими языками.
    • Для указания ожидаемого языка для повышения точности.
    • Для обработки содержимого в определенных региональных вариантах.
  • Поддерживается:prebuilt-audio, prebuilt-videoprebuilt-callCenter

Примечание

Полный список поддерживаемых языков и языковых стандартов см. в разделе "Поддержка языков и регионов".

disableFaceBlurring
  • Значение по умолчанию: false
  • Описание: Определяет, размыты ли лица в изображениях и видео для защиты конфиденциальности.
  • Когда следует использовать:
    • Задайте значение true , когда видимость лиц требуется для анализа.
    • Установите false, когда требуется обезличивание отдельных лиц в общем содержимом.
  • Поддерживается:prebuilt-image, prebuilt-video

Важно

Функция возможностей распознавания лиц в Content Understanding — это служба ограниченного доступа, а регистрация требуется для доступа. Функция группирования лиц и идентификации в Content Understanding ограничена на основе критериев соответствия и использования. Служба распознавания лиц доступна только для Microsoft управляемых клиентов и партнеров. Используйте форму заявки на доступ для распознавания лиц для получения доступа. Дополнительные сведения см. в разделе о вложениях и мерах предосторожности для ответственного использования искусственного интеллекта в распознавании лиц.

Параметры классификации

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": "generative"
      }
    }
  }
}

Свойства схемы полей

name

  • Описание: Имя схемы, обычно описывающее тип контента или вариант использования
  • Пример:"InvoiceAnalysis", "ReceiptExtraction""ContractFields"

fields

  • Описание: Объект, определяющий каждое поле для извлечения, с именами полей в качестве ключей. Пустой объект {} указывает, что структурированные поля не извлекаются (например, анализаторы, работающие только с макетами).
  • Иерархическая поддержка: Поддерживает вложенные поля и objectarray типы для представления сложных структур данных
  • Лучшие практики: Избегайте глубокого вложения (более двух или трех уровней), так как это может снизить производительность и точность извлечения.

Свойства определения поля

Каждое поле в объекте fields имеет следующие свойства:

type

  • Поддерживаемые значения:"string", , "number", "boolean""date""object""array"
  • Описание: Тип данных значения поля. Выберите тип, который лучше всего соответствует семантике данных для оптимального извлечения.

description

  • Описание: Четкое объяснение того, что содержит поле и где его найти. Модель искусственного интеллекта обрабатывает это описание как мини-запрос на извлечение полей, поэтому специфичность и ясность напрямую повышают точность извлечения.

Сведения о написании эффективных описаний полей см. в рекомендациях по извлечению полей.

method

  • Поддерживаемые значения:"generate", "extract", "classify"
  • Описание: Метод извлечения, используемый для этого поля. Если метод не указан, система автоматически определяет лучший метод на основе типа поля и описания.
  • Типы методов:
    • "generate" — Значения создаются свободно на основе содержимого с помощью моделей ИИ (лучше всего для сложных или переменных полей, требующих интерпретации).
    • "extract" — Значения извлекаются в том виде, в каком они отображаются в содержимом (оптимально для извлечения литерального текста из определенных мест). Для этого поля необходимо установить enableSourceGroundingAndConfidence в значение true.
    • "classify" — Значения классифицируются по предопределенной группе категорий (лучше всего при использовании enum с фиксированным набором возможных значений).
estimateSourceAndConfidence
  • Значение по умолчанию: false
  • Описание: Возвращает исходное расположение (номер страницы, ограничивающий прямоугольник) и оценку достоверности для этого значения поля. Должно иметь значение true для полей с method = extract. Это свойство переопределяет свойство уровня estimateFieldSourceAndConfidence анализатора.
  • Когда следует использовать:
    • Для рабочих процессов проверки и обеспечения качества.
    • Для понимания точности извлечения.
    • Для отладки проблем с извлечением.
    • Выделение исходного текста в пользовательских интерфейсах.
  • Поддерживается: Анализаторы документов (счета, квитанции, удостоверения личности, налоговые формы)

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": "generative"
      },
      "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 (e.g., 'Net 30', 'Due upon receipt')",
        "method": "generative"
      }
    }
  },
  "supportedModels": {
    "completion": ["gpt-4o", "gpt-4o-mini", "gpt-4.1"],
    "embedding": ["text-embedding-3-large", "text-embedding-3-small"]
  },
  "models": {
    "completion": "gpt-4.1",
    "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
  • disableFaceBlurring

Анализаторы изображений

Базовый анализатор:prebuilt-image

Поддерживаемые параметры конфигурации:

  • returnDetails
  • disableFaceBlurring

Фильтр содержимого приводит к анализу ответа

Когда развертывание модели Foundry обрабатывает содержимое, связанный экземпляр Guardrails оценивает как входной запрос, так и результат работы модели на предмет потенциально вредного содержимого. Если какая-либо категория помечена или заблокирована, Content Understanding включает массив content_filters в ответ анализа.

Каждый объект в массиве content_filters имеет следующую структуру:

Свойство Тип Описание
blocked булев если содержимое было заблокировано экземпляром Guardrails; если оно было аннотировано, но разрешено.
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. Чтобы изменить поведение, выполните следующие действия:

  1. В проекте Azure AI Foundry перейдите к развертыванию модели, используемой анализатором.
  2. Выберите связанную конфигурацию Guardrails.
  3. При необходимости настройте пороговые значения или переключитесь из категории Блок в Аннотировать.

Если вам нужно уменьшить уровень фильтрации или отключить категорию фильтра таким образом, который не разрешен по умолчанию, вы можете подать заявку на модифицированные фильтры контента. Дополнительные сведения см. в разделе "Фильтрация содержимого" и "Guardrails".