Compartir a través de


Tutorial: Conectar a Azure OpenAI Service en AKS mediante una cadena de conexión (versión preliminar)

En este tutorial, aprenderá a crear un pod en un clúster de Azure Kubernetes (AKS), que se comunica con Azure OpenAI Service mediante una cadena de conexión. Debe realizar las siguientes tareas:

  • Cree un clúster de AKS y una instancia de Azure OpenAI Service con la implementación del modelo gpt-4.
  • Cree una conexión entre el clúster de AKS y Azure OpenAI con un conector de servicio.
  • Clone una aplicación de ejemplo que hablará con el servicio OpenAI desde un clúster de AKS.
  • Implemente la aplicación en un pod en el clúster de AKS y pruebe la conexión.
  • Limpieza de recursos.

Advertencia

Microsoft recomienda usar el flujo de autenticación más seguro disponible. El flujo de autenticación que se describe en este procedimiento requiere un alto grado de confianza en la aplicación y conlleva riesgos que no están presentes en otros flujos. Solo debe usar este flujo cuando otros flujos más seguros, como las identidades administradas, no sean viables. Consulte el tutorial con una identidad administrada.

Requisitos previos

Creación de recursos de Azure

  1. Cree un grupo de recursos para este tutorial.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Cree un clúster de AKS con el comando siguiente o consulte el inicio rápido de AKS. Este clúster es donde creamos la conexión de servicio y la definición del pod e implementamos la aplicación de ejemplo.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1 \
       --generate-ssh-keys
    
  3. Conéctese al clúster mediante el comando az aks get-credentials.

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Cree un recurso de Azure OpenAI Service mediante el comando az cognitiveservices account create. Si lo desea, consulte este tutorial para obtener más instrucciones. Azure OpenAI Service es el servicio de destino que se conectará al clúster de AKS.

    az cognitiveservices account create \
        --resource-group MyResourceGroup \
        --name MyOpenAIService \
        --location eastus \
        --kind OpenAI \
        --sku s0 \
        --custom-domain myopenaiservice \
        --subscription <SubscriptionID>
    
  5. Implemente un modelo con el comando az cognitiveservices deployment create. El modelo se usa en la aplicación de ejemplo para probar la conexión.

    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. Cree un recurso de Azure Container Registry (ACR) con el comando az acr create o consulte este tutorial. El registro hospeda la imagen de contenedor de la aplicación de ejemplo, que consume la definición del pod de AKS.

    az acr create \
        --resource-group MyResourceGroup \
        --name myregistry \
        --sku Standard
    
  7. Habilite la extracción anónima mediante el comando az acr update para que el clúster de AKS pueda consumir las imágenes en el registro.

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

Creación de una conexión de servicio en AKS con Service Connector (versión preliminar)

Cree una conexión de servicio entre un clúster de AKS y Azure OpenAI Service en Azure Portal o la CLI de Azure.

Consulte el inicio rápido de conexión del servicio AKS para obtener instrucciones para crear una nueva conexión y rellenar la configuración que hace referencia a los ejemplos de la tabla siguiente. Deje todas las demás opciones de configuración con sus valores predeterminados.

  1. Pestaña Aspectos básicos:

    Configuración Valor de ejemplo Descripción
    Espacio de nombres de Kubernetes default Espacio de nombres de Kubernetes.
    Tipo de servicio. OpenAI Service El tipo de servicio de destino.
    Nombre de la conexión openai_conn Use el nombre de conexión proporcionado por Service Connector o elija su propio nombre de conexión.
    Suscripción <MySubscription> La suscripción que se usa para Azure OpenAI Service.
    OpenAI <MyOpenAIService> El servicio Azure OpenAI de destino al que quiere conectarse.
    Tipo de cliente Python Marco o lenguaje de código que se usa para conectarse al servicio de destino.
  2. Pestaña Autenticación:

    Configuración de autenticación Valor de ejemplo Descripción
    Tipo de autenticación Cadena de conexión Tipo de autenticación de Service Connector.

Una vez creada la conexión, puede ver sus detalles en el panel Conector de servicio.

Clonación de una aplicación de ejemplo

  1. Clone el repositorio de ejemplo:

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Vaya a la carpeta de ejemplo del repositorio para Azure OpenAI:

    cd serviceconnector-aks-samples/azure-openai-connection-string
    
  3. Reemplace el marcador de posición <MyModel> en el archivo app.py por el nombre del modelo implementado.

Compilación e inserción de imágenes de contenedor

  1. Compile e inserte las imágenes en el registro de contenedor mediante el comando az acr build de la CLI de Azure.

    az acr build --registry <MyRegistry> --image sc-demo-openai-connstr:latest ./
    
  2. Vea las imágenes del registro de contenedor mediante el comando az acr repository list.

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

Ejecución de la aplicación y prueba de la conexión

  1. Reemplace los marcadores de posición del archivo pod.yaml de la carpeta azure-openai-connection-string.

    • Reemplace <YourContainerImage> por el nombre de la imagen que compilamos anteriormente. Por ejemplo: <MyRegistry>.azurecr.io/sc-demo-openai-connstr:latest.
    • Reemplace <SecretCreatedByServiceConnector> por el secreto creado por el conector de servicio. Puede comprobar el nombre del secreto en Azure Portal, en el panel Conector de servicio.
  2. Implemente el pod en el clúster con el comando kubectl apply. Instale kubectl localmente mediante el comando az aks install-cli si no está instalado. El comando crea un pod denominado sc-demo-openai-connstr en el espacio de nombres predeterminado del clúster de AKS.

    kubectl apply -f pod.yaml
    
  3. Compruebe si la implementación se realiza correctamente mediante la visualización del pod con kubectl.

    kubectl get pod/sc-demo-openai-connstr
    
  4. Compruebe que la conexión funciona viendo los registros con kubectl.

    kubectl logs pod/sc-demo-openai-connstr
    

Limpieza de recursos

Si ya no necesita estos recursos, limpie los recursos de Azure creados en este tutorial mediante la eliminación del grupo de recursos.

az group delete \
    --resource-group MyResourceGroup

Pasos siguientes

Lea los artículos siguientes para obtener más información sobre los conceptos de Service Connector y cómo ayuda a AKS a conectarse a los servicios de Azure.