Compartir a través de


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

Introducción al uso de imágenes en los chats con Azure OpenAI en Microsoft Foundry Models.

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 Microsoft Foundry para implementar y probar un modelo de finalización de chat con comprensión de imágenes.

Prerrequisitos

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 Foundry

  1. Vaya a 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. Seleccione el proyecto en el que desea 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 REST de Azure OpenAI para implementar y usar modelos de chat habilitados para visión.

Prerrequisitos

Nota:

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

Recuperar clave y 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 Importancia
Punto final 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 en el portal de Foundry. Ejemplo de punto de conexión: 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 a su recurso en el portal de Azure. 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. Haz los siguientes cambios:

    1. Escriba la dirección URL del punto de conexión y la clave en los campos adecuados.
    2. Escriba el nombre de implementación del modelo en el campo adecuado.
    3. Cambie el valor del "image" campo a la dirección URL accesible públicamente de la imagen.

      Sugerencia

      También puede usar datos de imagen codificados en base 64 en lugar de una dirección URL. Para obtener más información, consulte la guía de procedimientos de Vision chats.

  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 un modelo de chat habilitado para visión.

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

Prerrequisitos

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.

Recuperar clave y 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 Importancia
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, puede encontrar el punto de conexión a través de la página Implementaciones en el portal de Microsoft Foundry. Ejemplo de punto de conexión: 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 a su recurso en el portal de Azure. 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, cambie las claves periódicamente y restrinja el acceso a Azure Key Vault mediante el control de acceso basado en rol 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. Haz los siguientes cambios:

    1. Escriba el nombre de la implementación del modelo en el campo adecuado.
    2. Cambie el valor del "url" campo a la dirección URL accesible públicamente de la imagen.

      Sugerencia

      También puede usar datos de imagen codificados en base 64 en lugar de una dirección URL. Para obtener más información, consulte la guía de procedimientos de Vision chats.

  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, almacénela de forma segura en 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 un modelo de chat habilitado para 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

Prerrequisitos

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 el portal de Azure bajo control de acceso (IAM)>Agregar asignación de roles.

Configuración

  1. Cree una nueva carpeta vision-quickstart y vaya a la carpeta quickstart mediante el siguiente comando:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Cree el package.json con el comando siguiente:

    npm init -y
    
  3. Instale la biblioteca cliente de OpenAI para JavaScript con:

    npm install openai
    
  4. Para la autenticación sin contraseña recomendada:

    npm install @azure/identity
    

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 Importancia
AZURE_OPENAI_ENDPOINT Este valor se puede encontrar en la sección Claves y Punto de Conexión al examinar su recurso desde el portal de Azure.
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.

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.

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

Seleccione una imagen en azure-samples/cognitive-services-sample-data-files. Escriba la dirección URL de la imagen accesible públicamente en el código siguiente o establezca la IMAGE_URL variable de entorno en ella.

Importante

Si usa una dirección URL de SAS en una imagen almacenada en Azure Blob Storage, debe habilitar la identidad administrada y asignar el rol Lector de blobs de almacenamiento al recurso de Azure OpenAI (haga esto en Azure Portal). Esto permite que el modelo acceda a la imagen en Blob Storage.

Sugerencia

También puede usar datos de imagen codificados en base 64 en lugar de una dirección URL. Para obtener más información, consulte la guía de procedimientos de Vision chats.

  1. Cree el archivo index.js con el código siguiente:

    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 || "Your endpoint";
    const imageUrl = process.env.IMAGE_URL || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "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 Vision chats 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. Inicie sesión en Azure con el siguiente comando:

    az login
    
  3. Ejecute el archivo JavaScript.

    node index.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 un modelo de chat habilitado para 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

Prerrequisitos

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 el portal de Azure bajo control de acceso (IAM)>Agregar asignación de roles.

