Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве вы используете мастер импорта данных на портале Azure для начала интегрированной векторизации. Мастер разбивает содержимое на части и вызывает модель встраивания, чтобы векторизировать части во время индексирования и выполнения запросов.
В этом кратком руководстве используются текстовые PDF-файлы и простые изображения из репозитория azure-search-sample-data. Однако вы можете использовать разные файлы и все же завершить работу с этим быстрым запуском.
Подсказка
У вас есть документы с большим количеством изображений? См. раздел Quickstart: многомодальный поиск на портале Azure для извлечения, хранения и поиска изображений вместе с текстом.
Предварительные условия
Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
Служба Azure AI Search. В этом кратком руководстве требуется уровень "Базовый" или более высокий для поддержки управляемых удостоверений.
Знакомство с мастером. См. мастер импорта данных на портале Azure.
Поддерживаемые источники данных
Мастер поддерживает несколько источников данных Azure. Однако в этом кратком руководстве рассматриваются только источники данных, работающие со целыми файлами, которые описаны в следующей таблице.
| Источник данных | Описание |
|---|---|
| Хранилище BLOB-объектов Azure | Этот источник данных работает с объектами Blob и таблицами. Необходимо использовать учетную запись стандартной производительности (общего назначения версии 2). Уровни доступа могут быть горячими, прохладными или холодными. |
| Azure Data Lake Storage (ADLS) 2-го поколения | Это учетная запись Azure Storage с включенным иерархическим пространством имен. Чтобы подтвердить наличие Data Lake Storage, перейдите на вкладку Properties на странице Overview. |
| Microsoft OneLake | Этот источник данных подключается к файлам и сочетаниям клавиш OneLake. |
Поддерживаемые модели внедрения
Портал поддерживает следующие модели внедрения для интегрированной векторизации. Инструкции по развертыванию приведены в следующем разделе.
| Поставщик | Поддерживаемые модели |
|---|---|
| Учетная запись Azure AI с несколькими службами1 | Для текста и изображений: Azure Vision мультимодальная функция |
| Проект на базе узла Microsoft Foundry | Для текста:
|
| Проект Microsoft Foundry | Для текста:
|
| ресурс Azure OpenAI3, 4 | Для текста:
|
1 В целях выставления счетов необходимо присоединить вашу учетную запись с несколькими службами к набору навыков Azure AI Search. Мастер требует, чтобы ваша служба поиска и учетная запись нескольких служб находились в одном поддерживаемом регионе для многомодального навыка Azure Vision с использованием вложений.
2 Мастер поддерживает только бессерверные развертывания API для этой модели. Вы можете использовать использовать Azure CLI для подготовки бессерверного развертывания.
3 Конечная точка вашего ресурса Azure OpenAI должна иметь поддомен custom, например https://my-unique-name.openai.azure.com. Если вы создали ресурс на портале Azure, этот поддомен был автоматически создан во время настройки ресурса.
4 ресурсы Azure OpenAI (с доступом к моделям встраивания), созданные на портале Microsoft Foundry, не поддерживаются. На портале Azure необходимо создать ресурс OpenAI Azure.
Требования к общедоступной конечной точке
Все предыдущие ресурсы должны иметь общедоступный доступ, чтобы мастер смог получить к ним доступ. В противном случае мастер завершается ошибкой. После запуска мастера можно включить брандмауэры и частные конечные точки в компонентах интеграции для обеспечения безопасности. Дополнительные сведения см. в разделе "Безопасные подключения" в мастере импорта.
Если частные конечные точки уже присутствуют и их невозможно отключить, альтернативным вариантом является запуск соответствующего сквозного потока из скрипта или программы на виртуальной машине. Виртуальная машина должна находиться в той же виртуальной сети, что и частная конечная точка. Ниже приведен пример кода Python для интегрированной векторизации. В том же репозитории GitHub есть примеры на других языках программирования.
Настройка доступа
Перед началом работы убедитесь, что у вас есть разрешения на доступ к содержимому и операциям. В этой быстрой настройке используется Microsoft Entra ID для аутентификации и доступа с авторизацией на основе ролей. Для назначения ролей необходимо быть владельцем или администратором доступа пользователей . Если роли недоступны, используйте аутентификацию по ключу.
Настройте необходимые роли и условные роли , определенные в этом разделе.
Обязательные роли
Azure AI Search предоставляет конвейер поиска векторов. Настройте доступ для себя и службы поиска для чтения данных, запуска конвейера и взаимодействия с другими Azure ресурсами.
В службе Azure AI Search:
Назначьте следующие роли себе.
Участник сервиса поиска
Участник данных индекса поиска
Средство чтения индексов поиска
Условные роли
На следующих вкладках рассматриваются все ресурсы, совместимые с мастером для поиска векторов. Выберите только вкладки, которые применяются к выбранному источнику данных и модели внедрения.
Azure Blob Storage и Azure Data Lake Storage Gen2 требуют, чтобы служба поиска имели доступ на чтение к контейнерам хранилища.
В учетной записи Azure Storage:
- Назначьте Storage Blob Data Reader управляемому удостоверению вашей службы поиска.
Подготовка примера данных
В этом разделе вы готовите примеры данных для выбранного источника данных.
Перейдите к учетной записи хранения Azure на портале Azure.
В левой области выберитеконтейнеры> данных.
Создайте контейнер, а затем отправьте PDF-документы плана медицинского страхования, используемые в этом кратком руководстве.
(Необязательно) Синхронизация удалений в контейнере с удалением в индексе поиска. Чтобы настроить индексатор для обнаружения удаления:
Включите мягкое удаление в учетной записи хранения. Если вы используете собственное мягкое удаление, следующий шаг не требуется.
Добавьте настраиваемые метаданные, которые индексатор может сканировать, чтобы определить, какие блобы помечены для удаления. Присвойте пользовательскому свойству описательное имя. Например, присвойте свойству "IsDeleted" значение false. Повторите этот шаг для каждого блоба в контейнере. Если вы хотите удалить объект blob, установите значение свойства на true. Дополнительные сведения см. в разделе Обнаружение изменений и удалений при индексировании данных из Azure Storage.
Подготовка модели внедрения
Примечание.
Если вы используете Azure Vision, пропустите этот шаг. Многомодальные внедрения встроены в учетную запись с несколькими службами и не требуют развертывания модели.
Мастер поддерживает несколько моделей внедрения из Azure OpenAI и каталога моделей Microsoft Foundry. Сведения о развертывании моделей, необходимых для выбранной модели внедрения, см. в разделе "Развертывание моделей Microsoft Foundry" на портале Foundry.
Запуск мастера
Перейдите в службу поиска в портал Azure.
На странице "Обзор" выберите "Импорт данных".
Выберите источник данных: Azure Blob Storage, ADLS 2-го поколения или OneLake.
Выберите RAG.
Запуск мастера
Мастер описывает несколько этапов настройки. В этом разделе рассматриваются все этапы последовательности.
Подключение к данным
На этом шаге вы подключаете Azure AI Search к выбранному источнику data source для приема содержимого и индексирования.
На странице Подключение к вашим данным выберите подписку Azure.
Выберите учетную запись хранения и контейнер, которые предоставляют образцы данных.
Если вы включили обратимое удаление и добавили настраиваемые метаданные в Подготовка образцов данных, установите флажок "Включить отслеживание удаления".
При последующих запусках индексирования поисковый индекс обновляется для удаления документов, связанных с временно удаленными объектами BLOB в Azure Storage.
Объекты блоба поддерживают либо родное мягкое удаление, либо мягкое удаление с использованием пользовательских метаданных.
Если вы настроили большие двоичные объекты для мягкого удаления, укажите пару свойств метаданных имя-значение. Мы рекомендуем IsDeleted. Если Параметр IsDeleted имеет значение true для большого двоичного объекта, индексатор удаляет соответствующий документ поиска при следующем запуске индексатора.
Мастер не проверяет допустимость параметров в Azure Storage и не выдает ошибку, если требования не выполнены. Вместо этого обнаружение удаления не работает, и индекс поиска, скорее всего, собирает потерянные документы со временем.
Установите флажок "Проверка подлинности с помощью управляемого удостоверения ". Оставьте тип удостоверения назначенным системой.
Нажмите кнопку Далее.
Векторизация текста
На этом шаге мастер использует выбранную модель внедрения для векторизации фрагментированных данных. Функция сегментирования встроена и не настраивается. Эффективные параметры:
"textSplitMode": "pages",
"maximumPageLength": 2000,
"pageOverlapLength": 500,
"maximumPagesToTake": 0, #unlimited
"unit": "characters"
На странице Векторизация вашего текста выберите Azure OpenAI в качестве типа.
Выберите подписку Azure.
Выберите ресурс Azure OpenAI, а затем выберите модель, развернутую в Подготовка модели для внедрения.
Для типа проверки подлинности выберите назначенное системой удостоверение.
Установите флажок, подтверждающий осознание последствий выставления счетов при использовании этих ресурсов.
Нажмите кнопку Далее.
Векторизация и обогащение изображений
PDF-файлы плана медицинского страхования включают корпоративный логотип, но иначе изображения отсутствуют. Этот шаг можно пропустить, если вы используете примеры документов.
Однако если содержимое содержит полезные изображения, можно применить ИИ одним или обоими способами:
Используйте поддерживаемую модель внедрения изображений из каталога моделей Microsoft Foundry Azure или API многомодального внедрения визуального распознавания (через учетную запись с несколькими службами) для векторизации изображений.
Используйте оптическое распознавание символов (OCR) для извлечения текста из изображений. Эта опция вызывает навык OCR.
На странице "Векторизация и обогащение изображений " установите флажок "Векторизовать изображения ".
Для типа выберите поставщика моделей: Microsoft Foundry или Azure Vision in Foundry Tools.
Выберите свою Azure подписку, ресурс и развертывание модели внедрения (если применимо).
Для типа проверки подлинности выберите удостоверение, назначенное системой, если вы не используете центральный проект. В противном случае оставьте его ключом API.
Установите флажок, подтверждающий осознание последствий выставления счетов при использовании этих ресурсов.
Нажмите кнопку Далее.
Добавление семантического ранжирования
На странице "Дополнительные параметры" можно дополнительно добавить семантический рейтинг для повторного просмотра результатов в конце выполнения запроса. Переранжирование перемещает наиболее семантически релевантные совпадения на верхние позиции.
Сопоставьте новые поля
На странице "Дополнительные параметры " можно дополнительно добавить новые поля, при условии, что источник данных предоставляет метаданные или поля, которые не выбираются при первом проходе. По умолчанию мастер создает поля, описанные в следующей таблице.
| Поле | Относится к | Описание |
|---|---|---|
| идентификатор_блока | Векторы текста и изображения | Созданное строковое поле. Доступный для поиска, извлекаемый и сортируемый. Это ключ документа для индекса. |
| идентификатор_родителя | Текстовые векторы | Созданное строковое поле. Извлекаемые и фильтруемые. Определяет родительский документ, из которого происходит блок. |
| кусок | Векторы текста и изображения | Строковое поле. Удобочитаемая версия фрагмента данных. Доступный для поиска и получения, но не фильтруемый, фасетный или сортируемый. |
| заголовок | Векторы текста и изображения | Строковое поле. Понятный человеку заголовок документа или номер страницы. Доступный для поиска и получения, но не фильтруемый, фасетный или сортируемый. |
| текстовый вектор | Текстовые векторы | Коллекция (Edm.single). Векторное представление блока. Доступный для поиска и получения, но не фильтруемый, фасетный или сортируемый. |
Вы не можете изменить созданные поля или их атрибуты, но можно добавить новые поля, если источник данных предоставляет их. Например, Azure Blob Storage предоставляет коллекцию полей метаданных.
Чтобы добавить поля в схему индекса, выполните следующие действия.
На странице "Дополнительные параметры" в разделе "Индекс" выберите "Предварительный просмотр" и "Изменить".
Выберите "Добавить поле".
Выберите исходное поле из доступных полей, введите имя поля для индекса и примите (или переопределите) тип данных по умолчанию.
Если вы хотите восстановить схему до исходной версии, нажмите кнопку "Сброс".
Ключевые моменты этого шага:
Схема индекса предоставляет векторные и невекторные поля для блокированных данных.
Режим синтаксического анализа документов создает блоки (один документ поиска на блок).
Планирование индексирования
Для источников данных, где базовые данные являются переменными, можно запланировать индексирование для записи изменений с определенным интервалом или определенными датами и временем.
Чтобы запланировать индексирование:
На странице "Дополнительные параметры" в разделе "Расписание индексирования" укажите расписание выполнения индексатора. Рекомендуем Once для этого краткого руководства.
Нажмите кнопку Далее.
Завершение работы мастера
Последним шагом является проверка конфигурации и создание необходимых объектов для векторного поиска. При необходимости вернитесь на предыдущие страницы мастера, чтобы настроить конфигурацию.
Чтобы завершить работу мастера, выполните следующие действия.
На странице проверки и создания укажите префикс для объектов, создаваемых мастером. Распространенный префикс помогает оставаться упорядоченным.
Нажмите кнопку "Создать".
Созданные мастером объекты
Когда мастер завершит настройку, он создает следующие объекты:
| Object | Описание |
|---|---|
| Источник данных | Представляет подключение к выбранному источнику данных. |
| Index | Содержит векторные поля, векторизаторы, профили векторов и алгоритмы векторов. Невозможно изменить индекс по умолчанию во время рабочего процесса мастера. Индексы соответствуют последней предварительной версии REST API, чтобы вы могли использовать функции предварительной версии. |
| Набор навыков | Содержит следующие навыки и конфигурацию:
|
| Indexer | Управляет конвейером индексирования с сопоставлениями полей и сопоставлениями выходных полей (если это применимо). |
Подсказка
Созданные мастером объекты имеют настраиваемые определения JSON. Чтобы просмотреть или изменить эти определения, выберите "Управление поиском " в левой области, где можно просматривать индексы, индексаторы, источники данных и наборы навыков.
Проверка результатов
Обозреватель поиска принимает текстовые строки в качестве входных данных, а затем векторизирует текст для выполнения векторного запроса.
Чтобы запросить индекс вектора, выполните следующий запрос:
На портале Azure перейдите к Search Management>Indexes и выберите индекс.
Выберите параметры запроса и выберите "Скрыть векторные значения" в результатах поиска. Этот шаг делает результаты более читаемыми.
В меню "Вид " выберите представление 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 выберите All resources или Resource groups на панели слева, чтобы найти ресурсы и управлять ими. Вы можете удалить ресурсы по отдельности или удалить группу ресурсов, чтобы удалить все ресурсы одновременно.
Следующий шаг
В этом кратком руководстве описан мастер импорта данных , который создает все необходимые объекты для интегрированной векторизации. Подробные сведения о каждом шаге см. в статье Set up integrated vectorization in Azure AI Search.