Compartir a través de


Inicio rápido: Usar imágenes en los chats de IA

Introducción a GPT-4 Turbo con imágenes con Azure OpenAI Service.

Nota:

Elección del modelo

Los modelos más recientes compatibles con la visión son gpt-4o y gpt-4o mini. Estos modelos se encuentran en versión preliminar pública. El modelo de disponibilidad general disponible más reciente es gpt-4, versión turbo-2024-04-09.

Importante

Es posible que se apliquen tarifas de uso adicionales al usar modelos de finalización de chat con funcionalidad de visión.

Use este artículo para empezar a usar Fundición de IA de Azure para implementar y probar un modelo de finalización de chat con reconocimiento de imágenes.

Requisitos previos

Preparación de los medios

Necesita una imagen para completar este inicio rápido. Puede usar la imagen de muestra o cualquier otra imagen que tenga disponible.

Foto de un accidente de automóvil que se puede usar para completar el inicio rápido.

Ir a Azure AI Foundry

  1. Vaya a Azure AI Foundry e inicie sesión con las credenciales asociadas al recurso de Azure OpenAI. Durante o después del flujo de trabajo de inicio de sesión, seleccione el directorio, la suscripción de Azure y el recurso de Azure OpenAI adecuados.
  2. Selecciona el centro en el que quieres trabajar.
  3. En el menú de navegación izquierdo, seleccione Modelos + puntos de conexión y seleccione + Implementar modelo.
  4. Elija una implementación compatible con imágenes seleccionando el nombre del modelo: gpt-4o o gpt-4o-mini. En la ventana que aparece, seleccione un nombre y un tipo de implementación. Asegúrese de que el recurso de Azure OpenAI esté conectado. Para obtener más información sobre la implementación de modelos, consulte la guía de implementación de recursos.
  5. Seleccione Implementar.
  6. A continuación, seleccione el nuevo modelo y seleccione Abrir en el área de juegos. En el área de juegos del chat, la implementación que creó debe seleccionarse en la lista desplegable Implementación.

Área de juegos

En esta sesión de chat, le indica al asistente que le ayude a comprender las imágenes que introduce.

Para obtener ayuda general con la configuración del asistente, las sesiones de chat, la configuración y los paneles, consulte el inicio rápido de chat.

Iniciar una sesión de chat para analizar imágenes

En esta sesión de chat, le indica al asistente que le ayude a comprender las imágenes que introduce.

  1. Para empezar, asegúrese de que la implementación compatible con imágenes esté seleccionada en la lista desplegable Implementación.

  2. En el cuadro de texto contextual del panel Configuración, proporcione este mensaje para guiar al asistente: "You're an AI assistant that helps people find information." O, puede adaptar el mensaje a la imagen o el escenario.

    Nota:

    Recomendamos actualizar el mensaje del sistema para que sea específico de la tarea y evitar respuestas no útiles del modelo.

  3. Seleccione Aplicar cambios para guardar los cambios.

  4. En el panel de sesión de chat, seleccione el botón de datos adjuntos y, a continuación, Cargar imagen. Elija su imagen.

  5. Agregue el siguiente mensaje en el campo de chat: Describe this image y, a continuación, seleccione el icono de envío para enviarlo.

  6. El icono de envío se reemplaza por un botón detener. Si lo selecciona, el asistente deja de procesar la solicitud. En este inicio rápido, deje que el asistente finalice su respuesta.

  7. El asistente responde con una descripción de la imagen.

  8. Haga una pregunta de seguimiento relacionada con el análisis de la imagen. Puede escribir, "What should I highlight about this image to my insurance company?".

  9. Debería recibir una respuesta relevante similar a la que se muestra aquí:

    When reporting the incident to your insurance company, you should highlight the following key points from the image:  
    
    1. **Location of Damage**: Clearly state that the front end of the car, particularly the driver's side, is damaged. Mention the crumpled hood, broken front bumper, and the damaged left headlight.  
    
    2. **Point of Impact**: Indicate that the car has collided with a guardrail, which may suggest that no other vehicles were involved in the accident.  
    
    3. **Condition of the Car**: Note that the damage seems to be concentrated on the front end, and there is no visible damage to the windshield or rear of the car from this perspective.  
    
    4. **License Plate Visibility**: Mention that the license plate is intact and can be used for identification purposes.  
    
    5. **Environment**: Report that the accident occurred near a roadside with a guardrail, possibly in a rural or semi-rural area, which might help in establishing the accident location and context.  
    
    6. **Other Observations**: If there were any other circumstances or details not visible in the image that may have contributed to the accident, such as weather conditions, road conditions, or any other relevant information, be sure to include those as well.  
    
    Remember to be factual and descriptive, avoiding speculation about the cause of the accident, as the insurance company will conduct its own investigation.
    

