Поделиться через


Краткое руководство: Поиск мультимодального контента на портале Azure

В этом кратком руководстве вы используете мастер импорта и векторизации данных на портале Azure для начала работы с многомодальным поиском. Мастер упрощает процесс извлечения, фрагментирования, векторизации и загрузки текста и изображений в индекс, доступный для поиска.

В отличие от краткого руководства: Векторный поиск в портале Azure, которое обрабатывает простые изображения, содержащие текст, это краткое руководство поддерживает расширенную обработку изображений для мультимодальных сценариев RAG.

В этом кратком руководстве используется мультимодальный PDF-файл из репозитория azure-search-sample-data. Однако вы можете использовать разные файлы и все же завершить работу с этим быстрым запуском.

Необходимые компоненты

Поддерживаемые методы извлечения

Для извлечения содержимого можно выбрать извлечение по умолчанию с помощью поиска ИИ Azure или расширенного извлечения с помощью Аналитики документов ИИ Azure. В следующей таблице описаны оба метода извлечения.

Метод Описание
Извлечение по умолчанию Извлекает метаданные расположения только из pdf-изображений. Не требуется другой ресурс ИИ Azure.
Расширенное извлечение Извлекает метаданные расположения из текста и изображений для нескольких типов документов. Требуется многослужбный ресурс служб Azure AI1 в поддерживаемом регионе.

1 Для выставления счетов необходимо присоединить мультисервисный ресурс Azure AI к набору навыков в службе поиска ИИ Azure. Если для создания набора навыков не используется подключение без ключа , оба ресурса должны находиться в одном регионе.

Поддерживаемые методы внедрения

Для встраивания контента можно выбрать вербализацию изображений (с последующей векторизацией текста) или мультимодальные эмбеддинги. Инструкции по развертыванию моделей приведены в следующем разделе. В следующей таблице описаны оба метода внедрения.

Метод Описание Поддерживаемые модели
Словесизация изображений Использует LLM для создания описаний на естественном языке для изображений, а затем использует модель встраивания для векторизации простого текста и вербальных описаний изображений.

Требуется ресурс Azure OpenAI1, 2 или проект Azure AI Foundry.

Для векторизации текста можно также использовать многослужбный ресурс Служб ИИ Azureвподдерживаемом регионе.
LLM:
GPT-4o
GPT-4o-mini
phi-4 4

Внедрение моделей:
text-embedding-ada-002
Встраивание текста - версия 3 - малая
текст-встраивание-3-большой
Многомодальные внедрения Использует модель внедрения для непосредственного векторизации текста и изображений.

Требуется проект Azure AI Foundry или мультисервисный ресурс Azure AI-сервисов в поддерживаемом регионе.
Cohere-embed-v3-english (английский язык)
Cohere-embed-v3-multilingual (многоязычная)

1 Конечная точка ресурса Azure OpenAI должна иметь настраиваемый поддомен, например https://my-unique-name.openai.azure.com. Если вы создали ресурс на портале Azure, этот поддомен был автоматически создан во время настройки ресурса.

2 ресурса Azure OpenAI (с доступом к моделям внедрения), созданным на портале Azure AI Foundry , не поддерживаются. Необходимо создать ресурс Azure OpenAI на портале Azure.

3 Для выставления счетов необходимо присоединить многосервисный ресурс Azure AI к набору навыков в службе поиска Azure AI. Если для создания набора навыков не используется подключение без ключа (предварительная версия), оба ресурса должны находиться в одном регионе.

4phi-4 доступно только для проектов Azure AI Foundry.

Требования к общедоступной конечной точке

Все предыдущие ресурсы должны иметь общедоступный доступ, чтобы портал Azure узлы могли получить к ним доступ. В противном случае мастер завершается ошибкой. После запуска мастера можно включить брандмауэры и частные конечные точки в компонентах интеграции для обеспечения безопасности. Дополнительные сведения см. в разделе "Безопасные подключения" в мастерах импорта.

Если частные конечные точки уже присутствуют и их невозможно отключить, альтернативой является запуск соответствующего сквозного потока из скрипта или программы на виртуальной машине. Виртуальная машина должна находиться в той же виртуальной сети, что и частная конечная точка. Ниже приведен пример кода Python для интегрированной векторизации. В том же репозитории GitHub есть примеры на других языках программирования.

