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


Краткое руководство. Поиск изображений с помощью обозревателя поиска в портал Azure

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

Пример данных состоит из файлов изображений в репозитории данных azure-search-sample-data , но вы можете использовать различные образы и по-прежнему следовать пошаговому руководству.

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

  • Подписка Azure. Создайте ее бесплатно.

  • Учетная запись многослужб служб ИИ Azure, используемая для векторизации изображений и оптического распознавания символов (OCR). Для векторизации изображений требуется многомодальное внедрение в Azure AI Vision. Ознакомьтесь с документацией по обновленному списку регионов.

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

    Уровень служб определяет, сколько больших двоичных объектов можно индексировать. Мы использовали уровень "Бесплатный", чтобы создать это пошаговое руководство и ограничить содержимое 10 JPG-файлами.

  • служба хранилища Azure хранить файлы изображений в виде больших двоичных объектов. Используйте Хранилище BLOB-объектов Azure или Azure Data Lake Storage 2-го поколения (учетная запись хранения с иерархическим пространством имен), стандартную учетную запись производительности (общего назначения версии 2). Уровни доступа могут быть горячими, холодными и холодными.

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

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

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

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

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

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

  1. Скачайте папку образа unsplash-signs в локальную папку или найдите собственные изображения. В бесплатной службе поиска сохраните файлы изображений в возрасте до 20, чтобы оставаться в пределах бесплатной квоты для обработки обогащения.

  2. Войдите в портал Azure с помощью учетной записи Azure и перейдите к учетной записи служба хранилища Azure.

  3. На левой панели в разделе "Хранилище данных" выберите "Контейнеры".

  4. Создайте контейнер и отправьте образы.

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

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

  1. Войдите в портал Azure с помощью учетной записи Azure и перейдите к служба Azure AI.

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

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

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

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

  1. На странице "Настройка подключения к данным" выберите Хранилище BLOB-объектов Azure.

  2. Укажите подписку Azure.

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

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

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

Векторизация текста

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

Azure AI Vision предоставляет внедрение текста, поэтому используйте этот ресурс для векторизации текста.

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

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

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

Векторизация и обогащение изображений

Используйте Azure AI Vision для создания векторного представления файлов изображений.

На этом шаге можно также применить ИИ для извлечения текста из изображений. Мастер использует OCR из служб ИИ Azure для распознавания текста в файлах изображений.

При добавлении OCR в рабочий процесс в рабочий процесс отображаются еще два выходных данных:

  • Поле chunk заполняется строкой OCR любого текста, найденного на изображении.
  • Поле text_vector заполняется внедренным элементом, который представляет chunk строку.

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

  1. На странице "Векторизация изображений" установите флажок "Векторизировать изображения" и выберите векторизацию визуального распознавания ИИ.

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

  3. В разделе обогащения выберите "Извлечь текст из изображений" и использовать ту же службу ИИ, выбранную для векторизации изображений.

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

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

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

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

Поле Относится к Description
chunk_id Векторы текста и изображения Созданное строковое поле. Доступный для поиска, извлекаемый, сортируемый. Это ключ документа для индекса.
text_parent_id Векторы изображений Созданное строковое поле. Извлекаемая, фильтруемая. Определяет родительский документ, из которого создается блок.
image_parent_id Векторы изображений Созданное строковое поле. Извлекаемая, фильтруемая. Определяет родительский документ, из которого создается изображение.
chunk Векторы текста и изображения Строковое поле. Удобочитаемая версия блока данных. Доступный для поиска и получения, но не фильтруемый, фасетный или сортируемый.
title Векторы текста и изображения Строковое поле. Заголовок документа, доступный для чтения, или номер страницы. Доступный для поиска и получения, но не фильтруемый, фасетный или сортируемый.
image_vector Векторы изображений Collection(Edm.single). Векторное представление изображения. Доступный для поиска и получения, но не фильтруемый, фасетный или сортируемый.

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

  1. Выберите Добавить.

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

    Поля метаданных доступны для поиска, но не могут извлекаться, фильтруемые, фасетные или сортируемые.

  3. Выберите "Сброс" , если вы хотите восстановить схему до исходной версии.

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

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

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

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

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

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

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

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

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

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

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

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

  • Набор навыков со следующими пятью навыками:

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

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

  1. В портал Azure перейдите к индексам управления>поиском и выберите созданный индекс. Обозреватель поиска — это первая вкладка.

  2. В меню "Вид" выберите представление изображения.

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

  3. Перетащите изображение из локальной папки, содержащей примеры файлов изображений. Также откройте браузер файлов, чтобы выбрать локальный файл образа.

  4. Выберите "Поиск", чтобы запустить запрос.

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

    Снимок экрана: результаты поиска.

  5. Попробуйте использовать другие параметры запроса, чтобы сравнить результаты поиска:

    • Скрытие векторов для более доступных для чтения результатов (рекомендуется).
    • Выберите поле вектора для запроса. По умолчанию используется текстовые векторы, но можно указать вектор изображения, чтобы исключить текстовые векторы из выполнения запроса.

Очистка

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

Следующий шаг

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