Visualización y exportación de código

En cualquier momento de la sesión de chat, puede habilitar el modificador Mostrar JSON sin formato de la parte superior de la ventana de chat para ver la conversación con formato JSON. Este es el aspecto al principio de la sesión de chat de inicio rápido:

[
	{
		"role": "system",
		"content": [
			"You are an AI assistant that helps people find information."
		]
	},
]

Limpieza de recursos

Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.

Use este artículo para empezar a usar las API de REST de Azure OpenAI para implementar y usar el modelo GPT-4 Turbo con Visión.

Requisitos previos

Nota:

Actualmente no se admite desactivar el filtrado de contenido para el modelo GPT-4 Turbo con Vision.

Recuperación de la clave y el punto de conexión

Para llamar correctamente a las API de Azure OpenAI, necesita la siguiente información sobre el recurso de Azure OpenAI:

Variable NOMBRE Value
Punto de conexión api_base El valor del punto de conexión se encuentra en Claves y punto de conexión del recurso en Azure Portal. También puede encontrar el punto de conexión a través de la página Implementaciones del portal de Azure AI Foundry. Punto de conexión de ejemplo: https://docs-test-001.openai.azure.com/.
Clave api_key El valor de clave también se encuentra en Claves y punto de conexión del recurso en Azure Portal. Azure genera dos claves para el recurso. Puede usar cualquiera de los valores.

Vaya al recurso en Azure Portal. En el panel de navegación, seleccione Claves y punto de conexión en Administración de recursos. Copie el valor de Punto de conexión y un valor de clave de acceso. Puede usar el valor KEY 1 o KEY 2. Tener dos claves permite rotar y regenerar las claves de forma segura sin provocar una interrupción del servicio.

Captura de pantalla que muestra la página Claves y punto de conexión de un recurso de Azure OpenAI en Azure Portal.

Creación de una nueva aplicación de Python

Cree un nuevo archivo de Python denominado quickstart.py. Abra el nuevo archivo en el editor o IDE que prefiera.

  1. Reemplace el contenido de quickstart.py por el siguiente código.

    # Packages required:
    import requests 
    import json 
    
    api_base = '<your_azure_openai_endpoint>' 
    deployment_name = '<your_deployment_name>'
    API_KEY = '<your_azure_openai_key>'
    
    base_url = f"{api_base}openai/deployments/{deployment_name}" 
    headers = {   
        "Content-Type": "application/json",   
        "api-key": API_KEY 
    } 
    
    # Prepare endpoint, headers, and request body 
    endpoint = f"{base_url}/chat/completions?api-version=2023-12-01-preview" 
    data = { 
        "messages": [ 
            { "role": "system", "content": "You are a helpful assistant." }, 
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ], 
        "max_tokens": 2000 
    }   
    
    # Make the API call   
    response = requests.post(endpoint, headers=headers, data=json.dumps(data))   
    
    print(f"Status Code: {response.status_code}")   
    print(response.text)
    
  2. Haga los siguientes cambios:

    1. Escriba la dirección URL del punto de conexión y la clave en los campos adecuados.
    2. Introduzca el nombre de implementación de su GPT-4 Turbo con Visión en el campo correspondiente.
    3. Cambie el valor del campo "image" a la dirección URL de la imagen.

      Sugerencia

      También puede usar datos de imagen codificados en base 64 en lugar de una dirección URL. Para más información, consulte la Guía paso a paso de GPT-4 Turbo con Visión.

  3. Ejecute la aplicación con el comando python:

    python quickstart.py
    

Limpieza de recursos

Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.

