Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.
Important
Функции, возможности или свойства, помеченные (предварительная версия), не охватываются соглашением об уровне обслуживания, не рекомендуются для рабочих нагрузок и могут изменяться или ограничиваться до того, как они становятся общедоступными. Условия предварительной версии Поиск с использованием ИИ Azure применяются ко всем функциям предварительной версии, независимо от того, является ли он автономным или частью общедоступной функции.
Используйте показ изображений (предварительная версия), чтобы извлекать изображения, встроенные в исходные документы (например, схемы, графики, инфографику, сканированные формы и изображения продуктов), при агентном извлечении, чтобы ваша большая языковая модель (LLM) могла учитывать визуальный контекст наряду с текстом при формировании ответа.
Когда вы включаете выдачу изображений, Поиск с использованием ИИ Azure:
Во время индексирования извлекает изображения из поддерживаемых документов и сохраняет их в предоставленном клиентом хранилище BLOB-объектов Azure.
Во время запроса извлекает эти изображения во время действия извлечения, base64-кодирует их и внедряет их в виде мультимодального содержимого в запрос LLM, который создает синтезированный ответ.
В этой статье показано, как включить обслуживание изображений для базы знаний, переопределить этот параметр для отдельных запросов, проверить статистику обслуживания изображений и учесть требования к жизненному циклу учетной записи хранения.
Поддержка использования
| Портал Azure | Портал Microsoft Foundry | Пакет SDK для .NET | Пакет SDK для Python | SDK для Java | Пакет SDK для JavaScript | REST API |
|---|---|---|---|---|---|---|
| ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Необходимые условия
Служба поиска ИИ Azure с базой знаний , указывающей LLM. База знаний должна использовать синтез ответов.
Индексированный источник знаний на основе файлов, настроенный с помощью
assetStoreв егоingestionParameters. Поддерживаемые типы:- источник знаний Blob (Хранилище BLOB-объектов Azure или Azure Data Lake Storage 2-го поколения)
- Индексированные источники знаний OneLake
- Индексированный источник знаний SharePoint
Для источников знаний BLOB-объектов, использующих стандартное извлечение, выполните предварительные требования к источнику знаний BLOB-объектов.
Источник знаний не должен конфигурировать
ingestionPermissionOptions.Исходные документы, содержащие извлекаемые изображения, такие как PNG-файлы, JPEG-файлы или PDF-файлы с внедренными изображениями.
Ресурс Microsoft Foundry в регионе, который поддерживается Azure Content Understanding в Foundry Tools, с развертываниями моделей эмбеддингов Azure OpenAI и мультимодальных моделей чата. Используйте конечную точку ресурса в формате
https://<resource-name>.services.ai.azure.com.Разрешение на создание или обновление базы знаний и управляемого источника знаний. Настройте аутентификацию без ключа, назначив роли Search Service Contributor и Search Index Data Contributor пользователю или удостоверению автоматизации, которые выполняют эти операции управления (рекомендуется). Кроме того, используйте ключ API администратора.
Разрешение на вызов действия получения данных. Назначьте роль средства чтения данных индекса поиска идентификатору, который отправляет запросы (рекомендуется) или используйте ключ API запроса.
Для исходящих вызовов к LLM при синтезе ответов служба поиска должна иметь управляемое удостоверение с разрешениями Пользователь Cognitive Services для ресурса Microsoft Foundry, в котором размещена LLM.
Для доступа к хранилищу активов настройте управляемое удостоверение службы поиска, как описано в разделе "Настройка хранилища ресурсов" и доступа к приложениям.
REST API 2026-08-01-preview или эквивалентный пакет предварительной версии Azure SDK: .NET | Java | JavaScript | Python
Ограничения и рекомендации
Обслуживание изображений доступно только через API
retrieveпри агентическом извлечении. Классические/docs/searchзапросы не передают изображения, встроенные в документы, для последующего синтеза ответов без специального решения или настройки.Служба изображений выполняется только в режиме вывода синтеза ответа . Режим вывода
extractiveDataпропускает отдачу изображений.Отображение изображений применяется только к индексированным источникам знаний на основе файлов, для которых настроен параметр
assetStoreи имеются проиндексированные фрагменты с заполненными значениямиimage_path.В смешанных базах знаний только поддерживаемые типы источников знаний (BLOB-хранилища, индексированные OneLake и индексированные SharePoint) предоставляют изображения, встроенные в документы, для последующего синтеза ответов. Другие типы по-прежнему могут способствовать привязке текста к контексту.
Обслуживание изображений не поддерживается для источников знаний, использующих
ingestionPermissionOptionsдля получения разрешений уровня документа, включая списки управления доступом (ACL), области действия RBAC или метки конфиденциальности Microsoft Purview. Хранилище ресурсов создает базовое хранилище знаний, а хранилища знаний не поддерживают наследование разрешений.Схема получения ответа не определяет поля для отдельных путей образа хранилища активов или байтов изображений, отправленных в модель. Отчеты о действиях
imageServingсодержат сводные статистические данные об изображениях, полученных и отправленных в модель.Доступ к изображениям контролируется на уровне учетной записи хранения независимо от доступа к индексированного содержимого. Любой субъект с правами на чтение учетной записи хранилища ресурсов может получить хранящиеся в ней образы.
Не храните секреты (ключи учетных записей, токены, строки подключения) в исходных документах, поскольку их содержимое может быть возвращено в качестве базовых данных.
Служба изображений может увеличить задержку синтеза ответа из-за загрузки изображений и обработки многомодальных маркеров. Запустите репрезентативные запросы с включенным и отключенным изображением и сравните задержку отклика с сообщаемой
imageServingактивностью.Анализ содержимого может давать разные результаты обработки изображений для файлов PDF и DOCX. Если требуется стабильное извлечение встроенных изображений и их текстовое описание, преобразуйте исходные документы в PDF или протестируйте каждый исходный формат на типичном содержимом.
Как работает обслуживание изображений
Обслуживание изображений включает два этапа:
Индексирование: Когда вы настраиваете стандартное извлечение содержимого и хранилище ресурсов для источника знаний, созданный навык Content Understanding семантически разбивает документ на фрагменты, сохраняет таблицы в формате Markdown и использует настроенную LLM-модель для описания встроенных иллюстраций. Описания изображений становятся частью обогащенного Markdown, который векторизуется навыком внедрения. Навык также извлекает изображения в хранилище BLOB-ресурсов и добавляет ссылки
image_pathк перекрывающимся фрагментам.При настройке хранилища ресурсов служба поиска также подготавливает хранилище знаний вместе с источником знаний для сохранения извлеченных артефактов изображения. Вы можете проверить и управлять этим хранилищем знаний, как и любой другой.
Извлечения: Когда действие извлечения выполняется с включенным обслуживанием изображений, служба поиска извлекает соответствующие изображения из хранилища активов, base64-кодирует их и включает их в качестве мультимодального содержимого в запросе синтеза ответа.
Настройка хранилища ресурсов и доступа к приложениям
Обработка изображений проходит через три границы доверия. При индексировании служба поиска записывает артефакты изображений в хранилище ресурсов. Во время запроса служба поиска считывает из хранилища ресурсов для получения изображений. Ваше приложение также обращается к хранилищу ресурсов, если ему нужно отобразить изображения в пользовательском интерфейсе. Настройте каждый путь в соответствии с принципом минимальных привилегий.
Доступ службы поиска к хранилищу ресурсов
Используйте Microsoft Entra ID и управляемое удостоверение для службы поиска. Назначьте удостоверение роли участника данных BLOB-объектов хранилища в области учетной записи хранения, так как индексатор записывает артефакты изображений, а действие извлечения считывает их. Если контейнеры исходных данных и ресурсов используют одну и ту же учетную запись, эта роль также предоставляет доступ на чтение исходного BLOB-объекта.
Не включите анонимный общедоступный доступ в контейнере хранилища активов.
Доступ приложения к ссылкам на изображения
Созданный индекс сохраняет image_pathссылки на изображения в хранилище активов. Схема получения ответа не определяет выделенные поля для отдельных путей образа хранилища активов или байтов изображений, отправленных в модель.
sourceData — необязательные структурированные справочные данные, и image_path в них не требуется.
Чтобы отобразить индексированные изображения в приложении, выполните приведенные ниже действия.
Назначьте удостоверению приложения роль Читатель данных BLOB-объектов хранилища в области действия учетной записи хранения ресурсов.
Назначьте удостоверению приложения роль Search Index Data Reader, чтобы оно могло выполнять запросы к созданному индексу.
Получите авторизованный
image_pathиз созданного индекса через управляемый приложением запрос или конечную точку службы.Убедитесь, что ссылка указывает на ожидаемую учетную запись хранения и контейнер с ресурсами. Отклоняйте недоверенные пути перед поиском BLOB.
Получите имя результирующего BLOB-объекта из контейнера активов, используя удостоверение вашего приложения.
Это разделение позволяет контролировать, кто может просматривать исходные изображения независимо от того, кто может вызывать API извлечения.
Настройка хранилища ресурсов в источнике знаний
Настройте assetStore в ingestionParameters поддерживаемого индексированного источника знаний. Хранилище ресурсов — это контейнер BLOB-объектов, принадлежащий вам, в который служба поиска сохраняет артефакты изображений.
Инструкции для конкретного источника см. в следующей статье:
- Создать BLOB-источник знаний
- Создать индексированный источник знаний SharePoint
- Создание источника знаний OneLake
Минимальный источник знаний на основе BLOB с включённой выдачей изображений выглядит так:
PUT https://{service-name}.search.windows.net/knowledgesources/my-blob-ks?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name": "my-blob-ks",
"kind": "azureBlob",
"azureBlobParameters": {
"connectionString": "ResourceId=<storage-resource-id>",
"containerName": "source-documents",
"ingestionParameters": {
"assetStore": {
"connectionString": "ResourceId=<storage-resource-id>",
"containerName": "image-assets"
},
"chatCompletionModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://{foundry-resource}.services.ai.azure.com",
"deploymentId": "gpt-4o",
"modelName": "gpt-4o"
}
},
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://{foundry-resource}.services.ai.azure.com",
"deploymentId": "text-embedding-3-large",
"modelName": "text-embedding-3-large"
}
},
"contentExtractionMode": "standard",
"aiServices": {
"uri": "https://{foundry-resource}.services.ai.azure.com"
}
}
}
}
Note
Замените
<storage-resource-id>на идентификатор ресурса учетной записи хранения Azure. Формат подключенияResourceId=<storage-resource-id>указывает службе поиска использовать управляемое удостоверение для обоих контейнеров.Учетная запись служба хранилища Azure, на котором размещено хранилище активов, должна оставаться доступной и доступной службе поиска в течение всего времени существования базы знаний. Если вы измените сетевые правила, смените ключи, замените удостоверения или переместите учетную запись хранения так, что служба поиска не сможет читать хранилище ресурсов, служба выдачи изображений не сможет передать эти изображения модели. Сравните
imagesRetrievedиimagesSentToModelпо операциям извлечения и тщательно планируйте и тестируйте изменения учетной записи хранения.
Результаты конфигурации
Сочетание assetStore, disableImageVerbalizationи chatCompletionModel определяет, что индексатор хранит и что модель видит во время запроса:
Хранилище ресурсов + вербализация (по умолчанию):
assetStoreзадано,disableImageVerbalizationоставлено какfalse,chatCompletionModelзадано. Индексатор сохраняет изображения в хранилище активов и сохраняет текстовые описания в индексе. Операция извлечения может указыватьverbalizationUsedкакtrue.Только для магазина ресурсов:
assetStoreзадано,disableImageVerbalizationзадано какtrue,chatCompletionModelне требуется. Индексатор сохраняет изображения в хранилище активов, но не создает текстовые описания. Операция извлечения может указыватьverbalizationUsedкакfalse.Хранилище активов отсутствует, набор моделей:
assetStoreне задано,chatCompletionModelзадано. Только текстовые описания, без артефактов изображения. Доставка изображений не поддерживается.Нет хранилища активов, нет модели: Нет обработки изображений.
Проверка конфигурации хранилища ресурсов
Дождитесь завершения приема, прежде чем продолжить:
Проверьте состояние индексатора в портале Azure или используйте Get Indexer Status (REST API).
Проверьте, имеют ли индексированные блоки заполненное
image_pathполе. Еслиimage_pathзначение пусто, проверьте состояние индексатора, конфигурацию хранилища ресурсов базы знаний, содержимое исходного документа и содержимое контейнера активов.Проверьте контейнер хранилища активов. Вы должны увидеть BLOB-объекты изображений, которые индексатор записал при загрузке.
Включить показ изображений в базе знаний
Установите для enableImageServing значение true в ссылке на источник знаний в определении базы знаний. Этот параметр используется по умолчанию для каждого запроса на извлечение, направленного к источнику знаний.
Определение базы знаний также указывает LLM, используемый для синтеза ответов во время запроса. Этот параметр не зависит от любых chatCompletionModel, которые вы задали в ingestionParameters источника знаний и которые управляют вербализацией изображений при индексировании.
Если ваша база знаний ссылается на несколько источников знаний, задайте enableImageServing только для поддерживаемых индексируемых типов на основе файлов, для которых настроен assetStore. Неподдерживаемые виды (например, индекс поиска, удалённые сайты SharePoint или веб-источники) по-прежнему участвуют в текстовой привязке, но не предоставляют встроенные в документы изображения для последующего синтеза ответов.
PUT https://{service-name}.search.windows.net/knowledgebases/my-kb?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name": "my-kb",
"knowledgeSources": [
{
"name": "my-blob-ks",
"enableImageServing": true
}
],
"outputMode": "answerSynthesis",
"models": [
{
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://{foundry-resource}.services.ai.azure.com",
"deploymentId": "gpt-4o",
"modelName": "gpt-4o"
}
}
]
}
Проверьте, включена ли выдача изображений
Отправьте запрос GET к конечной точке базы знаний и убедитесь, что ссылка на источник знаний содержит "enableImageServing": true.
Получение с помощью службы изображений
Вызовите действие извлечения к базе знаний. Чтобы переопределить базу знаний по умолчанию для каждого запроса, задайте enableImageServing в соответствующей записи в разделе knowledgeSourceParams.
POST https://{service-name}.search.windows.net/knowledgebases/my-kb/retrieve?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"retrievalReasoningEffort": { "kind": "medium" },
"outputMode": "answerSynthesis",
"includeActivity": true,
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "What's the wiring configuration shown in the installation guide?" }
]
}
],
"knowledgeSourceParams": [
{
"knowledgeSourceName": "my-blob-ks",
"kind": "azureBlob",
"enableImageServing": true
}
]
}
Note
Обслуживание изображений выполняется только тогда, когда outputMode имеет значение answerSynthesis. Запросы, использующие extractiveData, пропускают отправку изображений, даже если задано значение enableImageServing.
Что происходит на этапе извлечения
Для ссылок на изображения, связанных с совпадающим содержимым, служба поиска загружает соответствующие изображения из хранилища активов, кодирует их в Base64 и передает в виде мультимодального контента в последующую модель синтеза ответов. Просмотрите сводную статистику по выдаче образов в activity.imageServing. Сведения о точной фигуре ответа см. в справочной документации по получению знаний — извлечению (REST API).
Проверьте поведение при извлечении
Ответ на запрос извлечения может содержать следующие сигналы для показа изображений:
Когда
includeActivityимеет значениеtrue, массивactivityотражает активностьimageServingдля источника знаний, когда служба регистрирует операции по выдаче образов.Значение
imagesSentToModel, большее, чем0, означает, что служба сообщает о передаче изображений в нисходящую модель синтеза ответов.
Правила приоритета
Если определение базы знаний и запрос на получение указывают enableImageServing, значение в запросе на получение имеет приоритет. Полный приоритет:
- Значение в
knowledgeSourceParams[].enableImageServingв запросе на извлечение (если оно задано). - Значение соответствующего источника знаний в определении базы знаний (если задано).
-
false(значение по умолчанию).
В следующей таблице перечислены девять сочетаний.
Определение базы знаний (enableImageServing) |
Получение запроса (enableImageServing) |
Включена служба изображений? |
|---|---|---|
true |
true |
Да |
true |
false |
Нет |
true |
Не установлено | Да |
false |
true |
Да |
false |
false |
Нет |
false |
Не установлено | Нет |
| Не установлено | true |
Да |
| Не установлено | false |
Нет |
| Не установлено | Не установлено | Нет |
Проверка статистики обслуживания изображений
При выполнении выдачи изображений ответ на запрос извлечения содержит раздел imageServing для каждого источника знаний внутри массива activity. Используйте этот раздел, чтобы сравнить изображения, полученные из хранилища активов, с изображениями, отправленными в модель.
"activity": [
{
"type": "azureBlob",
"knowledgeSourceName": "my-blob-ks",
"imageServing": {
"verbalizationUsed": true,
"imagesRetrieved": 5,
"imagesSentToModel": 4,
"totalImageSizeBytes": 248361
}
}
]
Отчет полей:
verbalizationUsed: Статистика словесного описания изображения, сообщаемая службой, для операции извлечения.imagesRetrieved: количество изображений, полученных из хранилища ресурсов.imagesSentToModel: Количество изображений, отправляемых в нижестоящую модель.totalImageSizeBytes: общий размер в байтах изображений, отправленных в модель.
Если imagesRetrieved больше imagesSentToModel, не все извлечённые изображения были отправлены в модель.
Проверяйте verbalizationUsed и imagesSentToModel по отдельности. Ответ может содержать информацию как о true в виде verbalizationUsed, так и об одном или нескольких изображениях, отправленных в модель.
Сквозная проверка доставки изображения
Чтобы проверить полную настройку, используйте один из следующих примеров:
Примеры создают источник знаний для BLOB-объектов и базу знаний, сравнивают запросы на извлечение при отключённой и включённой выдаче изображений, а также анализируют статистику выдачи изображений. Они также используют запрос к независимому индексу с подстановочными знаками, чтобы выбрать image_path и загрузить этот ресурс. В примерах выбирается одна ссылка, разделённая точкой с запятой, удаляется префикс проекции, например 11.7:, из относительного пути, либо декодируется URL абсолютного пути и удаляется его начальный сегмент контейнера ресурсов. Эти преобразования — лишь пример поведения, а не гарантии API retrieve. Выбранный ресурс не служит доказательством того, что то же изображение использовалось при формировании конкретного ответа операции retrieve.
Типичный контрольный список сравнения A/B:
Выберите вопрос, на который можно ответить, только опираясь на схему, диаграмму или отсканированное изображение.
Выполните запрос на извлечение с помощью
enableImageServing: falseи сохраните ответ.Выполните тот же запрос на извлечение с
enableImageServing: trueи сравните ответы, задержку и отображаемую активность.Рассматривайте различия ответов как наблюдения сигналов A/B, а не доказательства того, что изображения вызвали различия. Значение
imagesSentToModelбольше, чем0означает, что служба сообщает, что она предоставила изображения модели.
Очистите ресурсы
Перед удалением источника знаний удалите базу знаний. Удаление этих ресурсов Поиск с использованием ИИ Azure не приводит к удалению исходных документов или проецируемых BLOB-объектов изображений в служба хранилища Azure. Удаляйте эти BLOB-объекты отдельно только в том случае, если они больше не нужны ни одному сохраненному конвейеру приема или извлечения данных.
Troubleshooting
Используйте блок активности imageServing из Проверка статистики показа изображений в качестве первого средства диагностики. В следующей таблице перечислены проверки распространенных симптомов, не предполагая ни одной причины.
| Симптом | Чеки |
|---|---|
imagesRetrieved подходит 0 для документов с большим количеством изображений |
Проверьте состояние индексатора и предупреждения, значения image_path, заполненные в соответствующих индексированных фрагментах, и двоичные объекты изображений в контейнере ресурсов. Убедитесь, что исходные документы содержат изображения, доступные для извлечения, и что удостоверению службы поиска назначена роль Storage Blob Data Contributor на уровне учетной записи хранения. |
Ответ Retrieve не содержит блока imageServing |
Убедитесь, что в запросе для includeActivity задано значение true. Проверьте эффективное enableImageServing значение после применения запроса, базы знаний и приоритета по умолчанию. Убедитесь, что outputMode имеет статус answerSynthesis, и проверьте ошибки и предупреждения в исходном действии. |
verbalizationUsed отличается от того, что вы ожидаете |
Проверьте disableImageVerbalization, chatCompletionModelи последнее состояние индексатора. Проверьте verbalizationUsed независимо от imagesSentToModel. Ответ может содержать текстовое описание и изображения, отправленные вместе. |
| Сбой при синтезе ответов или превышение времени ожидания после включения показа изображений | Сравнивайте репрезентативные запросы с включенным и отключенным обслуживанием изображений. Проверьте ошибки и предупреждения действий, состояние развертывания модели синтеза ответов, разрешения удостоверения службы поиска для модели и учетной записи хранения, а также доступность хранилища ресурсов. |
Приложение не может отрисовать image_path, запрашиваемый независимо. |
Убедитесь, что независимый запрос к индексу возвращает пригодный для использования image_path, что указанный BLOB-объект существует и что приложение может получить доступ к BLOB-объекту независимо от операции retrieve. Убедитесь, что удостоверению приложения назначена роль Search Index Data Reader для запросов к индексу и роль Storage Blob Data Reader в области действия учетной записи хранения ресурсов. |