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


Руководство. Подключение к службе Azure OpenAI в AKS с помощью строка подключения (предварительная версия)

В этом руководстве описано, как создать pod в кластере Azure Kubernetes (AKS), который взаимодействует со службой Azure OpenAI с помощью строка подключения. Выполните следующие задачи.

  • Создайте кластер AKS и Службу Azure OpenAI с gpt-4 развертыванием модели.
  • Создайте подключение между кластером AKS и Azure OpenAI с помощью соединителя службы.
  • Клонируйте пример приложения, которое будет взаимодействовать со службой OpenAI из кластера AKS.
  • Разверните приложение в модуле pod в кластере AKS и проверьте подключение.
  • Очистите ресурсы.

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

Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, требует очень высокого уровня доверия к приложению и несет риски, которые отсутствуют в других потоках. Этот поток следует использовать только в том случае, если другие более безопасные потоки, такие как управляемые удостоверения, не являются жизнеспособными. Ознакомьтесь с руководством по управляемому удостоверению.

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

Создание ресурсов Azure

  1. Создайте группу ресурсов для этого руководства.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Создайте кластер AKS со следующей командой или с помощью краткого руководства по AKS. В этом кластере мы создадим определение подключения к службе и pod и развернем пример приложения.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1 \
       --generate-ssh-keys
    
  3. Подключитесь к кластеру с помощью команды az aks get-credentials .

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Создайте ресурс Службы Azure OpenAI с помощью команды az cognitiveservices account create . Дополнительные инструкции см. в этом руководстве . Служба Azure OpenAI — это целевая служба, которую мы подключим к кластеру AKS.

    az cognitiveservices account create \
        --resource-group MyResourceGroup \
        --name MyOpenAIService \
        --location eastus \
        --kind OpenAI \
        --sku s0 \
        --custom-domain myopenaiservice \
        --subscription <SubscriptionID>
    
  5. Разверните модель с помощью команды az cognitiveservices deployment create . Модель используется в примере приложения для проверки подключения.

    az cognitiveservices account deployment create \
        --resource-group MyResourceGroup \
        --name MyOpenAIService
        --deployment-name MyModel \
        --model-name gpt-4 \
        --model-version 0613 \
        --model-format OpenAI \
        --sku-name "Standard"
        --capacity 1
    
  6. Создайте ресурс Реестр контейнеров Azure (ACR) с помощью команды az acr create или ссылки на это руководство. В реестре размещен образ контейнера примера приложения, которое использует определение pod AKS.

    az acr create \
        --resource-group MyResourceGroup \
        --name myregistry \
        --sku Standard
    
  7. Включите анонимный запрос с помощью команды az acr update , чтобы кластер AKS мог использовать образы в реестре.

    az acr update \
        --resource-group MyResourceGroup \
        --name myregistry \
        --anonymous-pull-enabled
    

Создание подключения службы в AKS с помощью соединителя службы (предварительная версия)

Создайте подключение службы между кластером AKS и службой Azure OpenAI в портал Azure или Azure CLI.

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

  1. Вкладка Основные сведения:

    Параметр Пример значения Description
    Пространство имен Kubernetes default Пространство имен Kubernetes.
    тип услуги; Служба OpenAI Тип целевой службы.
    Имя подключения openai_conn Используйте имя подключения, предоставленное соединителем службы, или выберите собственное имя подключения.
    Подписка <MySubscription> Подписка, используемая для службы Azure OpenAI.
    OpenAI <MyOpenAIService> Целевая служба Azure OpenAI, к которой требуется подключиться.
    Тип клиента Python Язык кода или платформа, используемая для подключения к целевой службе.
  2. Вкладка проверки подлинности:

    Параметр проверки подлинности Пример значения Description
    Тип проверки подлинности Строка подключения Тип проверки подлинности соединителя службы.

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

Клонирование примера приложения

  1. Клонируйте репозиторий примера.

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Перейдите в пример папки репозитория для Azure OpenAI:

    cd serviceconnector-aks-samples/azure-openai-connection-string
    
  3. Замените <MyModel> заполнитель в app.py файле именем модели, развернутой нами.

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

  1. Создайте и отправьте образы в реестр контейнеров с помощью команды azure CLI az acr build .

    az acr build --registry <MyRegistry> --image sc-demo-openai-connstr:latest ./
    
  2. Просмотр образов в реестре контейнеров с помощью команды az acr repository list .

    az acr repository list --name <MyRegistry> --output table
    

Запуск приложения и проверка подключения

  1. Замените заполнители в pod.yaml файле в папке azure-openai-connection-string .

    • Замените <YourContainerImage> именем образа, созданного ранее. Например: <MyRegistry>.azurecr.io/sc-demo-openai-connstr:latest.
    • Замените <SecretCreatedByServiceConnector> секретом, созданным соединителем службы. Вы можете проверить имя секрета в портал Azure на панели соединителя служб.
  2. Разверните pod в кластере с помощью kubectl apply команды. Установите kubectl локально с помощью команды az aks install-cli , если она не установлена. Команда создает pod с именем sc-demo-openai-connstr в пространстве имен по умолчанию кластера AKS.

    kubectl apply -f pod.yaml
    
  3. Проверьте, успешно ли развертывание выполнено, просматривая модуль pod с kubectlпомощью .

    kubectl get pod/sc-demo-openai-connstr
    
  4. Убедитесь, что подключение работает, просматривая журналы с kubectlпомощью .

    kubectl logs pod/sc-demo-openai-connstr
    

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

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

az group delete \
    --resource-group MyResourceGroup

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

Ознакомьтесь со следующими статьями, чтобы узнать больше о концепциях соединителя служб и о том, как это помогает AKS подключаться к службам Azure.