Use este artículo para empezar a usar el SDK de Python de Azure OpenAI para implementar y usar el modelo GPT-4 Turbo con Visión.

Código fuente de la biblioteca | Paquete (PyPi) |

Requisitos previos

Configuración

Instalar la biblioteca cliente de OpenAI Python con:

pip install openai

Nota:

OpenAI mantiene esta biblioteca. Consulte el historial de versiones para realizar el seguimiento de las actualizaciones más recientes de la biblioteca.

Recuperación de la clave y el punto de conexión

Para realizar correctamente una llamada en Azure OpenAI, necesita un punto de conexión y una clave.

Nombre de la variable Valor
ENDPOINT El punto de conexión de servicio se puede encontrar en la sección Claves y punto de conexión al examinar su recurso en Azure Portal. Como alternativa, también puede encontrar el punto de implementación a través de la página Implementaciones del portal de Azure AI Foundry. Punto de conexión de ejemplo: https://docs-test-001.openai.azure.com/.
API-KEY Este valor se puede encontrar en la sección Claves y punto de conexión al examinar el recurso en Azure Portal. Puede usar KEY1 o KEY2.

Vaya al recurso en Azure Portal. La sección Claves y puntos de conexión se puede encontrar en la sección Administración de recursos. Copie el punto de conexión y la clave de acceso, ya que los necesitará para autenticar las llamadas API. Puede usar KEY1 o KEY2. Tener siempre dos claves permite rotar y regenerar las claves de forma segura sin provocar una interrupción del servicio.

Captura de pantalla de la interfaz de usuario de información general de un recurso de Azure OpenAI en Azure Portal con el punto de conexión y la ubicación de las claves de acceso en círculo en rojo.

Variables de entorno

Cree y asigne variables de entorno persistentes para la clave y el punto de conexión.

Importante

Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para los recursos de Azure para evitar almacenar credenciales con sus aplicaciones que se ejecutan en la nube.

Use las claves de API con precaución. No incluya la clave de API directamente en el código ni la exponga nunca públicamente. Si usa claves de API, almacénelas de forma segura en Azure Key Vault, rote las claves periódicamente y restrinja el acceso a Azure Key Vault mediante el rol basado en el control de acceso basado y las restricciones de acceso de red. Para más información sobre cómo utilizar las claves de API de forma segura en sus aplicaciones, consulte Claves de API con Azure Key Vault.

Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Creación de una nueva aplicación de Python

Cree un nuevo archivo de Python denominado quickstart.py. Abra el nuevo archivo en el editor o IDE que prefiera.

  1. Reemplace el contenido de quickstart.py por el siguiente código.

    from openai import AzureOpenAI
    
    api_base = os.getenv("AZURE_OPENAI_ENDPOINT")
    api_key= os.getenv("AZURE_OPENAI_API_KEY")
    deployment_name = '<your_deployment_name>'
    api_version = '2023-12-01-preview' # this might change in the future
    
    client = AzureOpenAI(
        api_key=api_key,  
        api_version=api_version,
        base_url=f"{api_base}/openai/deployments/{deployment_name}"
    )
    
    response = client.chat.completions.create(
        model=deployment_name,
        messages=[
            { "role": "system", "content": "You are a helpful assistant." },
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ],
        max_tokens=2000 
    )
    
    print(response)
    
  2. Haga los siguientes cambios:

    1. Escriba el nombre de su implementación de GPT-4 Turbo con Visión en el campo correspondiente.
    2. Cambie el valor del campo "url" a la dirección URL de la imagen.

      Sugerencia

      También puede usar datos de imagen codificados en base 64 en lugar de una dirección URL. Para más información, consulte la Guía paso a paso de GPT-4 Turbo con Visión.

  3. Ejecute la aplicación con el comando python:

    python quickstart.py
    

Importante

Use las claves de API con precaución. No incluya la clave de API directamente en el código ni la exponga nunca públicamente. Si está usando una clave de API, guárdela de forma segura en la instancia de Azure Key Vault. Para más información sobre cómo utilizar las claves de API de forma segura en sus aplicaciones, consulte Claves de API con Azure Key Vault.

Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.

Limpieza de recursos

Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.

Use este artículo para empezar a usar el SDK de JavaScript de OpenAI para implementar y usar el modelo GPT-4 Turbo con Visión.