Проверка доступного пространства

Если вы начинаете работу с бесплатной службой, вы ограничены тремя индексами, тремя источниками данных, тремя наборами навыков и тремя индексаторами. Перед началом работы убедитесь, что у вас достаточно места для дополнительных элементов. В этом кратком руководстве создается один из каждого объекта.

Настройка доступа

Перед началом работы убедитесь, что у вас есть разрешения на доступ к содержимому и операциям. Для авторизации рекомендуется использовать аутентификацию и доступ на основе ролей Microsoft Entra ID. Для назначения ролей необходимо быть владельцем или администратором доступа пользователей . Если роли не являются возможными, вместо этого можно использовать проверку подлинности на основе ключей .

Настройте необходимые роли и условные роли , определенные в этом разделе.

Обязательные роли

Поиск ИИ Azure и служба хранилища Azure необходимы для всех сценариев многомодального поиска.

Поисковая система Azure AI предоставляет многомодальную платформу. Настройте доступ для себя и службы поиска для чтения данных, запуска конвейера и взаимодействия с другими ресурсами Azure.

В службе поиска по искусственному интеллекту Azure:

  1. Включите доступ на основе ролей.

  2. Настройте управляемое удостоверение, назначаемое системой.

  3. Назначьте себе следующие роли :

    • Участник службы поиска

    • Участник данных индекса поиска

    • Средство чтения индексов поиска

Условные роли

На следующих вкладках рассматриваются все ресурсы, совместимые с мастером для многомодального поиска. Выберите только вкладки, которые применяются к выбранному методу извлечения и методу внедрения.

Azure OpenAI предоставляет LLM для описания изображений и модели встраивания для векторизации текста и изображений. Для службы поиска требуется доступ к навыку GenAI Prompt и навыку внедрения Azure OpenAI.

В ресурсе Azure OpenAI:

Подготовка примера данных

В этом кратком руководстве используется пример многомодального PDF-файла, но вы также можете использовать собственные файлы. Если вы пользуетесь бесплатным поисковым сервисом, используйте менее 20 файлов, чтобы оставаться в пределах бесплатной квоты для обработки данных.

Чтобы подготовить примеры данных для этого краткого руководства:

  1. Войдите на портал Azure и выберите учетную запись хранения Azure.

  2. В левой области выберитеконтейнеры> данных.

  3. Создайте контейнер и отправьте пример PDF-файла в контейнер.

  4. Создайте другой контейнер для хранения изображений, извлеченных из PDF-файла.

Развертывание моделей

Мастер предлагает несколько вариантов внедрения содержимого. Для словесного описания изображений требуется большая языковая модель (LLM) для составления описаний и модель встраивания для преобразования текста и содержимого изображения в векторы, в то время как для прямых многомодальных встраиваний требуется только одна модель встраивания. Эти модели доступны с помощью Azure OpenAI и Azure AI Foundry.

Замечание

Если вы используете Azure AI Vision, пропустите этот шаг. Многомодальные внедрения встроены в ресурс Azure AI с несколькими службами и не требуют развертывания модели.

Чтобы развернуть модели для этого краткого руководства, выполните следующие действия.

  1. Войдите на портал Azure AI Foundry.

  2. Выберите ресурс Azure OpenAI или проект Azure AI Foundry.

  3. В левой области выберите каталог моделей.

  4. Разверните модели, необходимые для выбранного метода внедрения.

Запуск мастера

Чтобы запустить мастер для многомодального поиска, выполните следующие действия.

  1. Войдите на портал Azure и выберите службу поиска ИИ Azure.

  2. На странице "Обзор" выберите "Импорт и векторизация данных".

    Снимок экрана: команда, чтобы открыть мастер для импорта и векторизации данных.

  3. Выберите источник данных: Azure Blob Storage или Azure Data Lake Storage поколения Gen2.

    Снимок экрана: параметры выбора источника данных в мастере.

  4. Выберите multimodal RAG.

    Снимок экрана плитки Multimodal RAG в мастере.

Подключение к данным

Для поиска ИИ Azure требуется подключение к источнику данных для приема содержимого и индексирования. В этом случае источник данных — это учетная запись хранения Azure.

