Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве вы используете мастер импорта и векторизации данных на портале Azure для начала интеграции векторизации. Мастер разбивает содержимое на части и вызывает модель встраивания, чтобы векторизировать части во время индексирования и выполнения запросов.
В этом кратком руководстве используются текстовые PDF-файлы из репозитория azure-search-sample-data. Однако вы можете использовать изображения и всё равно завершить это краткое руководство.
Предварительные условия
Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
Служба поиска ИИ Azure. Мы рекомендуем уровень "Базовый" или "Выше".
Знакомство с мастером. См. статью "Мастер импорта данных" на портале Azure.
Поддерживаемые источники данных
Мастер импорта и векторизации данныхподдерживает широкий спектр источников данных Azure. Однако в этом кратком руководстве рассматриваются только источники данных, работающие со целыми файлами, которые описаны в следующей таблице.
Поддерживаемый источник данных | Описание |
---|---|
Хранилище BLOB-объектов Azure | Этот источник данных работает с объектами Blob и таблицами. Необходимо использовать учетную запись стандартной производительности (общего назначения версии 2). Уровни доступа могут быть горячими, прохладными или холодными. |
Azure Data Lake Storage (ADLS) 2-го поколения | Это учетная запись хранения Azure с включенным иерархическим пространством имен. Чтобы подтвердить наличие Data Lake Storage, перейдите на вкладку "Свойства " на странице обзора .![]() |
OneLake | Этот источник данных в настоящее время находится в предварительной версии. Сведения об ограничениях и поддерживаемых сочетаниях клавиш см. в статье Об индексировании OneLake. |
Поддерживаемые модели внедрения
Для интегрированной векторизации необходимо использовать одну из следующих моделей внедрения на платформе ИИ Azure. Инструкции по развертыванию приведены в следующем разделе.
Поставщик | Поддерживаемые модели |
---|---|
Azure OpenAI в Azure AI Foundry Models1, 2 | text-embedding-ada-002 Встраивание текста - версия 3 - малая текст-встраивание-3-большой |
Ресурс для многослужбных ИИ-сервисов Azure3 | Для текста и изображений: мультимодальный интерфейс Azure AI Vision4 |
Каталог моделей Azure AI Foundry | Для текста: Cohere-embed-v3-english (английский язык) Cohere-embed-v3-multilingual (многоязычная) Для изображений: Встраивания изображений Facebook-DinoV2-ViT-Base Facebook-DinoV2-Image-Embeddings-ViT-Giant |
1 Конечная точка ресурса Azure OpenAI должна иметь настраиваемый поддомен, например https://my-unique-name.openai.azure.com
. Если вы создали ресурс на портале Azure, этот поддомен был автоматически создан во время настройки ресурса.
2 ресурса Azure OpenAI (с доступом к моделям внедрения), созданным на портале Azure AI Foundry , не поддерживаются. Только ресурсы Azure OpenAI, созданные на портале Azure, совместимы с навыком внедрения Azure OpenAI.
3 Для выставления счетов необходимо присоединить многосервисный ресурс Azure AI к набору навыков в службе поиска Azure AI. Если для создания набора навыков не используется подключение без ключа (предварительная версия), оба ресурса должны находиться в одном регионе.
4 Модель многомодального внедрения визуального распознавания ИИ Azure доступна в выборе регионов.
Требования к общедоступной конечной точке
В этом кратком руководстве все предыдущие ресурсы должны быть общедоступными, чтобы узлы портала Azure могли к ним получить доступ. В противном случае мастер завершается ошибкой. После запуска мастера можно включить брандмауэры и частные конечные точки в компонентах интеграции для обеспечения безопасности. Дополнительные сведения см. в разделе "Безопасные подключения" в мастерах импорта.
Если частные конечные точки уже присутствуют и их невозможно отключить, альтернативным вариантом является запуск соответствующего сквозного потока из скрипта или программы на виртуальной машине. Виртуальная машина должна находиться в той же виртуальной сети, что и частная конечная точка. Ниже приведен пример кода Python для интегрированной векторизации. В том же репозитории GitHub есть примеры на других языках программирования.
Ролевой доступ
Идентификатор Microsoft Entra можно использовать с назначением ролей или аутентификацией на основе ключей, используя строки подключения с полным доступом. Для подключений поиска ИИ Azure к другим ресурсам рекомендуется назначать роли. В этом кратком руководстве предполагается, что роли.
Бесплатные службы поиска поддерживают подключения на основе ролей к поиску ИИ Azure. Однако они не поддерживают управляемые удостоверения для исходящих подключений к Azure Storage или к Azure AI Vision. Это отсутствие поддержки требует проверки подлинности на основе ключей для подключений между бесплатными службами поиска и другими ресурсами Azure. Для более безопасных подключений используйте базовый уровень или более высокий уровень, а затем включите роли и настройте управляемое удостоверение.
Чтобы настроить рекомендуемый доступ на основе ролей, выполните следующие действия.
В службе поиска включите роли и настройте управляемое удостоверение, назначаемое системой.
Назначьте себе следующие роли :
Участник службы поиска
Участник данных индекса поиска
Средство чтения индексов поиска
На платформе источника данных и поставщике моделей внедрения создайте назначения ролей, которые позволяют службе поиска получать доступ к данным и моделям. См. статью "Подготовка примеров данных " и " Подготовка моделей внедрения".
Примечание.
Если вы не можете пройти мастер настройки, так как параметры недоступны (например, вы не можете выбрать источник данных или встраиваемую модель), вернитесь к назначениям ролей. Сообщения об ошибках указывают на то, что модели или развертывания не существуют, если реальная причина заключается в том, что служба поиска не имеет разрешения на доступ к ним.
Проверка пространства
Если вы начинаете работу с бесплатной службой, вы ограничены тремя индексами, источниками данных, наборами навыков и индексаторами. Базовые ограничения ограничивают вас до 15. В этой краткой инструкции создается по одному из каждого объекта, поэтому перед началом убедитесь, что у вас достаточно места для дополнительных предметов.
Подготовка примера данных
В этом разделе указано содержание, подходящее для данного быстрого старта. Прежде чем продолжить, убедитесь, что выполнены предварительные требования для доступа на основе ролей.
Войдите на портал Azure и выберите учетную запись хранения Azure.
В левой области выберитеконтейнеры> данных.
Создайте контейнер, а затем отправьте документы PDF плана медицинского страхования, используемые для этого краткого руководства.
Назначить роли:
В левой области выберите "Управление доступом" (IAM).
Выберите Добавить>Добавить назначение ролей.
В разделе "Роли функции работы" выберите чтение данных из хранилища BLOB и нажмите "Далее.
В разделе "Участники" выберите управляемое удостоверение и выберите "Выбрать участников".
Выберите подписку и управляемое удостоверение службы поиска.
(Необязательно) Синхронизация удалений в контейнере с удалением в индексе поиска. Чтобы настроить индексатор для обнаружения удаления:
Включите мягкое удаление в учетной записи хранения. Если вы используете собственное мягкое удаление, следующий шаг не требуется.
Добавьте настраиваемые метаданные, которые индексатор может сканировать, чтобы определить, какие блобы помечены для удаления. Присвойте пользовательскому свойству описательное имя. Например, можно присвоить свойству IsDeleted имя и задать для него значение false. Повторите этот шаг для каждого блоба в контейнере. Если вы хотите удалить объект blob, установите значение свойства на true. Дополнительные сведения см. в статье Об обнаружении изменений и удалений при индексировании из хранилища Azure.
Подготовка модели внедрения
Мастер может использовать модели внедрения, развернутые из Azure OpenAI, Azure AI Vision или из каталога моделей на портале Azure AI Foundry. Прежде чем продолжить, убедитесь, что выполнены предварительные требования для доступа на основе ролей.
- Azure OpenAI
- Визуальное распознавание искусственного интеллекта Azure
- Каталог моделей Azure AI Foundry
Мастер поддерживает text-embedding-ada-002, text-embedding-3-large и text-embedding-3-small. Внутри мастер вызывает навык AzureOpenAIEmbedding для подключения к Azure OpenAI.
Войдите на портал Azure и выберите ресурс Azure OpenAI.
Назначить роли:
В левой области выберите элемент управления доступом (IAM).
Выберите Добавить>Добавить назначение ролей.
В разделе "Роли должностных функций" выберите "Пользователь Cognitive Services OpenAI", а затем выберите "Далее".
В разделе "Участники" выберите управляемое удостоверение и выберите "Выбрать участников".
Выберите подписку и управляемое удостоверение службы поиска.
Чтобы развернуть модель внедрения:
Войдите на портал Azure AI Foundry и выберите ресурс Azure OpenAI.
В левой области выберите каталог моделей.
Разверните поддерживаемую модель внедрения.
Запуск мастера
Чтобы запустить мастер поиска векторов, выполните следующие действия.
Войдите на портал Azure и выберите службу поиска ИИ Azure.
На странице "Обзор" выберите "Импорт и векторизация данных".
Выберите источник данных: хранилище BLOB-объектов Azure, ADLS 2-го поколения или OneLake.
Выберите RAG.
Подключение к данным
Следующим шагом является подключение к источнику данных для использования для индекса поиска.
На странице подключения к данным укажите подписку Azure.
Выберите учетную запись хранения и контейнер, которые предоставляют образцы данных.
Если вы включили обратимое удаление и дополнительно добавили пользовательские метаданные в подготовке примеров данных, установите флажок "Включить отслеживание удаления ".
При последующем индексировании поисковый индекс обновляется для удаления всех документов поиска на основе мягко удаленных больших двоичных объектов в службе хранения Azure.
Объекты блоба поддерживают либо родное мягкое удаление, либо мягкое удаление с использованием пользовательских метаданных.
Если вы настроили большие двоичные объекты для мягкого удаления, укажите пару свойств метаданных имя-значение. Мы рекомендуем IsDeleted. Если Параметр IsDeleted имеет значение true для большого двоичного объекта, индексатор удаляет соответствующий документ поиска при следующем запуске индексатора.
Мастер не проверяет наличие допустимых параметров в хранилище Azure и не выдает ошибку, если требования не выполнены. Вместо этого обнаружение удаления не работает, и индекс поиска, скорее всего, собирает потерянные документы со временем.
Установите флажок "Проверка подлинности с помощью управляемого удостоверения ".
Для типа управляемого удостоверения выберите назначаемое системой.
Удостоверение должно иметь роль Storage Blob Data Reader на Azure Storage.
Не пропускайте этот шаг. Ошибка подключения возникает во время индексирования, если мастер не может подключиться к службе хранилища Azure.
Выберите Далее.
Векторизация текста
На этом шаге вы укажете модель для встраивания для векторизации данных, разбитых на части. Функция сегментирования встроена и не настраивается. Эффективные параметры:
"textSplitMode": "pages",
"maximumPageLength": 2000,
"pageOverlapLength": 500,
"maximumPagesToTake": 0, #unlimited
"unit": "characters"
На странице Векторизация вашего текста выберите источник вашей модели встраивания.
Azure OpenAI
Каталог моделей Azure AI Foundry
Azure AI Vision (с помощью многослужбового ресурса Azure AI в том же регионе, что и поиск Azure AI)
Укажите подписку Azure.
В зависимости от ресурса сделайте следующее:
Для Azure OpenAI выберите модель, развернутую в модели подготовки внедрения.
Для каталога моделей AI Foundry выберите модель, развернутую в модели подготовки внедрения.
Для многомодальных интеграций AI Vision выберите многосервисный ресурс.
Для типа проверки подлинности выберите назначенное системой удостоверение.
- Удостоверение должно иметь роль пользователя Cognitive Services в многосервисном ресурсе Azure AI.
Установите флажок, подтверждающий осознание последствий выставления счетов при использовании этих ресурсов.
Выберите Далее.
Векторизация и обогащение изображений
PDF-файлы плана медицинского страхования включают корпоративный логотип, но иначе изображения отсутствуют. Этот шаг можно пропустить, если вы используете примеры документов.
Однако если вы работаете с содержимым, включающим полезные изображения, можно применить ИИ двумя способами:
Используйте поддерживаемую модель внедрения изображений из каталога или API многомодальных внедрений в Azure AI Vision для векторизации изображений.
Используйте оптическое распознавание символов (OCR) для распознавания текста в изображениях. Этот параметр вызывает функцию OCR, чтобы считывать текст с изображений.
Поиск ИИ Azure и ресурс ИИ Azure должны быть в одном регионе или настроены для подключений с бесключевой оплатой.
На странице векторизации изображений укажите тип подключения, который должен сделать мастер. Для векторизации изображений мастер может подключиться к внедрению моделей на портале Azure AI Foundry или Azure AI Vision.
Укажите подписку.
В каталоге моделей Azure AI Foundry укажите проект и развертывание. Дополнительные сведения см. в разделе "Подготовка моделей внедрения".
(Необязательно) Взломать двоичные изображения, такие как сканированные файлы документов, и использовать OCR для распознавания текста.
Установите флажок, подтверждающий осознание последствий выставления счетов при использовании этих ресурсов.
Выберите Далее.
Добавление семантического ранжирования
На странице "Дополнительные параметры" можно дополнительно добавить семантический рейтинг для повторного просмотра результатов в конце выполнения запроса. Переранжирование перемещает наиболее семантически релевантные совпадения на верхние позиции.
Сопоставьте новые поля
Ключевые моменты этого шага:
Схема индекса предоставляет векторные и невекторные поля для блокированных данных.
Можно добавить поля, но не удается удалить или изменить созданные поля.
Режим синтаксического анализа документов создает блоки (один документ поиска на блок).
На странице "Дополнительные параметры " можно дополнительно добавить новые поля, при условии, что источник данных предоставляет метаданные или поля, которые не выбираются при первом проходе. По умолчанию мастер создает поля, описанные в следующей таблице.
Поле | Относится к | Описание |
---|---|---|
идентификатор_блока | Векторы текста и изображения | Созданное строковое поле. Доступный для поиска, извлекаемый и сортируемый. Это ключ документа для индекса. |
идентификатор_родителя | Текстовые векторы | Созданное строковое поле. Извлекаемые и фильтруемые. Определяет родительский документ, из которого происходит блок. |
кусок | Векторы текста и изображения | Строковое поле. Удобочитаемая версия фрагмента данных. Доступный для поиска и получения, но не фильтруемый, фасетный или сортируемый. |
заголовок | Векторы текста и изображения | Строковое поле. Понятный человеку заголовок документа или номер страницы. Доступный для поиска и получения, но не фильтруемый, фасетный или сортируемый. |
текстовый вектор | Текстовые векторы | Коллекция (Edm.single). Векторное представление блока. Доступный для поиска и получения, но не фильтруемый, фасетный или сортируемый. |
Вы не можете изменить созданные поля или их атрибуты, но можно добавить новые поля, если источник данных предоставляет их. Например, Хранилище BLOB-объектов Azure предоставляет коллекцию полей метаданных.
Выберите "Добавить поле".
Выберите исходное поле из доступных полей, введите имя поля для индекса и примите (или переопределите) тип данных по умолчанию.
Примечание.
Поля метаданных доступны для поиска, но не могут быть извлекаемыми, фильтруемыми, фасетируемыми или сортируемыми.
Если вы хотите восстановить схему до исходной версии, нажмите кнопку "Сброс".
Планирование индексирования
На странице "Дополнительные параметры" можно также указать необязательное расписание выполнения индексатора. После выбора интервала в раскрывающемся списке нажмите кнопку "Далее".
Завершение работы мастера
На странице проверки конфигурации укажите префикс для создаваемых мастером объектов. Распространенный префикс помогает оставаться упорядоченным.
Нажмите кнопку создания.
Когда мастер завершит настройку, он создает следующие объекты:
Подключение к источнику данных.
Индекс с полями векторов, векторизаторами, профилями векторов и алгоритмами векторов. Невозможно разработать или изменить индекс по умолчанию во время рабочего процесса мастера. Индексы соответствуют REST API версии 2024-05-01-preview.
Набор навыков с навыком разделения текста для фрагментирования и внедрения навыка для векторизации. Навык внедрения — это навык AzureOpenAIEmbeddingModel для Azure OpenAI или навык AML для каталога моделей Azure AI Foundry. Набор навыков также имеет конфигурацию проекций индекса , которая сопоставляет данные из одного документа в источнике данных с соответствующими блоками в дочернем индексе.
Индексатор с сопоставлениями полей и сопоставлениями выходных полей (если применимо).
Подсказка
Созданные мастером объекты имеют настраиваемые определения JSON. Чтобы просмотреть или изменить эти определения, выберите "Управление поиском " в левой области, где можно просматривать индексы, индексаторы, источники данных и наборы навыков.
Проверка результатов
Обозреватель поиска принимает текстовые строки в качестве входных данных, а затем векторизирует текст для выполнения векторного запроса.
На портале Azure перейдите к Управление поиском, затем >, а затем выберите ваш индекс.
Выберите параметры запроса и выберите "Скрыть векторные значения" в результатах поиска. Этот шаг делает результаты более читаемыми.
В меню "Вид " выберите представление JSON , чтобы можно было ввести текст для векторного запроса в параметре векторного
text
запроса.Запрос по умолчанию является пустым поиском (
"*"
), но включает параметры для возвращения количества совпадений. Это гибридный запрос, который выполняет текстовые и векторные запросы параллельно. Он также включает в себя семантическое ранжирование и указывает, какие поля возвращать в результатах с помощью инструкцииselect
.{ "search": "*", "count": true, "vectorQueries": [ { "kind": "text", "text": "*", "fields": "text_vector,image_vector" } ], "queryType": "semantic", "semanticConfiguration": "my-demo-semantic-configuration", "captions": "extractive", "answers": "extractive|count-3", "queryLanguage": "en-us", "select": "chunk_id,text_parent_id,chunk,title,image_parent_id" }
Замените оба заполнителя звездочки (
*
) вопросом о планах медицинского страхования, напримерWhich plan has the lowest deductible?
.{ "search": "Which plan has the lowest deductible?", "count": true, "vectorQueries": [ { "kind": "text", "text": "Which plan has the lowest deductible?", "fields": "text_vector,image_vector" } ], "queryType": "semantic", "semanticConfiguration": "my-demo-semantic-configuration", "captions": "extractive", "answers": "extractive|count-3", "queryLanguage": "en-us", "select": "chunk_id,text_parent_id,chunk,title" }
Чтобы запустить запрос, выберите "Поиск".
Каждый документ является фрагментом исходного PDF-файла. В
title
поле показано, откуда поступает блок PDF. Каждаяchunk
имеет большую длину. Вы можете скопировать и вставить его в текстовый редактор, чтобы прочитать все значение.Чтобы просмотреть все фрагменты из определенного документа, добавьте фильтр для
title_parent_id
поля для определенного PDF-файла. Вы можете проверить вкладку "Поля " индекса, чтобы убедиться, что поле можно фильтровать.{ "select": "chunk_id,text_parent_id,chunk,title", "filter": "text_parent_id eq 'aHR0cHM6Ly9oZWlkaXN0c3RvcmFnZWRlbW9lYXN0dXMuYmxvYi5jb3JlLndpbmRvd3MubmV0L2hlYWx0aC1wbGFuLXBkZnMvTm9ydGh3aW5kX1N0YW5kYXJkX0JlbmVmaXRzX0RldGFpbHMucGRm0'", "count": true, "vectorQueries": [ { "kind": "text", "text": "*", "k": 5, "fields": "text_vector" } ] }
Очистка
Поиск по искусственному интеллекту Azure — это оплачиваемый ресурс. Если она больше не нужна, удалите ее из подписки, чтобы избежать расходов.
Следующий шаг
В этом кратком руководстве описан мастер импорта и векторизации данных, который создает все необходимые объекты для интегрированной векторизации. Подробные сведения о каждом шаге см. в статье "Настройка интегрированной векторизации" в службе "Поиск ИИ Azure".