Partager via


Tutoriel : Se connecter à Azure OpenAI Service dans AKS en utilisant une chaîne de connexion (préversion)

Dans ce tutoriel, vous apprendrez à créer un pod dans un cluster Azure Kubernetes (AKS), qui communique avec Azure OpenAI Service à l’aide d’une chaîne de connexion. Effectuez les tâches suivantes :

  • Créez un cluster AKS et azure OpenAI Service avec gpt-4 modèle de déploiement.
  • Créer une connexion entre le cluster AKS et Azure OpenAI avec le connecteur de services.
  • Cloner un exemple d’application qui communiquera avec le service OpenAI à partir d’un cluster AKS.
  • Déployer l’application sur un pod dans le cluster AKS et tester la connexion.
  • Supprimer des ressources.

Avertissement

Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d'authentification décrit dans cette procédure demande un degré de confiance très élevé dans l'application et comporte des risques qui ne sont pas présents dans d'autres flux. Vous ne devez utiliser ce flux que si d’autres flux plus sécurisés, tels que les identités managées, ne sont pas viables. Consultez le tutoriel en utilisant une identité managée.

Prérequis

Créer des ressources Azure

  1. Créez un groupe de ressources pour ce tutoriel.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Créez un cluster AKS avec la commande suivante ou en suivant les instructions de ce guide de démarrage AKS. C’est dans ce cluster que nous créons la connexion au service et la définition du pod et que nous déployons l’exemple d’application.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1 \
       --generate-ssh-keys
    
  3. Connectez-vous au cluster à l’aide de la commande az aks get-credentials.

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Créez une ressource Azure OpenAI Service à l’aide de la commande az cognitiveservices account create. Si vous le souhaitez, reportez-vous facultativement à ce didacticiel pour obtenir plus d’instructions. Azure OpenAI Service est le service cible que nous allons connecter au cluster AKS.

    az cognitiveservices account create \
        --resource-group MyResourceGroup \
        --name MyOpenAIService \
        --location eastus \
        --kind OpenAI \
        --sku s0 \
        --custom-domain myopenaiservice \
        --subscription <SubscriptionID>
    
  5. Déployer un modèle avec la commande az cognitiveservices deployment create. Le modèle est utilisé dans l’exemple d’application pour tester la connexion.

    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. Créez une ressource Azure Container Registry (ACR) avec la commande az acr create, ou en vous référant à ce tutoriel. Le registre héberge l’image du conteneur de l’exemple d’application, que la définition du pod AKS consomme.

    az acr create \
        --resource-group MyResourceGroup \
        --name myregistry \
        --sku Standard
    
  7. Activez l’extraction anonyme à l’aide de la commande az acr update afin que le cluster AKS puisse consommer les images dans le registre.

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

Créer une connexion de service dans AKS avec Connecteur de services (préversion)

Créez une connexion de service entre un cluster AKS et Azure OpenAI Service dans le portail Azure ou l’interface de ligne de commande Azure.

Reportez-vous au guide de démarrage rapide de connexion de service AKS pour obtenir des instructions pour créer une connexion et renseigner les paramètres faisant référence aux exemples du tableau suivant. Conservez toutes les valeurs par défaut des autres paramètres.

  1. Onglet Informations de base :

    Setting Valeur d'exemple Description
    Espace de noms Kubernetes default L’espace de noms Kubernetes
    Type de service OpenAI Service Type de service cible.
    Nom de connexion openai_conn Utilisez le nom de la connexion fourni par le connecteur de services ou choisissez votre propre nom de connexion.
    Abonnement <MySubscription> L’abonnement utilisé pour le service Azure OpenAI.
    OpenAI <MyOpenAIService> Service d’Azure OpenAI cible auquel vous souhaitez vous connecter.
    Type de client Python Langage de code ou infrastructure que vous utilisez pour vous connecter au service cible.
  2. Onglet Authentification :

    Paramètre d’authentification Valeur d'exemple Description
    Type d’authentification Chaîne de connexion Type d’authentification du Connecteur de services.

Une fois la connexion créée, vous pouvez afficher ses détails dans le volet du connecteur de services.

Cloner un exemple d’application

  1. Clonez l’exemple de dépôt :

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Accédez au dossier de l’exemple du dépôt pour Azure OpenAI :

    cd serviceconnector-aks-samples/azure-openai-connection-string
    
  3. Remplacez l’espace réservé <MyModel> dans le fichier app.py par le nom du modèle que nous avons déployé.

Générer et envoyer (push) des images conteneur

  1. Construisez et envoyez les images dans votre registre de conteneurs à l’aide de la commande Azure CLI azr acr build.

    az acr build --registry <MyRegistry> --image sc-demo-openai-connstr:latest ./
    
  2. Afficher les images dans votre registre de conteneurs à l’aide de la commande az acr repository list.

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

Exécuter l’application et tester la connexion

  1. Remplacez les espaces réservés dans le fichier pod.yaml du dossier azure-openai-connection-string.

    • Remplacez <YourContainerImage> par le nom de l’image que nous avons créée précédemment. Par exemple : <MyRegistry>.azurecr.io/sc-demo-openai-connstr:latest.
    • Remplacez <SecretCreatedByServiceConnector> par le secret créé par le Connecteur de services. Vous pouvez vérifier le nom du secret dans le portail Azure, dans le volet connecteur de services.
  2. Déployez le pod sur votre cluster avec la commande kubectl apply. S’il n’est pas installé, installez kubectl localement à l’aide de la commande az aks install-cli. La commande crée un pod nommé sc-demo-openai-connstr dans l’espace de noms par défaut de votre cluster AKS.

    kubectl apply -f pod.yaml
    
  3. Vérifiez si le déploiement réussit en consultant le pod avec kubectl.

    kubectl get pod/sc-demo-openai-connstr
    
  4. Vérifiez que la connexion fonctionne en consultant les journaux d’activité avec kubectl.

    kubectl logs pod/sc-demo-openai-connstr
    

Nettoyer les ressources

Si vous n’avez plus besoin de ces ressources, nettoyez les ressources Azure créées dans ce didacticiel en supprimant le groupe de ressources.

az group delete \
    --resource-group MyResourceGroup

Étapes suivantes

Lisez les articles suivants pour en savoir plus sur les concepts du Connecteur de services et sur la façon dont il aide AKS à se connecter aux services Azure.