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
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
-
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Docker och kubectl för att hantera containeravbildningar och Kubernetes-resurser.
- Grundläggande förståelse för containrar och AKS. Kom igång från att förbereda ett program för AKS.
- Åtkomstbehörigheter för att skapa Azure OpenAI-tjänstresurser och distribuera modeller.
Skapa Azure-resurser
Skapa en resursgrupp för den här självstudien.
az group create \ --name MyResourceGroup \ --location eastus
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
Anslut till klustret med kommandot az aks get-credentials .
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
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>
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
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
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.
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. 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
Klona exempellagringsplatsen:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Gå till lagringsplatsens exempelmapp för Azure OpenAI:
cd serviceconnector-aks-samples/azure-openai-connection-string
<MyModel>
Ersätt platshållaren iapp.py
filen med modellnamnet som vi distribuerade.
Skapa och push-överföra containeravbildningar
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 ./
Visa avbildningarna i containerregistret med kommandot az acr repository list .
az acr repository list --name <MyRegistry> --output table
Kör program- och testanslutning
Ersätt platshållarna i
pod.yaml
filen iazure-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.
- Ersätt
Distribuera podden till klustret med
kubectl apply
kommandot . Installerakubectl
lokalt med kommandot az aks install-cli om det inte är installerat. Kommandot skapar en podd med namnetsc-demo-openai-connstr
i standardnamnområdet för aks-klustret.kubectl apply -f pod.yaml
Kontrollera om distributionen lyckas genom att visa podden med
kubectl
.kubectl get pod/sc-demo-openai-connstr
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.