OpenAI proporciona este SDK con tipos específicos de Azure proporcionados por Azure.

Documentación de referencia | Código fuente de la biblioteca | Paquete (npm) | Ejemplos

Requisitos previos

Nota:

OpenAI mantiene esta biblioteca. Consulte el historial de versiones para realizar el seguimiento de las actualizaciones más recientes de la biblioteca.

Requisitos previos de Microsoft Entra ID

Para la autenticación sin clave recomendada con Microsoft Entra ID, debe hacer lo siguiente:

  • Instale la CLI de Azure utilizada para la autenticación sin clave con Microsoft Entra ID.
  • Asignar el rol Cognitive Services User a su cuenta de usuario. Puede asignar roles en Azure Portal en Control de acceso (IAM)>Agregar asignación de roles.

Recuperación de información de recursos

Debe recuperar la siguiente información para autenticar la aplicación con el recurso de Azure OpenAI:

Nombre de la variable Valor
AZURE_OPENAI_ENDPOINT Este valor se puede encontrar en la sección Claves y punto de conexión al examinar su recurso en Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Este valor corresponderá al nombre personalizado que eligió para la implementación al implementar un modelo. Este valor se puede encontrar en Administración de recursos>Implementaciones de modelos en Azure Portal.
OPENAI_API_VERSION Obtenga más información sobre las versiones de API.

Obtenga más información sobre la autenticación sin claves y la configuración de variables de entorno.

Precaución

Para usar la autenticación sin clave recomendada con el SDK, asegúrese de que la variable de entorno AZURE_OPENAI_API_KEY no esté establecida.

Creación de una aplicación Node

En una ventana de la consola (como cmd, PowerShell o Bash), cree un directorio para la aplicación y vaya a él. Ejecute el comando npm init para crear una aplicación de nodo con un archivo package.json.

npm init

Instalación de la biblioteca cliente

Instale las bibliotecas cliente con lo siguiente:

npm install openai @azure/identity

El archivo package.json de la aplicación se actualizará con las dependencias.

Cree una nueva aplicación JavaScript para indicaciones de imágenes

