Tutorial: Conectar-se ao Serviço OpenAI do Azure no AKS usando uma cadeia de conexão (visualização)
Neste tutorial, você aprenderá a criar um pod em um cluster do Azure Kubernetes (AKS), que conversa com o Serviço OpenAI do Azure usando uma cadeia de conexão. Conclua as seguintes tarefas:
- Crie um cluster AKS e o Serviço OpenAI do Azure com
gpt-4
implantação de modelo. - Crie uma conexão entre o cluster AKS e o Azure OpenAI com o Service Connector.
- Clone um aplicativo de exemplo que conversará com o serviço OpenAI a partir de um cluster AKS.
- Implante o aplicativo em um pod no cluster AKS e teste a conexão.
- Limpe os recursos.
Aviso
A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento requer um grau muito alto de confiança no aplicativo e acarreta riscos que não estão presentes em outros fluxos. Você só deve usar esse fluxo quando outros fluxos mais seguros, como identidades gerenciadas, não forem viáveis. Consulte o tutorial usando uma identidade gerenciada.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
-
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
- Docker e kubectl para gerenciar imagens de contêiner e recursos do Kubernetes.
- Uma compreensão básica de contêineres e AKS. Comece a preparar uma candidatura para o AKS.
- Permissões de acesso para criar recursos do Serviço OpenAI do Azure e implantar modelos.
Criar recursos do Azure
Crie um grupo de recursos para este tutorial.
az group create \ --name MyResourceGroup \ --location eastus
Crie um cluster AKS com o seguinte comando ou consultando o início rápido do AKS. Esse cluster é onde criamos a conexão de serviço e a definição de pod e implantamos o aplicativo de exemplo.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1 \ --generate-ssh-keys
Conecte-se ao cluster usando o comando az aks get-credentials .
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
Crie um recurso do Serviço OpenAI do Azure usando o comando az cognitiveservices account create . Opcionalmente, consulte este tutorial para obter mais instruções. O Serviço OpenAI do Azure é o serviço de destino que conectaremos ao cluster AKS.
az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAIService \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenaiservice \ --subscription <SubscriptionID>
Implante um modelo com o comando az cognitiveservices deployment create . O modelo é usado no aplicativo de exemplo para testar a conexão.
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
Crie um recurso do Azure Container Registry (ACR) com o comando az acr create ou referindo-se a este tutorial. O registro hospeda a imagem de contêiner do aplicativo de exemplo, que a definição de pod AKS consome.
az acr create \ --resource-group MyResourceGroup \ --name myregistry \ --sku Standard
Habilite o pull anônimo usando o comando az acr update para que o cluster AKS possa consumir as imagens no registro.
az acr update \ --resource-group MyResourceGroup \ --name myregistry \ --anonymous-pull-enabled
Criar uma conexão de serviço no AKS com o Service Connector (visualização)
Crie uma conexão de serviço entre um cluster AKS e o Serviço OpenAI do Azure no portal do Azure ou na CLI do Azure.
Consulte o início rápido da conexão de serviço AKS para obter instruções para criar uma nova conexão e preencha as configurações referentes aos exemplos na tabela a seguir. Deixe todas as outras configurações com seus valores padrão.
Guia Noções básicas:
Definição Valor de exemplo Description Espaço de nomes do Kubernetes default O namespace Kubernetes. Tipo de serviço Serviço OpenAI O tipo de serviço de destino. Nome da ligação openai_conn Use o nome da conexão fornecido pelo Service Connector ou escolha seu próprio nome de conexão. Subscrição <MySubscription>
A assinatura usada para o Serviço OpenAI do Azure. OpenAI <MyOpenAIService>
O serviço OpenAI do Azure de destino ao qual você deseja se conectar. Tipo de cliente Python A linguagem de código ou estrutura que você usa para se conectar ao serviço de destino. Guia Autenticação:
Configuração de autenticação Valor de exemplo Description Tipo de autenticação Cadeia de Ligação Tipo de autenticação do Service Connector.
Depois que a conexão tiver sido criada, você poderá exibir seus detalhes no painel Service Connector .
Aplicação de exemplo de clonagem
Clone o repositório de exemplo:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Vá para a pasta de exemplo do repositório para o Azure OpenAI:
cd serviceconnector-aks-samples/azure-openai-connection-string
Substitua
app.py
o espaço reservado<MyModel>
no arquivo pelo nome do modelo que implantamos.
Crie e envie imagens de contêiner por push
Crie e envie as imagens para seu registro de contêiner usando o comando Azure CLI az acr build .
az acr build --registry <MyRegistry> --image sc-demo-openai-connstr:latest ./
Visualize as imagens em seu registro de contêiner usando o comando az acr repository list .
az acr repository list --name <MyRegistry> --output table
Executar aplicativo e testar conexão
Substitua os espaços reservados no
pod.yaml
arquivo naazure-openai-connection-string
pasta.- Substitua
<YourContainerImage>
pelo nome da imagem que construímos anteriormente. Por exemplo:<MyRegistry>.azurecr.io/sc-demo-openai-connstr:latest
. - Substitua
<SecretCreatedByServiceConnector>
pelo segredo criado pelo Service Connector. Você pode verificar o nome secreto no portal do Azure, no painel Service Connector .
- Substitua
Implante o pod no cluster com o
kubectl apply
comando. Instalekubectl
localmente usando o comando az aks install-cli se não estiver instalado. O comando cria um pod nomeadosc-demo-openai-connstr
no namespace padrão do seu cluster AKS.kubectl apply -f pod.yaml
Verifique se a implantação foi bem-sucedida visualizando o pod com
kubectl
.kubectl get pod/sc-demo-openai-connstr
Verifique se a conexão está funcionando exibindo os logs com
kubectl
.kubectl logs pod/sc-demo-openai-connstr
Clean up resources (Limpar recursos)
Se você não precisar mais desses recursos, limpe os recursos do Azure criados neste tutorial excluindo o grupo de recursos.
az group delete \
--resource-group MyResourceGroup
Próximos passos
Leia os artigos a seguir para saber mais sobre os conceitos do Service Connector e como ele ajuda o AKS a se conectar aos serviços do Azure.