Configuración

  1. Cree una nueva carpeta vision-quickstart y vaya a la carpeta quickstart mediante el siguiente comando:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Cree el package.json con el comando siguiente:

    npm init -y
    
  3. Actualice el package.json a ECMAScript con el siguiente comando:

    npm pkg set type=module
    
  4. Instale la biblioteca cliente de OpenAI para JavaScript con:

    npm install openai
    
  5. Para la autenticación sin contraseña recomendada:

    npm install @azure/identity
    

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 Importancia
AZURE_OPENAI_ENDPOINT Este valor se puede encontrar en la sección Claves y Punto de Conexión al examinar su recurso desde el portal de Azure.
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.

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.

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

Seleccione una imagen en azure-samples/cognitive-services-sample-data-files. Use la dirección URL de la imagen en el código siguiente o establezca la IMAGE_URL variable de entorno en 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 obtener más información, consulte la guía de procedimientos de Vision chats.

  1. Cree el archivo index.ts con 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 || "Your endpoint";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "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 Vision chat 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. Cree el archivo tsconfig.json para transpilar el código TypeScript y copie el código siguiente para ECMAScript.

    {
        "compilerOptions": {
          "module": "NodeNext",
          "target": "ES2022", // Supports top-level await
          "moduleResolution": "NodeNext",
          "skipLibCheck": true, // Avoid type errors from node_modules
          "strict": true // Enable strict type-checking options
        },
        "include": ["*.ts"]
    }
    
  3. Transpile de TypeScript a JavaScript.

    tsc
    
  4. Inicie sesión en Azure con el siguiente comando:

    az login
    
  5. Ejecute el código con el siguiente comando:

    node index.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 un modelo de chat habilitado para visión.

Prerrequisitos

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 el portal de Azure bajo control de acceso (IAM)>Agregar asignación de roles.

Configuración

  1. Cree una nueva carpeta vision-quickstart y vaya a la carpeta quickstart mediante el siguiente comando:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Cree una nueva aplicación de consola con el siguiente comando:

    dotnet new console
    
  3. Instale la biblioteca cliente de OpenAI .NET con el comando dotnet add package:

    dotnet add package Azure.AI.OpenAI
    
  4. Para la autenticación sin clave recomendada con Microsoft Entra ID, instale el paquete de Azure.Identity con:

    dotnet add package Azure.Identity
    
  5. Para la autenticación sin clave recomendada con Microsoft Entra ID, inicie sesión en Azure con el siguiente comando:

    az login
    

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 Importancia
AZURE_OPENAI_ENDPOINT Este valor se puede encontrar en la sección Claves y Punto de Conexión al examinar su recurso desde el portal de Azure.
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.

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

Ejecución del inicio rápido

En este inicio rápido, el código de ejemplo usa Microsoft Entra ID para la autenticación sin clave recomendada. Si prefiere usar una clave de API, puede reemplazar el DefaultAzureCredential objeto por un AzureKeyCredential objeto .

AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 

Para ejecutar el inicio rápido, siga estos pasos:

  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
    
    string deploymentName = "gpt-4";
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/";
    string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>";
    
    // Use the recommended keyless credential instead of the AzureKeyCredential credential.
    AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 
    //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key));
    
    var chatClient = openAIClient.GetChatClient(deploymentName);
    
    var imageUrl = "YOUR_IMAGE_URL";
    
    var textPart = ChatMessageContentPart.CreateTextPart("Describe this picture:");
    var imgPart = ChatMessageContentPart.CreateImagePart(imageUrl); 
    
    var chatMessages = new List<ChatMessage>
    {
        new SystemChatMessage("You are a helpful assistant."),
        new UserChatMessage(textPart, imgPart)
    
    };
    
    ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(chatMessages);
    
    Console.WriteLine($"[ASSISTANT]:");
    Console.WriteLine($"{chatCompletion.Content[0].Text}");
    
  2. Reemplace YOUR_IMAGE_URL con el enlace públicamente accesible de la imagen que desea cargar.

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

    dotnet run
    

Salida

La salida de la aplicación será una descripción de la imagen que proporcionó en la imageUri variable . El asistente analizará la imagen y proporcionará una descripción detallada en función de su contenido.

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.