Seleccione una imagen de azure-samples/cognitive-services-sample-data-files y establezca la dirección URL de una imagen en las variables de entorno.

  1. Reemplace el contenido de quickstart.js por el siguiente código.

    const AzureOpenAI = require('openai').AzureOpenAI;
    const { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } = require('@azure/identity');
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = "2024-07-01-preview";
    const deploymentName = "gpt-4-with-turbo";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    function createMessages() {
      return {
        messages: [
          { role: "system", content: "You are a helpful assistant." },
          {
            role: "user",
            content: [
              {
                type: "text",
                text: "Describe this picture:",
              },
              {
                type: "image_url",
                image_url: {
                  url: imageUrl,
                },
              },
            ],
          },
        ],
        model: "",
        max_tokens: 2000,
      };
    }
    async function printChoices(completion) {
      for (const choice of completion.choices) {
        console.log(choice.message);
      }
    }
    export async function main() {
      console.log("== Get GPT-4 Turbo with vision Sample ==");
    
      const client = getClient();
      const messages = createMessages();
      const completion = await client.chat.completions.create(messages);
      await printChoices(completion);
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
  2. Haga los siguientes cambios:

    1. Escriba el nombre de su implementación de GPT-4 Turbo con Visión en el campo correspondiente.
    2. Cambie el valor del campo "url" a la dirección URL de la imagen.

      Sugerencia

      También puede usar datos de imagen codificados en base 64 en lugar de una dirección URL. Para más información, consulte la Guía paso a paso de GPT-4 Turbo con Visión.

  3. Ejecute la aplicación con el comando siguiente:

    node quickstart.js
    

Limpieza de recursos

Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.

Use este artículo para empezar a usar el SDK de JavaScript de OpenAI para implementar y usar el modelo GPT-4 Turbo con Visión.

OpenAI proporciona este SDK con tipos específicos de Azure proporcionados por Azure.

Documentación de referencia | Código fuente de la biblioteca | Paquete (npm) | Ejemplos

Requisitos previos

Nota:

OpenAI mantiene esta biblioteca. Consulte el historial de versiones para realizar el seguimiento de las actualizaciones más recientes de la biblioteca.

Requisitos previos de Microsoft Entra ID

Para la autenticación sin clave recomendada con Microsoft Entra ID, debe hacer lo siguiente:

  • Instale la CLI de Azure utilizada para la autenticación sin clave con Microsoft Entra ID.
  • Asignar el rol Cognitive Services User a su cuenta de usuario. Puede asignar roles en Azure Portal en Control de acceso (IAM)>Agregar asignación de roles.

Recuperación de información de recursos

Debe recuperar la siguiente información para autenticar la aplicación con el recurso de Azure OpenAI:

Nombre de la variable Valor
AZURE_OPENAI_ENDPOINT Este valor se puede encontrar en la sección Claves y punto de conexión al examinar su recurso en Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Este valor corresponderá al nombre personalizado que eligió para la implementación al implementar un modelo. Este valor se puede encontrar en Administración de recursos>Implementaciones de modelos en Azure Portal.
OPENAI_API_VERSION Obtenga más información sobre las versiones de API.

Obtenga más información sobre la autenticación sin claves y la configuración de variables de entorno.

Precaución

Para usar la autenticación sin clave recomendada con el SDK, asegúrese de que la variable de entorno AZURE_OPENAI_API_KEY no esté establecida.

Creación de una aplicación Node

En una ventana de la consola (como cmd, PowerShell o Bash), cree un directorio para la aplicación y vaya a él. Ejecute el comando npm init para crear una aplicación de nodo con un archivo package.json.

npm init

Instalación de la biblioteca cliente

Instale las bibliotecas cliente con lo siguiente:

npm install openai @azure/identity

El archivo package.json de la aplicación se actualizará con las dependencias.

Cree una nueva aplicación JavaScript para indicaciones de imágenes

Seleccione una imagen de azure-samples/cognitive-services-sample-data-files y establezca la dirección URL de una imagen en las variables de entorno.

  1. Cree un archivo quickstart.ts y pegue el código siguiente.

    import { AzureOpenAI } from "openai";
    import { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } from "@azure/identity";
    import type {
      ChatCompletion,
      ChatCompletionCreateParamsNonStreaming,
    } from "openai/resources/index";
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = "2024-07-01-preview";
    const deploymentName = "gpt-4-with-turbo";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    function createMessages(): ChatCompletionCreateParamsNonStreaming {
      return {
        messages: [
          { role: "system", content: "You are a helpful assistant." },
          {
            role: "user",
            content: [
              {
                type: "text",
                text: "Describe this picture:",
              },
              {
                type: "image_url",
                image_url: {
                  url: imageUrl,
                },
              },
            ],
          },
        ],
        model: "",
        max_tokens: 2000,
      };
    }
    async function printChoices(completion: ChatCompletion): Promise<void> {
      for (const choice of completion.choices) {
        console.log(choice.message);
      }
    }
    export async function main() {
      console.log("== Get GPT-4 Turbo with vision Sample ==");
    
      const client = getClient();
      const messages = createMessages();
      const completion = await client.chat.completions.create(messages);
      await printChoices(completion);
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
  2. Haga los siguientes cambios:

    1. Escriba el nombre de su implementación de GPT-4 Turbo con Visión en el campo correspondiente.
    2. Cambie el valor del campo "url" a la dirección URL de la imagen.

      Sugerencia

      También puede usar datos de imagen codificados en base 64 en lugar de una dirección URL. Para más información, consulte la Guía paso a paso de GPT-4 Turbo con Visión.

  3. Compile la aplicación con el siguiente comando:

    tsc
    
  4. Ejecute la aplicación con el comando siguiente:

    node quickstart.js
    

Limpieza de recursos

Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.

Use este artículo para empezar a usar el SDK de .NET de Azure OpenAI para implementar y usar el modelo GPT-4 Turbo con Visión.

Requisitos previos

Configuración

Recuperación de la clave y el punto de conexión

Para realizar correctamente una llamada en Azure OpenAI, necesita un punto de conexión y una clave.

Nombre de la variable Valor
AZURE_OPENAI_ENDPOINT El punto de conexión de servicio se puede encontrar en la sección Claves y punto de conexión al examinar su recurso en Azure Portal. Como alternativa, también puede encontrar el punto de implementación a través de la página Implementaciones del portal de Azure AI Foundry. Punto de conexión de ejemplo: https://docs-test-001.openai.azure.com/.
AZURE_OPENAI_API_KEY Este valor se puede encontrar en la sección Claves y punto de conexión al examinar el recurso en Azure Portal. Puede usar KEY1 o KEY2.

Vaya al recurso en Azure Portal. El punto de conexión y las claves se pueden encontrar en la sección Administración de recursos. Copie el punto de conexión y la clave de acceso, ya que los necesita para autenticar las llamadas API. Puede usar KEY1 o KEY2. Tener siempre dos claves permite rotar y regenerar las claves de forma segura sin provocar una interrupción del servicio.

Captura de pantalla de la interfaz de usuario de información general de un recurso de Azure OpenAI en Azure Portal con la ubicación del punto de conexión y las claves de acceso resaltadas.

Crear la aplicación .NET

  1. Cree una aplicación de .NET con el comando dotnet new:

    dotnet new console -n OpenAISpeech
    
  2. Cambie al directorio de la nueva aplicación:

    cd OpenAISpeech
    

Instalación de la biblioteca cliente

Instale la biblioteca cliente Azure.OpenAI:

dotnet add package Azure.AI.OpenAI

La autenticación sin contraseña es más segura que las alternativas basadas en claves y es el enfoque recomendado para conectarse a los servicios de Azure. Si decide usar la autenticación sin contraseña, deberá completar lo siguiente:

  1. Agregue el paquete Azure.Identity.

    dotnet add package Azure.Identity
    
  2. Asignar el rol Cognitive Services User a su cuenta de usuario. Esto se puede hacer en Azure Portal o en el recurso de OpenAI en Control de acceso (IAM)>Agregar asignación de roles.

  3. Inicie sesión en Azure mediante Visual Studio o la CLI de Azure a través de az login.

Actualización del código de la aplicación

  1. Reemplace el contenido de program.cs por el código siguiente y actualice los valores de marcador de posición por los suyos propios.

    using Azure;
    using Azure.AI.OpenAI;
    using Azure.Identity;
    using OpenAI.Chat; // Required for Passwordless auth
    
    var endpoint = new Uri("YOUR_AZURE_OPENAI_ENDPOINT");
    var credentials = new AzureKeyCredential("YOUR_AZURE_OPENAI_KEY");
    // var credentials = new DefaultAzureCredential(); // Use this line for Passwordless auth
    var deploymentName = "gpt-4"; // Default name, update with your own if needed
    
    var openAIClient = new AzureOpenAIClient(endpoint, credentials);
    var chatClient = openAIClient.GetChatClient(deploymentName);
    
    var imageUri = "YOUR_IMAGE_URL";
    
    List<ChatMessage> messages = [
        new UserChatMessage(
            ChatMessageContentPart.CreateTextMessageContentPart("Please describe the following image:"),
            ChatMessageContentPart.CreateImageMessageContentPart(new Uri(imageUri), "image/png"))
    ];
    
    ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(messages);
    
    Console.WriteLine($"[ASSISTANT]:");
    Console.WriteLine($"{chatCompletion.Content[0].Text}");
    

Importante

Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para los recursos de Azure para evitar almacenar credenciales con sus aplicaciones que se ejecutan en la nube.

Use las claves de API con precaución. No incluya la clave de API directamente en el código ni la exponga nunca públicamente. Si usa claves de API, almacénelas de forma segura en Azure Key Vault, rote las claves periódicamente y restrinja el acceso a Azure Key Vault mediante el rol basado en el control de acceso basado y las restricciones de acceso de red. Para más información sobre cómo utilizar las claves de API de forma segura en sus aplicaciones, consulte Claves de API con Azure Key Vault.

Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.

  1. Ejecute la aplicación mediante el comando dotnet run o el botón Ejecutar situado en la parte superior de Visual Studio:

    dotnet run
    

La aplicación genera un archivo de audio en la ubicación especificada para la variable speechFilePath. Reproducir el archivo en el dispositivo para escuchar el audio generado.

Limpieza de recursos

Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.

Pasos siguientes