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


Интегрированные блоки данных и внедрение в поиск ИИ Azure

Встроенная векторизация — это расширение конвейеров индексирования и запросов в службе "Поиск ИИ Azure". Он добавляет следующие возможности:

  • Блоки данных во время индексирования
  • Преобразование текста в вектор во время индексирования
  • Преобразование текста в вектор во время запросов

Блокирование данных не является жестким требованием, но если необработанные документы не являются небольшими, блокирование необходимо для удовлетворения требований к входным данным маркера для внедрения моделей.

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

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

Интегрированные блоки данных и векторизация теперь общедоступны.

Использование встроенной векторизации во время индексирования

Для преобразования фрагментов данных и преобразования текста в вектор вы принимаете зависимость от следующих компонентов:

Использование интегрированной векторизации в запросах

Для преобразования текста в вектор во время запросов необходимо учитывать следующие компоненты:

схема компонентов

На следующей схеме показаны компоненты интегрированной векторизации.

Схема компонентов в интегрированном рабочем процессе векторизации.

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

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

Доступность и цены

Встроенная векторизация доступна во всех регионах и уровнях. Однако если вы используете Навыки и векторизаторы Azure OpenAI и Azure, убедитесь, что ваша учетная запись azure AI с несколькими службами доступна в том же регионе, что и поиск ИИ Azure.

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

Фрагментирование данных (навык разделения текста) бесплатно и доступно во всех службах ИИ Azure во всех регионах.

Примечание.

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

Какие сценарии могут поддерживать встроенную векторизацию?

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

  • Создайте векторное хранилище, где все поля являются векторами, а идентификатор документа (обязательный для индекса поиска) является единственным строковым полем. Запросите векторное хранилище для получения идентификаторов документов, а затем отправьте поля векторов документа в другую модель.

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

Когда следует использовать встроенную векторизацию

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

Использование встроенной векторизации

Для векторизации только для запросов:

  1. Добавьте векторизатор в индекс. Она должна быть той же моделью внедрения, используемой для создания векторов в индексе.
  2. Назначьте векторизатору профиль вектора, а затем назначьте профиль вектора полю вектора.
  3. Сформулируйте векторный запрос , указывающий текстовую строку для векторизации.

Более распространенный сценарий — блокирование и векторизация данных во время индексирования:

  1. Создайте подключение источника данных к поддерживаемму источнику данных для индексации на основе индексатора.
  2. Создайте набор навыков, который вызывает навык разделения текста для фрагментирования и AzureOpenAIEmbeddingModel или другого навыка внедрения для векторизации блоков.
  3. Создайте индекс , указывающий векторизатор времени запроса и назначьте его векторным полям.
  4. Создайте индексатор , чтобы управлять всем, от извлечения данных до выполнения набора навыков с помощью индексирования. Рекомендуется запустить индексатор по расписанию , чтобы забрать измененные документы или все пропущенные документы из-за регулирования.

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

Совет

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

Безопасные подключения к векторизаторам и моделям

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

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

Для сценариев векторизации используется:

  • openai_account для внедрения моделей, размещенных в ресурсе Azure OpenAI.

  • sitesдля внедрения моделей, доступных в качестве пользовательского навыка или пользовательского векторизатора. sites Идентификатор группы предназначен для служб приложений и функций Azure, которые можно использовать для размещения модели внедрения, которая не является одной из моделей внедрения Azure OpenAI.

Ограничения

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

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

В службе "Поиск ИИ Azure" помните, что существуют ограничения служб по уровням и рабочим нагрузкам.

Преимущества интегрированной векторизации

Ниже приведены некоторые основные преимущества интегрированной векторизации:

  • Не существует отдельного конвейера блокирования и векторизации данных. Код проще писать и поддерживать.

  • Автоматизация сквозного индексирования. Когда данные изменяются в источнике (например, в служба хранилища Azure, SQL Azure или Cosmos DB), индексатор может перемещать эти обновления через весь конвейер, начиная от извлечения, до получения документов, путем дополнительного обогащения ИИ, фрагментирования данных, векторизации и индексирования.

  • Логика пакетной обработки и повторных попыток встроена (не настраиваемая). Служба "Поиск ИИ Azure" имеет внутренние политики повторных попыток регулирования ошибок, которые возникают из-за конечной точки Azure OpenAI, максимальной квоты маркеров для модели внедрения. Мы рекомендуем поместить индексатор в расписание (например, каждые 5 минут), чтобы индексатор может обрабатывать любые вызовы, которые были регулированием конечной точкой Azure OpenAI, несмотря на политики повторных попыток.

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

    Вторичные индексы предназначены для приложений стиля вопросов и ответов или чата. Вторичный индекс содержит детализированные сведения для более конкретных совпадений, но родительский индекс содержит дополнительные сведения и часто может создавать более полный ответ. При обнаружении совпадения в вторичном индексе запрос возвращает родительский документ из первичного индекса. Например, при условии, что большой PDF-файл в качестве исходного документа основной индекс может содержать основные сведения (название, дата, автор, описание), а вторичный индекс содержит фрагменты содержимого, доступного для поиска.

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