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


Руководство. Часть 1. Настройка проекта и среды разработки для создания пользовательского приложения для получения знаний (RAG) с помощью пакета SDK для Azure AI Foundry

В этом руководстве вы используете пакет SDK для Azure AI Foundry (и другие библиотеки) для создания, настройки и оценки приложения чата для вашей розничной компании с именем Contoso Trek. Ваша розничная компания специализируется на открытом кемпинге шестеренки и одежды. Приложение чата должно отвечать на вопросы о продуктах и службах. Например, приложение чата может ответить на такие вопросы, как "какая палатка является самой водонепроницаемой?" или "что является лучшим спящим мешком для холодной погоды?".

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

  • Создание проекта
  • Создание индекса поиска ИИ Azure
  • Установка Azure CLI и вход
  • Установка Python и пакетов
  • Развертывание моделей в проекте
  • Настройка переменных среды

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

Это руководство является частью одного из трех частей учебника.

Внимание

Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

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

Создание проекта

Чтобы создать проект в Azure AI Foundry, выполните следующие действия.

  1. Перейдите на домашнюю страницу Azure AI Foundry.
  2. Нажмите кнопку " + Создать проект".
  3. Введите имя проекта. Сохраните все остальные параметры по умолчанию.
  4. Проекты создаются в центрах. Если вы видите, как создать концентратор , выберите его и укажите имя. Затем выберите Далее. (Если вы не видите Создайте новый центр, не беспокойтесь. Это потому, что для вас создается новый.)
  5. Выберите "Настроить", чтобы указать свойства концентратора.
  6. Используйте все нужные значения, за исключением региона. Для этого руководства рекомендуется использовать восточную часть США 2 или Центральную Швецию в регионе.
  7. Выберите Далее.
  8. Выберите Создать проект.

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

Вам потребуется две модели для создания приложения чата на основе RAG: модели чата Azure OpenAI (gpt-4o-mini) и модели внедрения Azure OpenAI (text-embedding-ada-002). Разверните эти модели в проекте Azure AI Foundry, используя этот набор шагов для каждой модели.

Эти шаги по развертыванию модели в конечной точке в режиме реального времени из каталога моделей портала Azure AI Foundry:

  1. В области навигации слева выберите каталог моделей.

  2. Выберите модель gpt-4o-mini в списке моделей. Вы можете использовать панель поиска, чтобы найти ее.

    Снимок экрана: страница выбора модели.

  3. На странице сведений о модели выберите "Развернуть".

    Снимок экрана: страница сведений о модели с кнопкой для развертывания модели.

  4. Оставьте имя развертывания по умолчанию. Выберите "Развернуть". Или, если модель недоступна в вашем регионе, для вас выбран другой регион и подключен к проекту. В этом случае выберите "Подключиться и развернуть".

После развертывания gpt-4o-mini повторите действия по развертыванию модели text-embedding-ada-002.

Цель этого приложения — заставить ответы модели в пользовательских данных. Индекс поиска используется для получения соответствующих документов на основе вопроса пользователя.

Для создания индекса поиска требуется служба ИИ Azure и подключение.

Примечание.

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

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

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

Совет

Этот шаг — это единственный раз, когда вы используете портал Azure в этом руководстве. Остальная часть работы выполняется на портале Azure AI Foundry или в локальной среде разработки.

  1. Создайте служба Azure AI в портал Azure.
  2. Выберите группу ресурсов и сведения о экземпляре. На этой странице можно просмотреть сведения о ценах и ценовых категориях.
  3. Перейдите к мастеру и выберите "Проверить и назначить" , чтобы создать ресурс.
  4. Проверьте сведения о служба azure AI, включая предполагаемые затраты.
  5. Выберите "Создать", чтобы создать служба ИИ Azure.

Подключение поиска ИИ Azure к проекту

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

На портале Azure AI Foundry проверьте подключенный ресурс поиска ИИ Azure.

  1. В Azure AI Foundry перейдите в проект и выберите центр управления в левой области.

  2. В разделе "Подключенные ресурсы" просмотрите, есть ли у вас подключение к типу службы "Поиск ИИ Azure".

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

  4. В противном случае выберите "Создать подключение" и " Поиск по искусственному интеллекту Azure".

  5. Найдите служба Azure AI в параметрах и выберите "Добавить подключение".

  6. Используйте ключ API для проверки подлинности.

    Внимание

    Параметр ключа API не рекомендуется для рабочей среды. Чтобы выбрать и использовать рекомендуемый параметр проверки подлинности идентификатора Microsoft Entra, необходимо также настроить управление доступом для служба ИИ Azure. Назначьте роли участника индекса поиска и участника службы поиска учетной записи пользователя. Дополнительные сведения см. в статье "Подключение к поиску ИИ Azure" с помощью ролей и управления доступом на основе ролей на портале Azure AI Foundry.

  7. Выберите Добавить подключение.

Установка Azure CLI и вход

Вы устанавливаете Azure CLI и войдите из локальной среды разработки, чтобы использовать учетные данные пользователя для вызова службы Azure OpenAI.

В большинстве случаев azure CLI можно установить из терминала с помощью следующей команды:

winget install -e --id Microsoft.AzureCLI

Инструкции по установке Azure CLI можно выполнить, если эти команды не работают для конкретной операционной системы или установки.

