Tutorial: Herstellen einer Verbindung mit dem Azure OpenAI-Dienst in AKS mithilfe einer Verbindungszeichenfolge (Vorschau)
In diesem Tutorial erfahren Sie, wie Sie einen Pod in einem Azure Kubernetes (AKS)-Cluster erstellen, der mit Azure OpenAI Service über eine Verbindungszeichenfolge kommuniziert. Sie führen die folgenden Aufgaben durch:
- Erstellen Sie ein AKS-Cluster und einen Azure OpenAI-Dienst mit
gpt-4
-Modellimplementierung. - Erstellen Sie eine Verbindung zwischen dem AKS-Cluster und Azure OpenAI mit Service Connector.
- Klonen Sie eine Beispielanwendung, die von einem AKS-Cluster mit dem OpenAI-Dienst kommunizieren wird.
- Stellen Sie die Anwendung auf einem Pod im AKS-Cluster bereit und testen Sie die Verbindung.
- Bereinigen der Ressourcen
Warnung
Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Der in diesem Verfahren beschriebene Authentifizierungsflow erfordert ein sehr hohes Maß an Vertrauen in die Anwendung und birgt Risiken, die bei anderen Flows nicht vorhanden sind. Sie sollten diesen Flow nur verwenden, wenn andere sicherere Flows (z. B. verwaltete Identitäten) nicht anwendbar sind. Sehen Sie sich das Tutorial zur Verwendung einer verwalteten Identität an.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
-
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.
Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.
- Docker und kubectl zum Verwalten von Containerimages und Kubernetes-Ressourcen.
- Grundlegendes Verständnis von Containern und AKS. Informationen zu den ersten Schritten finden Sie unter Tutorial: Vorbereiten einer Anwendung für Azure Kubernetes Service (AKS).
- Zugriffsberechtigungen für Erstellen von Azure OpenAI Service-Ressourcen und Bereitstellen von Modellen.
Erstellen von Azure-Ressourcen
Erstellen Sie eine Ressourcengruppe für dieses Tutorial.
az group create \ --name MyResourceGroup \ --location eastus
Erstellen Sie ein AKS-Cluster mit dem folgenden Befehl, oder verweisen Sie auf AKS-Schnellstart. In diesem Cluster erstellen wir die Dienstverbindungs- und Poddefinition und stellen die Beispielanwendung bereit.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1 \ --generate-ssh-keys
Stellen Sie mithilfe des Befehls azks get-credentials eine Verbindung mit dem Cluster her.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
Erstellen Sie eine Azure OpenAI Service-Ressource mit dem Befehl az cognitiveservices account create. Optional finden Sie in diesem Tutorial weitere Anweisungen. Azure OpenAI Service ist der Zieldienst, den wir mit dem AKS-Cluster verbinden.
az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAIService \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenaiservice \ --subscription <SubscriptionID>
Stellen Sie ein Modell mit dem Befehl az cognitiveservices-Bereitstellung erstellen bereit. Das Modell wird in der Beispielanwendung verwendet, um die Verbindung zu testen.
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
Erstellen Sie eine Azure Container Registry (ACR)-Ressource mit dem Befehl az acr erstellen oder verweisen Sie auf dieses Tutorial. Die Registrierung hostet das Containerimage der Beispielanwendung, die von der AKS-Poddefinition verwendet wird.
az acr create \ --resource-group MyResourceGroup \ --name myregistry \ --sku Standard
Aktivieren Sie anonymen Pull mit dem Befehl az acr Update, damit das AKS-Cluster die Bilder in der Registrierung nutzen kann.
az acr update \ --resource-group MyResourceGroup \ --name myregistry \ --anonymous-pull-enabled
Erstellen einer Dienstverbindung in AKS mit dem Dienstconnector (Vorschau)
Erstellen Sie eine Dienstverbindung zwischen einem AKS-Cluster und dem Azure OpenAI-Dienst im Azure-Portal oder der Azure CLI.
Anweisungen zum Erstellen einer neuen Verbindung finden Sie in der Schnellstartanleitung für die AKS-Dienstverbindung, und füllen Sie die Einstellungen aus, die sich auf die Beispiele in der folgenden Tabelle beziehen. Behalten Sie alle anderen Einstellungen mit ihren Standardwerten bei.
Registerkarte Grundlagen:
Einstellung Beispielwert Beschreibung Kubernetes-Namespace default Der Kubernetes-Namespace. Diensttyp OpenAI Service Art des Zieldiensts. Verbindungsname openai_conn Verwenden Sie den vom Dienstconnector bereitgestellten Verbindungsnamen, oder wählen Sie Ihren eigenen Verbindungsnamen aus. Abonnement <MySubscription>
Das Abonnement, das für den Azure OpenAI-Dienst verwendet wird. OpenAI <MyOpenAIService>
Der Azure OpenAI-Zieldienst, mit dem Sie eine Verbindung herstellen möchten. Clienttyp Python Die Codesprache oder das Framework, die bzw. das Sie zum Herstellen einer Verbindung mit dem Zieldienst verwenden. Registerkarte „Authentifizierung“:
Authentifizierungseinstellung Beispielwert Beschreibung Authentifizierungstyp Verbindungszeichenfolge Der Authentifizierungstyp des Dienstconnectors.
Nachdem die Verbindung erstellt wurde, können Sie die Details im Bereich Service Connector anzeigen.
Klonen der Beispielanwendung
Klonen Sie das Beispielrepository:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Wechseln Sie zum Beispielordner des Repositorys für Azure OpenAI:
cd serviceconnector-aks-samples/azure-openai-connection-string
Ersetzen Sie den
<MyModel>
-Platzhalter in derapp.py
-Datei durch den Modellnamen, den wir bereitgestellt haben.
Erstellen und Pushen des Containerimage
Erstellen und übertragen Sie die Images mithilfe des Azure CLI-Befehls az acr build an Ihre Containerregistrierung.
az acr build --registry <MyRegistry> --image sc-demo-openai-connstr:latest ./
Zeigen Sie die Bilder in Ihrer Containerregistrierung mithilfe des Befehls az acr Repositoryliste an.
az acr repository list --name <MyRegistry> --output table
Ausführen der Anwendung und Testen der Verbindung
Ersetzen Sie die Platzhalter in der Datei
pod.yaml
im Ordnerazure-openai-connection-string
.- Ersetzen Sie
<YourContainerImage>
durch den Namen des zuvor erstellten Images. Beispiel:<MyRegistry>.azurecr.io/sc-demo-openai-connstr:latest
- Ersetzen Sie
<SecretCreatedByServiceConnector>
mit den geheimen Schlüssel, der von Service Connector erstellt wurde. Sie können den geheimen Namen im Azure-Portal im Bereich Service Connector überprüfen.
- Ersetzen Sie
Stellen Sie den Pod mit dem Befehl
kubectl apply
auf Ihrem Cluster bereit. Installieren Siekubectl
bei Bedarf mithilfe des Befehls az aks install-cli manuell. Der Befehl erstellt einen Pod namenssc-demo-openai-connstr
im Standardnamespace Ihres AKS-Clusters.kubectl apply -f pod.yaml
Überprüfen Sie, ob die Bereitstellung erfolgreich ist, indem Sie den Pod mit
kubectl
anzeigen.kubectl get pod/sc-demo-openai-connstr
Überprüfen Sie, ob die Verbindung funktioniert, indem Sie die Protokolle mit
kubectl
anzeigen.kubectl logs pod/sc-demo-openai-connstr
Bereinigen von Ressourcen
Wenn Sie diese Ressourcen nicht mehr benötigen, bereinigen Sie die in diesem Tutorial erstellten Azure-Ressourcen, indem Sie die Ressourcengruppe löschen.
az group delete \
--resource-group MyResourceGroup
Nächste Schritte
Lesen Sie die folgenden Artikel, um mehr über Dienstconnectorkonzepte zu erfahren und sich darüber zu informieren, wie AKS Sie beim Herstellen einer Verbindung mit Azure-Diensten unterstützt.