Краткое руководство. Встроенная векторизация (предварительная версия)

Внимание

Мастер импорта и векторизации данных находится в общедоступной предварительной версии в разделе "Дополнительные условия использования". Он предназначен для REST API 2023-10-01-Preview.

Начало работы с встроенной векторизацией (предварительная версия) с помощью мастера импорта и векторизации данных в портал Azure. Этот мастер вызывает модель внедрения текста Azure OpenAI для векторизации содержимого во время индексирования и запросов.

В этой предварительной версии мастера:

  • Исходные данные — это только большой двоичный объект, используя режим синтаксического анализа по умолчанию (один документ поиска для каждого большого двоичного объекта).

  • Схема индекса не настраивается. Исходные поля включают content (блокированные и векторизованные), metadata_storage_name заголовки и metadata_storage_path ключ документа, заполненный как parent_id в индексе.

  • Векторизация — это только Azure OpenAI (только text-embedding-ada-002), используя алгоритм HNSW со значениями по умолчанию.

  • Блокирование не настраивается. Эффективные параметры:

    textSplitMode: "pages",
    maximumPageLength: 2000,
    pageOverlapLength: 500
    

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

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

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

  • Конечная точка Azure OpenAI с развертыванием текстового внедрения-ada-002 и ключа API или разрешений пользователя OpenAI Для отправки данных. В этой предварительной версии можно выбрать только один векторизатор, а векторизатор должен быть Azure OpenAI.

  • служба хранилища Azure учетной записи, стандартной производительности (общего назначения версии 2), уровнях горячего и холодного доступа.

  • Большие двоичные объекты предоставляют текстовое содержимое, только неструктурированные документы и метаданные. В этой предварительной версии источник данных должен быть blob-объектами Azure.

  • Разрешения на чтение в служба хранилища Azure. Хранилище строка подключения, включающее ключ доступа, предоставляет доступ для чтения к содержимому хранилища. Если вместо этого вы используете имена входа и роли Microsoft Entra, убедитесь, что управляемое удостоверение службы поиска имеет служба хранилища разрешения чтения данных BLOB-объектов.

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

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

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

Проверка семантического ранжирования

Этот мастер поддерживает семантический ранжирование, но только на уровне "Базовый" и выше, и только если семантический рейтинг уже включен в службе поиска. Если вы используете оплачиваемый уровень, проверка, чтобы узнать, включена ли семантическая ранжирование.

Снимок экрана: страница конфигурации семантического ранга.

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

В этом разделе приведены данные, которые работают в этом кратком руководстве.

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

  2. В области навигации в разделе "Данные служба хранилища" выберите "Контейнеры".

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

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

Получение сведений о подключении для Azure OpenAI

Мастеру требуется конечная точка, развертывание текстового внедрения-ada-002, а также ключ API или управляемое удостоверение службы поиска с разрешениями пользователя OpenAI в Cognitive Services.

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

  2. В разделе "Ключи и управление" скопируйте конечную точку.

  3. На той же странице скопируйте ключ или проверка управление доступом, чтобы назначить членам роли удостоверение службы поиска.

  4. В разделе "Развертывания модели" выберите "Управление развертываниями", чтобы открыть Azure AI Studio. Скопируйте имя развертывания text-embedding-ada-002.

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

Чтобы приступить к работе, перейдите к служба Azure AI в портал Azure и откройте мастер импорта и векторизации данных.

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

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

    Снимок экрана: команда мастера.

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

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

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

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

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

  4. Укажите, требуется ли обнаружение удаления:

    Снимок экрана: страница источника данных.

  5. Нажмите кнопку Далее: векторизация и обогащение , чтобы продолжить.

Обогащение и векторизация данных

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

  1. Укажите имя подписки, конечной точки, ключа API и развертывания модели.

  2. При необходимости можно взломать двоичные изображения (например, сканированные файлы документов) и использовать OCR для распознавания текста.

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

  4. Укажите расписание выполнения для индексатора.

    Снимок экрана: страница обогащения.

  5. Нажмите кнопку "Далее" и " Проверить ", чтобы продолжить.

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

На этом шаге создаются следующие объекты:

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

  • Индекс с полями векторов, векторизаторами, профилями векторов, алгоритмами векторов. Вам не предлагается разработать или изменить индекс по умолчанию во время рабочего процесса мастера. Индексы соответствуют версии 2023-10-01-Preview.

  • Набор навыков с навыком разделения текста для фрагментирования и AzureOpenAIEmbeddingModel для векторизации.

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

Если возникают ошибки, сначала просмотрите разрешения. Вам нужен пользователь OpenAI Cognitive Services в Azure OpenAI и служба хранилища средство чтения данных BLOB-объектов в служба хранилища Azure. Большие двоичные объекты должны быть неструктурированы (фрагментированные данные извлекается из свойства "содержимого" большого двоичного объекта).

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

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

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

  2. При необходимости выберите параметры запроса и скрыть векторные значения в результатах поиска. Этот шаг упрощает чтение результатов поиска.

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

  3. Выберите представление JSON, чтобы можно было ввести текст для векторного запроса в параметре текстового векторного запроса.

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

    Этот мастер предлагает запрос по умолчанию, который выдает векторный запрос в поле "vector", возвращая 5 ближайших соседей. Если вы решили скрыть векторные значения, запрос по умолчанию включает инструкцию select, которая исключает поле вектора из результатов поиска.

    {
       "select": "chunk_id,parent_id,chunk,title",
       "vectorQueries": [
           {
              "kind": "text",
              "text": "*",
              "k": 5,
              "fields": "vector"
           }
        ]
    }
    
  4. Замените текст "*" вопросом, связанным с планами здравоохранения, например "какой план имеет самый низкий вычитаемый".

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

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

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

  6. Чтобы просмотреть все фрагменты из определенного документа, добавьте фильтр для поля заголовка для определенного PDF-файла:

    {
       "select": "chunk_id,parent_id,chunk,title",
       "filter": "title eq 'Benefit_Options.pdf'",
       "count": true,
       "vectorQueries": [
           {
              "kind": "text",
              "text": "*",
              "k": 5,
              "fields": "vector"
           }
        ]
    }
    
    

Очистка

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

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

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