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


Руководство. Выбор моделей внедрения и чата для RAG в поиске ИИ Azure

Решение RAG, созданное на основе поиска ИИ Azure, зависит от внедрения моделей векторизации и моделей чата для поиска бесед по данным.

Изучив это руководство, вы:

  • Узнайте, какие модели в облаке Azure работают со встроенной интеграцией
  • Сведения о моделях Azure, используемых для чата
  • Развертывание моделей и сбор сведений о модели для кода
  • Настройка доступа поисковой системы к моделям Azure
  • Сведения о пользовательских навыках и векторизаторах для присоединения моделей, отличных от Azure

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

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

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

  • Роль владельца или администратора доступа пользователей в подписке Azure, необходимая для создания назначений ролей. В этом руководстве используется по крайней мере три ресурса Azure. Подключения проходят проверку подлинности с помощью идентификатора Microsoft Entra, который требует возможности создавать роли. Назначения ролей для подключения к моделям описаны в этой статье. Если вы не можете создавать роли, вместо этого можно использовать ключи API.

  • Поставщик моделей, например Azure OpenAI, Azure AI Vision через ресурс нескольких служб ИИ Azure или Azure AI Foundry.

    В этом руководстве мы используем Azure OpenAI. Другие поставщики перечислены таким образом, чтобы вы знали варианты интегрированной векторизации.

  • Поиск ИИ Azure, уровень "Базовый" или более высокий предоставляет управляемое удостоверение, используемое в назначениях ролей.

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

    Поиск azure AI в настоящее время сталкивается с ограниченной доступностью в некоторых регионах. Чтобы подтвердить состояние региона, проверьте список регионов поиска ИИ Azure.

Совет

Ознакомьтесь со статьей о списке перекрывающихся регионов.

Просмотр моделей, поддерживающих встроенную векторизацию

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

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

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

Поиск ИИ Azure предоставляет поддержку навыка и векторизатора для следующих моделей внедрения в облако Azure.

Клиент Внедрение моделей Навык Векторизатор
Azure OpenAI text-embedding-ada-002,
text-embedding-3-large,
text-embedding-3-small
AzureOpenAIEmbedding AzureOpenAIEmbedding
Зрение ИИ Azure multimodal 4.0 1 AzureAIVision AzureAIVision
Каталог моделей Azure AI Foundry Facebook-DinoV2-Image-Embeddings-ViT-Base,
Facebook-DinoV2-Image-Embeddings-ViT-Giant,
Cohere-embed-v3-english,
Cohere-embed-v3-multilingual (многоязычная)
AML 2 Каталог моделей Azure AI Foundry

1 Поддерживает векторизацию изображений и текста.

2 Развернутые модели в каталоге моделей получают доступ к конечной точке AML. Для этого подключения используется существующий навык AML.

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

Примечание.

Входные данные для моделей внедрения обычно блокируются. В шаблоне RAG поиска ИИ Azure блоки обрабатываются в конвейере индексатора, описанном в другом руководстве в этой серии.

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

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

Для поиска чата часто используются следующие модели:

Клиент Модели чата
Azure OpenAI GPT-35-Turbo,
GPT-4,
GPT-4o,
GPT-4 Turbo

Модели GPT-35-Turbo и GPT-4 оптимизированы для работы с входными данными, отформатированными как беседа.

В этом руководстве мы используем GPT-4o. Во время тестирования мы обнаружили, что это менее вероятно, чтобы дополнить свои собственные обучающие данные. Например, учитывая запрос "сколько земли охватывается водой?", GPT-35-Turbo ответил, используя свои встроенные знания о земле, чтобы указать, что 71% земли охватывается водой, даже если образец данных не предоставляет этот факт. В отличие от этого, GPT-4o ответил (правильно) с "Я не знаю".

Развертывание моделей и сбор сведений

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

В этой серии руководств используются следующие модели и поставщики моделей:

  • Внедрение текста 3 в Azure OpenAI для внедрения
  • GPT-4o в Azure OpenAI для завершения чата

Для развертывания моделей в Azure OpenAI требуется участник Cognitive Services OpenAI или более поздней версии.

  1. Перейдите в Azure AI Foundry.

  2. Выберите развертывания в меню слева.

  3. Выберите "Развернуть модель>развертывания базовой модели".

  4. Выберите текстовое внедрение-3-большой из раскрывающегося списка и подтвердите выделение.

  5. Укажите имя развертывания. Мы рекомендуем "text-embedding-3-large".

  6. Примите значения по умолчанию.

  7. Выберите Развернуть.

  8. Повторите предыдущие шаги для gpt-4o.

  9. Запишите имена моделей и конечную точку. Внедрение навыков и векторизаторов выполняет внутреннюю сборку полной конечной точки, поэтому вам нужен только универсальный код ресурса ресурса. Например, учитывая https://MY-FAKE-ACCOUNT.openai.azure.com/openai/deployments/text-embedding-3-large/embeddings?api-version=2024-06-01, что конечная точка должна быть указана в определениях навыка и векторизатора https://MY-FAKE-ACCOUNT.openai.azure.com.

Настройка доступа поисковой системы к моделям Azure

Для выполнения конвейеров и запросов в этом руководстве используется идентификатор Microsoft Entra для проверки подлинности и ролей для авторизации.

Назначьте себе и разрешения удостоверения службы поиска в Azure OpenAI. Код для этого учебника выполняется локально. Запросы к Azure OpenAI исходят из вашей системы. Кроме того, результаты поиска из поисковой системы передаются в Azure OpenAI. По этим причинам вам и службе поиска требуются разрешения на Azure OpenAI.

  1. Войдите в портал Azure и найдите службу поиска.

  2. Настройте поиск ИИ Azure для использования управляемого системой удостоверения.

  3. Найдите ресурс Azure OpenAI.

  4. Выберите элемент управления доступом (IAM) в меню слева.

  5. выберите Добавить назначение ролей.

  6. Выберите пользователя OpenAI Cognitive Services.

  7. Выберите управляемое удостоверение и выберите "Участники". Найдите управляемое системой удостоверение для службы поиска в раскрывающемся списке.

  8. Затем выберите "Пользователь", "Группа" или "Субъект-служба ", а затем выберите "Участники". Найдите учетную запись пользователя и выберите ее в раскрывающемся списке.

  9. Убедитесь, что у вас есть два субъекта безопасности, назначенных роли.

  10. Выберите "Рецензирование" и " Назначить ", чтобы создать назначения ролей.

Чтобы получить доступ к моделям в Azure AI Vision, назначьте пользователя OpenAI Cognitive Services. Для Azure AI Foundry назначьте разработчика ИИ Azure.

Использование моделей, отличных от Azure, для внедрения

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

Клиент Внедрение моделей Навык Векторизатор
Любой Любой пользовательский навык настраиваемый векторизатор

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