Dela via


Självstudie: Ansluta till Azure OpenAI-tjänsten i AKS med hjälp av en anslutningssträng (förhandsversion)

I den här självstudien lär du dig hur du skapar en podd i ett AKS-kluster (Azure Kubernetes), som pratar med Azure OpenAI Service med hjälp av en anslutningssträng. Du utför följande uppgifter:

  • Skapa ett AKS-kluster och Azure OpenAI Service med gpt-4 modelldistribution.
  • Skapa en anslutning mellan AKS-klustret och Azure OpenAI med Service Connector.
  • Klona ett exempelprogram som ska kommunicera med OpenAI-tjänsten från ett AKS-kluster.
  • Distribuera programmet till en podd i AKS-klustret och testa anslutningen.
  • Rensa resurser.

Varning

Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Det autentiseringsflöde som beskrivs i den här proceduren kräver mycket stort förtroende för programmet och medför risker som inte finns i andra flöden. Du bör bara använda det här flödet när andra säkrare flöden, till exempel hanterade identiteter, inte är livskraftiga. Se självstudien med hjälp av en hanterad identitet.

Förutsättningar

Skapa Azure-resurser

  1. Skapa en resursgrupp för den här självstudien.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Skapa ett AKS-kluster med följande kommando eller genom att referera till AKS-snabbstarten. I det här klustret skapar vi tjänstanslutningen och podddefinitionen och distribuerar exempelprogrammet.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1 \
       --generate-ssh-keys
    
  3. Anslut till klustret med kommandot az aks get-credentials .

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Skapa en Azure OpenAI Service-resurs med kommandot az cognitiveservices account create . Du kan också läsa mer i den här självstudien . Azure OpenAI Service är den måltjänst som vi ska ansluta till AKS-klustret.

    az cognitiveservices account create \
        --resource-group MyResourceGroup \
        --name MyOpenAIService \
        --location eastus \
        --kind OpenAI \
        --sku s0 \
        --custom-domain myopenaiservice \
        --subscription <SubscriptionID>
    
  5. Distribuera en modell med kommandot az cognitiveservices deployment create . Modellen används i exempelprogrammet för att testa anslutningen.

    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. Skapa en Azure Container Registry-resurs (ACR) med kommandot az acr create eller referera till den här självstudien. Registret är värd för containeravbildningen av exempelprogrammet, som AKS-podddefinitionen använder.

    az acr create \
        --resource-group MyResourceGroup \
        --name myregistry \
        --sku Standard
    
  7. Aktivera anonym pull med kommandot az acr update så att AKS-klustret kan använda avbildningarna i registret.

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

Skapa en tjänstanslutning i AKS med Service Connector (förhandsversion)

Skapa en tjänstanslutning mellan ett AKS-kluster och Azure OpenAI-tjänsten i Azure Portal eller Azure CLI.

I snabbstarten för AKS-tjänstanslutning finns instruktioner för hur du skapar en ny anslutning och fyller i inställningarna som refererar till exemplen i följande tabell. Lämna alla andra inställningar med sina standardvärden.

  1. Fliken Grundläggande:

    Inställning Exempelvärde beskrivning
    Kubernetes-namnområde standard Kubernetes-namnområdet.
    Typ av tjänst OpenAI-tjänst Måltjänsttypen.
    Anslutningens namn openai_conn Använd anslutningsnamnet som tillhandahålls av Service Connector eller välj ditt eget anslutningsnamn.
    Abonnemang <MySubscription> Prenumerationen som används för Azure OpenAI Service.
    OpenAI <MyOpenAIService> Den Azure OpenAI-måltjänst som du vill ansluta till.
    Klienttyp Python Det kodspråk eller ramverk som du använder för att ansluta till måltjänsten.
  2. Fliken Autentisering:

    Autentiseringsinställning Exempelvärde beskrivning
    Autentiseringstyp Anslutningssträng Autentiseringstyp för Service Connector.

När anslutningen har skapats kan du visa dess information i fönstret Tjänstanslutning .

Klona exempelprogram

  1. Klona exempellagringsplatsen:

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Gå till lagringsplatsens exempelmapp för Azure OpenAI:

    cd serviceconnector-aks-samples/azure-openai-connection-string
    
  3. <MyModel> Ersätt platshållaren i app.py filen med modellnamnet som vi distribuerade.

Skapa och push-överföra containeravbildningar

  1. Skapa och push-överföra avbildningarna till containerregistret med hjälp av azure CLI az acr build-kommandot .

    az acr build --registry <MyRegistry> --image sc-demo-openai-connstr:latest ./
    
  2. Visa avbildningarna i containerregistret med kommandot az acr repository list .

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

Kör program- och testanslutning

  1. Ersätt platshållarna i pod.yaml filen i azure-openai-connection-string mappen.

    • Ersätt <YourContainerImage> med namnet på den avbildning som vi skapade tidigare. Exempel: <MyRegistry>.azurecr.io/sc-demo-openai-connstr:latest.
    • Ersätt <SecretCreatedByServiceConnector> med hemligheten som skapats av Service Connector. Du kan kontrollera det hemliga namnet i Azure Portal i fönstret Tjänstanslutning.
  2. Distribuera podden till klustret med kubectl apply kommandot . Installera kubectl lokalt med kommandot az aks install-cli om det inte är installerat. Kommandot skapar en podd med namnet sc-demo-openai-connstr i standardnamnområdet för aks-klustret.

    kubectl apply -f pod.yaml
    
  3. Kontrollera om distributionen lyckas genom att visa podden med kubectl.

    kubectl get pod/sc-demo-openai-connstr
    
  4. Kontrollera att anslutningen fungerar genom att visa loggarna med kubectl.

    kubectl logs pod/sc-demo-openai-connstr
    

Rensa resurser

Om du inte längre behöver dessa resurser rensar du de Azure-resurser som skapades i den här självstudien genom att ta bort resursgruppen.

az group delete \
    --resource-group MyResourceGroup

Nästa steg

Läs följande artiklar om du vill veta mer om begrepp i Service Connector och hur det hjälper AKS att ansluta till Azure-tjänster.