Краткое руководство. Поиск изображений с помощью обозревателя поиска в портал 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. Для подключений, которые более безопасны:
- Используйте базовый уровень или более высокий.
- Настройте управляемое удостоверение и назначения ролей для приема запросов из службы "Поиск ИИ Azure" в других службах Azure.
Проверка доступного пространства
Если вы начинаете работу с бесплатной службой, вы ограничены тремя индексами, тремя источниками данных, тремя наборами навыков и тремя индексаторами. Перед началом работы убедитесь, что у вас достаточно места для дополнительных элементов. В этом кратком руководстве создается один из каждого объекта.
Подготовка примера данных
Скачайте папку образа unsplash-signs в локальную папку или найдите собственные изображения. В бесплатной службе поиска сохраните файлы изображений в возрасте до 20, чтобы оставаться в пределах бесплатной квоты для обработки обогащения.
Войдите в портал Azure с помощью учетной записи Azure и перейдите к учетной записи служба хранилища Azure.
На левой панели в разделе "Хранилище данных" выберите "Контейнеры".
Создайте контейнер и отправьте образы.
Запуск мастера
Если служба поиска и служба ИИ Azure находятся в одном и том же поддерживаемом регионе и клиенте, и если ваш контейнер BLOB-объектов служба хранилища Azure использует конфигурацию по умолчанию, вы можете запустить мастер.
Войдите в портал Azure с помощью учетной записи Azure и перейдите к служба Azure AI.
На странице "Обзор" выберите "Импорт и векторизация данных".
Подключение к данным
Следующим шагом является подключение к источнику данных, который предоставляет изображения.
На странице "Настройка подключения к данным" выберите Хранилище BLOB-объектов Azure.
Укажите подписку Azure.
Для служба хранилища Azure выберите учетную запись и контейнер, предоставляющие данные. Используйте значения по умолчанию для оставшихся прямоугольников.
Выберите Далее.
Векторизация текста
Если необработанное содержимое содержит текст или если набор навыков создает текст, мастер вызывает модель внедрения текста для создания векторов для этого содержимого. В этом упражнении текст будет создан на основе навыка OCR, добавляемого на следующем шаге.
Azure AI Vision предоставляет внедрение текста, поэтому используйте этот ресурс для векторизации текста.
На текстовой странице векторизации выберите векторизацию визуального распознавания ИИ. Если он недоступен, убедитесь, что поиск ИИ Azure и ваша учетная запись мультислужб Azure ИИ находятся вместе в регионе, поддерживающем многомодальные API ИИ.
Выберите Далее.
Векторизация и обогащение изображений
Используйте Azure AI Vision для создания векторного представления файлов изображений.
На этом шаге можно также применить ИИ для извлечения текста из изображений. Мастер использует OCR из служб ИИ Azure для распознавания текста в файлах изображений.
При добавлении OCR в рабочий процесс в рабочий процесс отображаются еще два выходных данных:
- Поле
chunk
заполняется строкой OCR любого текста, найденного на изображении. - Поле
text_vector
заполняется внедренным элементом, который представляетchunk
строку.
Включение обычного текста в chunk
поле полезно, если вы хотите использовать функции релевантности, работающие с строками, например семантический ранжирование и профили оценки.
На странице "Векторизация изображений" установите флажок "Векторизировать изображения" и выберите векторизацию визуального распознавания ИИ.
Выберите " Использовать ту же службу ИИ", выбранную для векторизации текста.
В разделе обогащения выберите "Извлечь текст из изображений" и использовать ту же службу ИИ, выбранную для векторизации изображений.
Выберите Далее.
Сопоставление новых полей
На странице "Дополнительные параметры" можно добавить новые поля. По умолчанию мастер создает следующие поля с этими атрибутами:
Поле | Относится к | Description |
---|---|---|
chunk_id | Векторы текста и изображения | Созданное строковое поле. Доступный для поиска, извлекаемый, сортируемый. Это ключ документа для индекса. |
text_parent_id | Векторы изображений | Созданное строковое поле. Извлекаемая, фильтруемая. Определяет родительский документ, из которого создается блок. |
image_parent_id | Векторы изображений | Созданное строковое поле. Извлекаемая, фильтруемая. Определяет родительский документ, из которого создается изображение. |
chunk | Векторы текста и изображения | Строковое поле. Удобочитаемая версия блока данных. Доступный для поиска и получения, но не фильтруемый, фасетный или сортируемый. |
title | Векторы текста и изображения | Строковое поле. Заголовок документа, доступный для чтения, или номер страницы. Доступный для поиска и получения, но не фильтруемый, фасетный или сортируемый. |
image_vector | Векторы изображений | Collection(Edm.single). Векторное представление изображения. Доступный для поиска и получения, но не фильтруемый, фасетный или сортируемый. |
Вы не можете изменить созданные поля или их атрибуты, но можно добавить новые поля, если источник данных предоставляет их. Например, Хранилище BLOB-объектов Azure предоставляет коллекцию полей метаданных.
Выберите Добавить.
Выберите исходное поле из списка доступных полей, укажите имя поля для индекса и примите тип данных по умолчанию или переопределите по мере необходимости.
Поля метаданных доступны для поиска, но не могут извлекаться, фильтруемые, фасетные или сортируемые.
Выберите "Сброс" , если вы хотите восстановить схему до исходной версии.
Планирование индексирования
На странице "Дополнительные параметры" в разделе "Расписание индексирования" укажите расписание выполнения индексатора. Рекомендуется один раз для этого упражнения. Для источников данных, в которых базовые данные являются переменными, можно запланировать индексирование для получения изменений.
Выберите Далее.
Завершение работы мастера
На странице проверки конфигурации укажите префикс для объектов, создаваемых мастером. Распространенный префикс помогает оставаться упорядоченным.
Нажмите кнопку создания.
Когда мастер завершит настройку, он создает следующие объекты:
Индексатор, который управляет конвейером индексирования.
Подключение к источнику данных для Хранилище BLOB-объектов Azure.
Индекс с векторными полями, текстовыми полями, векторизаторами, профилями векторов и алгоритмами векторов. Невозможно изменить индекс по умолчанию во время рабочего процесса мастера. Индексы соответствуют REST API 2024-05-01-preview, чтобы можно было использовать предварительные версии функций.
Набор навыков со следующими пятью навыками:
- Навык OCR распознает текст в файлах изображений.
- Навык слияния текста объединяет различные выходные данные обработки OCR.
- Навык разделения текста добавляет фрагментирование данных. Этот навык встроен в рабочий процесс мастера.
- Навык многомодального внедрения распознавания искусственного интеллекта Azure используется для векторизации текста, созданного из OCR.
- Навык многомодального внедрения визуального распознавания искусственного интеллекта Azure вызывается еще раз для векторизации изображений.
Проверка результатов
Обозреватель поиска принимает текст, векторы и изображения в качестве входных данных запроса. Вы можете перетащить или выбрать изображение в область поиска. Обозреватель поиска векторизирует изображение и отправляет вектор в качестве входных данных запроса в поисковую систему. Векторизация изображений предполагает, что индекс имеет определение векторизатора, которое импортирует и векторизирует данные , создаваемые на основе входных данных модели внедрения.
В портал Azure перейдите к индексам управления>поиском и выберите созданный индекс. Обозреватель поиска — это первая вкладка.
В меню "Вид" выберите представление изображения.
Перетащите изображение из локальной папки, содержащей примеры файлов изображений. Также откройте браузер файлов, чтобы выбрать локальный файл образа.
Выберите "Поиск", чтобы запустить запрос.
Первое совпадение должно быть изображением, которое вы искали. Так как поиск векторов совпадает с аналогичными векторами, поисковая система возвращает любой документ, достаточно похожий на входные данные запроса, до
k
количества результатов. Вы можете переключиться в представление JSON для более сложных запросов, которые включают настройку релевантности.Попробуйте использовать другие параметры запроса, чтобы сравнить результаты поиска:
- Скрытие векторов для более доступных для чтения результатов (рекомендуется).
- Выберите поле вектора для запроса. По умолчанию используется текстовые векторы, но можно указать вектор изображения, чтобы исключить текстовые векторы из выполнения запроса.
Очистка
В этой демонстрации используются оплачиваемые ресурсы Azure. Если ресурсы больше не нужны, удалите их из подписки, чтобы избежать расходов.
Следующий шаг
В этом кратком руководстве описан мастер импорта и векторизации данных , который создает все необходимые объекты для поиска изображений. Если вы хотите подробно изучить каждый шаг, попробуйте пример интегрированной векторизации.