Чтобы подключиться к данным, выполните приведенные далее действия.

  1. На странице подключения к данным укажите подписку Azure.

  2. Выберите учетную запись хранения и контейнер, в который вы отправили образцы данных.

  3. Установите флажок "Проверка подлинности с помощью управляемого удостоверения ". Оставьте тип удостоверения назначенным системой.

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

  4. Выберите Далее.

Извлеките содержимое

В зависимости от выбранного метода извлечения мастер предоставляет параметры конфигурации для взлома документов и фрагментирования.

Метод по умолчанию вызывает навык извлечения документов для извлечения текстового содержимого и создания нормализованных изображений из документов. Затем вызывается навык разделения текста, чтобы разделить извлеченное текстовое содержимое на страницы.

Чтобы использовать навык извлечения документов, выполните следующие действия.

  1. На странице извлечения содержимого выберите Значение по умолчанию.

    Снимок экрана: страница мастера с методом по умолчанию, выбранным для извлечения содержимого.

  2. Выберите Далее.

Вставьте своё содержимое

На этом шаге мастер использует выбранный метод внедрения для создания векторных представлений текста и изображений.

Мастер вызывает один из навыков для создания описательного текста для изображений (вербализации изображений) и другой для создания векторных представлений как для текста, так и для изображений.

Для описания изображений навык GenAI Prompt использует развернутый LLM для анализа каждого извлеченного изображения и создания описания на естественном языке.

Для встраивания навык Azure OpenAI Embedding skill, навык AML или навык многомодальных встраиваний Azure AI Vision использует вашу развернутую модель встраивания для преобразования фрагментов текста и словесных описаний в векторы высокой размерности. Эти векторы позволяют осуществлять поиск по сходству и гибридный поиск.

Чтобы использовать навыки для словесизации изображений, выполните следующие действия.

  1. На странице внедрения содержимого выберите "Вербализация изображения".

    Снимок экрана: элемент

  2. На вкладке "Словесизация изображений ":

    1. Для типа выберите поставщика LLM: Azure OpenAI или модели из каталога AI Foundry Hub.

    2. Укажите подписку Azure, ресурс и развертывание LLM.

    3. Для типа проверки подлинности выберите назначенное системой удостоверение.

    4. Установите флажок, подтверждающий осознание последствий выставления счетов при использовании этих ресурсов.

      Снимок экрана страницы мастера по вербализации изображений.

  3. На вкладке "Векторизация текста ":

    1. Для типа выберите поставщика моделей: Azure OpenAI, модели каталога ИИ Foundry Hub или векторизацию визуального распознавания ИИ.

    2. Укажите подписку Azure, ресурс и развертывание модели внедрения.

    3. Для типа проверки подлинности выберите назначенное системой удостоверение.

    4. Установите флажок, подтверждающий осознание последствий выставления счетов при использовании этих ресурсов.

      Снимок экрана: страница мастера для векторизации текста и изображений.

  4. Выберите Далее.

Хранение извлеченных изображений

Следующим шагом является отправка изображений, извлеченных из документов в службу хранилища Azure. В службе "Поиск ИИ Azure" это дополнительное хранилище называется хранилищем знаний.

Чтобы сохранить извлеченные изображения, выполните следующие действия.

  1. На странице вывода изображения укажите подписку Azure.

  2. Выберите учетную запись хранения и контейнер для объектов BLOB, созданный для хранения изображений.

  3. Установите флажок "Проверка подлинности с помощью управляемого удостоверения ". Оставьте тип удостоверения назначенным системой.

    Снимок экрана: страница мастера для хранения извлекаемых изображений.

  4. Выберите Далее.

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

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