После установки Azure CLI выполните вход с помощью az login команды и входа с помощью браузера:

az login

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

az login --use-device-code

Создание новой среды Python.

Сначала необходимо создать новую среду Python для установки пакета, необходимого для работы с этим руководством. Не устанавливайте пакеты в глобальную установку Python. При установке пакетов Python всегда следует использовать виртуальную или конда-среду, в противном случае можно разорвать глобальную установку Python.

При необходимости установите Python

Рекомендуется использовать Python 3.10 или более поздней версии, но требуется по крайней мере Python 3.8. Если у вас нет подходящей версии Python, вы можете следовать инструкциям в руководстве по Python VS Code для простого способа установки Python в операционной системе.

Создание виртуальной среды

Если у вас уже установлен Python 3.10 или более поздней версии, можно создать виртуальную среду с помощью следующих команд:

py -3 -m venv .venv
.venv\scripts\activate

Активация среды Python означает, что при запуске python или pip из командной строки используется интерпретатор Python, содержащийся в .venv папке приложения.

Примечание.

Вы можете использовать deactivate команду для выхода из виртуальной среды Python, а затем повторно активировать ее при необходимости.

Установка пакетов

Установка azure-ai-projects(предварительная версия) и azure-ai-inference (предварительная версия) вместе с другими необходимыми пакетами.

  1. Сначала создайте файл с именем requirements.txt в папке проекта. Добавьте в файл следующие пакеты:

    azure-ai-projects
    azure-ai-inference[prompts]
    azure-identity
    azure-search-documents
    pandas
    python-dotenv
    opentelemetry-api
    
  2. Установите необходимые пакеты.

    pip install -r requirements.txt
    

Создание вспомогательного скрипта

Создайте папку для работы. Создайте файл с именем config.py в этой папке. Этот вспомогательный скрипт используется в следующих двух частях серии учебников. Добавьте следующий код:

# ruff: noqa: ANN201, ANN001

import os
import sys
import pathlib
import logging
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.inference.tracing import AIInferenceInstrumentor

# load environment variables from the .env file
from dotenv import load_dotenv

load_dotenv()

# Set "./assets" as the path where assets are stored, resolving the absolute path:
ASSET_PATH = pathlib.Path(__file__).parent.resolve() / "assets"

# Configure an root app logger that prints info level logs to stdout
logger = logging.getLogger("app")
logger.setLevel(logging.INFO)
logger.addHandler(logging.StreamHandler(stream=sys.stdout))


# Returns a module-specific logger, inheriting from the root app logger
def get_logger(module_name):
    return logging.getLogger(f"app.{module_name}")


# Enable instrumentation and logging of telemetry to the project
def enable_telemetry(log_to_project: bool = False):
    AIInferenceInstrumentor().instrument()

    # enable logging message contents
    os.environ["AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED"] = "true"

    if log_to_project:
        from azure.monitor.opentelemetry import configure_azure_monitor

        project = AIProjectClient.from_connection_string(
            conn_str=os.environ["AIPROJECT_CONNECTION_STRING"], credential=DefaultAzureCredential()
        )
        tracing_link = f"https://ai.azure.com/tracing?wsid=/subscriptions/{project.scope['subscription_id']}/resourceGroups/{project.scope['resource_group_name']}/providers/Microsoft.MachineLearningServices/workspaces/{project.scope['project_name']}"
        application_insights_connection_string = project.telemetry.get_connection_string()
        if not application_insights_connection_string:
            logger.warning(
                "No application insights configured, telemetry will not be logged to project. Add application insights at:"
            )
            logger.warning(tracing_link)

            return

        configure_azure_monitor(connection_string=application_insights_connection_string)
        logger.info("Enabled telemetry logging to project, view traces at:")
        logger.info(tracing_link)

Настройка переменных среды

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

.env Создайте файл и вставьте следующий код:

AIPROJECT_CONNECTION_STRING=<your-connection-string>
AISEARCH_INDEX_NAME="example-index"
EMBEDDINGS_MODEL="text-embedding-ada-002"
INTENT_MAPPING_MODEL="gpt-4o-mini"
CHAT_MODEL="gpt-4o-mini"
EVALUATION_MODEL="gpt-4o-mini"
  • Найдите строка подключения в проекте Azure AI Foundry, созданном в кратком руководстве по игровой площадке Azure AI Foundry. Откройте проект, а затем найдите строка подключения на странице обзора. Скопируйте строка подключения и вставьте его в .env файл.

    Снимок экрана: страница обзора проекта и расположение строка подключения.

  • Если у вас еще нет индекса поиска, сохраните значение example-index для AISEARCH_INDEX_NAME. В части 2 этого руководства вы создадите индекс с помощью этого имени. Если вы ранее создали индекс поиска, который вы хотите использовать, обновите значение, соответствующее имени этого индекса поиска.

  • Если вы изменили имена моделей при их развертывании, обновите значения в .env файле, чтобы они соответствовали используемым именам.

Совет

Если вы работаете в VS Code, закройте окно терминала после сохранения изменений в .env файле.

Предупреждение

Убедитесь, что ваш .env файл находится в .gitignore вашем файле, чтобы не случайно проверить его в репозитории Git.

Очистка ресурсов

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

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

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

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