Поле Относится к Описание Атрибуты
content_id (идентификатор контента) Векторы текста и изображения Строковое поле. Ключ документа для индекса. Извлекаемые, сортируемые и доступные для поиска.
название_документа Векторы текста и изображения Строковое поле. Название документа, доступного для чтения пользователем. Извлекаемые и доступные для поиска.
идентификатор_текстового_документа Текстовые векторы Строковое поле. Определяет родительский документ, из которого создается блок текста. Извлекаемые и фильтруемые.
идентификатор_изображения_документа (image_document_id) Векторы изображений Строковое поле. Определяет родительский документ, из которого создается изображение. Извлекаемые и фильтруемые.
контент_текст Текстовые векторы Строковое поле. Удобочитаемая версия фрагмента текста. Извлекаемые и доступные для поиска.
встраивание контента Векторы текста и изображения Collection(Edm.Single). Векторный представление текста и изображений. Извлекаемые и доступные для поиска.
content_path Векторы текста и изображения Строковое поле. Путь к содержимому в контейнере хранилища. Извлекаемые и доступные для поиска.
данные о местоположении Векторы изображений Edm.ComplexType. Содержит метаданные о расположении изображения в документах. Зависит от поля.

Вы не можете изменить созданные поля или их атрибуты, но можно добавить поля, если источник данных предоставляет их. Например, Хранилище BLOB-объектов Azure предоставляет коллекцию полей метаданных.

Чтобы добавить поля в схему индекса, выполните следующие действия.

  1. В разделе "Индекс" выберите "Предварительный просмотр" и "Изменить".

  2. Выберите "Добавить поле".

  3. Выберите исходное поле из доступных полей, введите имя поля для индекса и примите (или переопределите) тип данных по умолчанию.

  4. Если вы хотите восстановить схему до исходной версии, нажмите кнопку "Сброс".

Планирование индексирования

Для источников данных, где базовые данные являются переменными, можно запланировать индексирование для записи изменений с определенным интервалом или определенными датами и временем.

Чтобы запланировать индексирование:

  1. На странице "Дополнительные параметры" в разделе "Расписание индексирования" укажите расписание выполнения индексатора. Рекомендуем Once для этого краткого руководства.

    Снимок экрана: страница мастера для планирования индексирования.

  2. Выберите Далее.

Завершение работы мастера

Последним шагом является проверка конфигурации и создание необходимых объектов для многомодального поиска. При необходимости вернитесь на предыдущие страницы мастера, чтобы настроить конфигурацию.

Чтобы завершить работу мастера, выполните следующие действия.

  1. На странице проверки и создания укажите префикс для объектов, создаваемых мастером. Распространенный префикс помогает оставаться упорядоченным.

    Снимок экрана: страница мастера для просмотра и завершения настройки.

  2. Нажмите кнопку создания.

Когда мастер завершит настройку, он создает следующие объекты:

  • Индексатор, который управляет конвейером индексирования.

  • Подключение к источнику данных для Хранилище BLOB-объектов Azure.

  • Индекс с текстовыми полями, векторными полями, векторизаторами, векторными профилями и векторными алгоритмами. Во время рабочего процесса мастера невозможно изменить индекс по умолчанию. Индексы соответствуют REST API 2024-05-01-preview, чтобы можно было использовать предварительные версии функций.

  • Набор, включающий следующие навыки:

Подсказка

Созданные мастером объекты имеют настраиваемые определения JSON. Чтобы просмотреть или изменить эти определения, выберите "Управление поиском " в левой области, где можно просматривать индексы, индексаторы, источники данных и наборы навыков.

Проверка результатов

В этом кратком руководстве создается многомодальный индекс, поддерживающий гибридный поиск по тексту и изображениям. Если вы не используете прямые многомодальные встраивания, индекс не принимает изображения для входных данных запросов, для которых требуется навык AML или навык Azure AI Vision для многомодального встраивания с эквивалентным векторизатором. Дополнительные сведения см. в разделе "Настройка векторизатора" в индексе поиска.

Гибридный поиск объединяет полнотекстовые запросы и векторные запросы. При выполнении гибридного запроса поисковая система вычисляет семантику сходства между запросом и индексированных векторов и ранжирует результаты соответствующим образом. Для индекса, созданного в этом кратком руководстве, результаты отображают содержимое из поля content_text, которое тесно соответствует вашему запросу.

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

  1. Войдите на портал Azure и выберите службу поиска ИИ Azure.

  2. В левой области выберите управление поиском>индексы.

  3. Выберите индекс.

  4. Выберите параметры запроса и выберите "Скрыть векторные значения" в результатах поиска. Этот шаг делает результаты более читаемыми.

    Снимок экрана: меню

  5. Введите текст, для которого требуется выполнить поиск. В наших примерах используется energy.

  6. Чтобы запустить запрос, выберите "Поиск".

    Снимок экрана: кнопка

    Результаты JSON должны содержать текст и содержимое изображения, связанные с energy в вашем индексе. Если вы включили семантический рангировщик, @search.answers массив предоставляет краткие семантические ответы с высокой достоверности, чтобы быстро определить соответствующие совпадения.

    "@search.answers": [
       {
          "key": "a71518188062_aHR0cHM6Ly9oYWlsZXlzdG9yYWdlLmJsb2IuY29yZS53aW5kb3dzLm5ldC9tdWx0aW1vZGFsLXNlYXJjaC9BY2NlbGVyYXRpbmctU3VzdGFpbmFiaWxpdHktd2l0aC1BSS0yMDI1LnBkZg2_normalized_images_7",
          "text": "A vertical infographic consisting of three sections describing the roles of AI in sustainability:  1. **Measure, predict, and optimize complex systems**: AI facilitates analysis, modeling, and optimization in areas like energy distribution, resource allocation, and environmental monitoring. **Accelerate the development of sustainability solution...",
          "highlights": "A vertical infographic consisting of three sections describing the roles of AI in sustainability:  1. **Measure, predict, and optimize complex systems**: AI facilitates analysis, modeling, and optimization in areas like<em> energy distribution, </em>resource<em> allocation, </em>and environmental monitoring. **Accelerate the development of sustainability solution...",
          "score": 0.9950000047683716
       },
       {
          "key": "1cb0754930b6_aHR0cHM6Ly9oYWlsZXlzdG9yYWdlLmJsb2IuY29yZS53aW5kb3dzLm5ldC9tdWx0aW1vZGFsLXNlYXJjaC9BY2NlbGVyYXRpbmctU3VzdGFpbmFiaWxpdHktd2l0aC1BSS0yMDI1LnBkZg2_text_sections_5",
          "text": "...cross-laminated timber.8 Through an agreement with Brookfield, we aim  10.5 gigawatts (GW) of renewable energy to the grid.910.5 GWof new renewable energy capacity to be developed across the United States and Europe.Play 4 Advance AI policy principles and governance for sustainabilityWe advocated for policies that accelerate grid decarbonization",
          "highlights": "...cross-laminated timber.8 Through an agreement with Brookfield, we aim <em> 10.5 gigawatts (GW) of renewable energy </em>to the<em> grid.910.5 </em>GWof new<em> renewable energy </em>capacity to be developed across the United States and Europe.Play 4 Advance AI policy principles and governance for sustainabilityWe advocated for policies that accelerate grid decarbonization",
          "score": 0.9890000224113464
       },
       {
          "key": "1cb0754930b6_aHR0cHM6Ly9oYWlsZXlzdG9yYWdlLmJsb2IuY29yZS53aW5kb3dzLm5ldC9tdWx0aW1vZGFsLXNlYXJjaC9BY2NlbGVyYXRpbmctU3VzdGFpbmFiaWxpdHktd2l0aC1BSS0yMDI1LnBkZg2_text_sections_50",
          "text": "ForewordAct... Similarly, we have restored degraded stream ecosystems near our datacenters from Racine, Wisconsin120 to Jakarta, Indonesia.117INNOVATION SPOTLIGHTAI-powered Community Solar MicrogridsDeveloping energy transition programsWe are co-innovating with communities to develop energy transition programs that align their goals with broader s.",
          "highlights": "ForewordAct... Similarly, we have restored degraded stream ecosystems near our datacenters from Racine, Wisconsin120 to Jakarta, Indonesia.117INNOVATION SPOTLIGHTAI-powered Community<em> Solar MicrogridsDeveloping energy transition programsWe </em>are co-innovating with communities to develop<em> energy transition programs </em>that align their goals with broader s.",
           "score": 0.9869999885559082
       }
    ]
    

Очистите ресурсы

В этом кратком руководстве используются платные ресурсы Azure. Если ресурсы больше не нужны, удалите их из подписки, чтобы избежать расходов.

Дальнейшие шаги

В этом кратком руководстве описан мастер импорта и векторизации данных , который создает все необходимые объекты для многомодального поиска. Дополнительные сведения о каждом шаге см. в следующих руководствах.