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
- Suscripción a Azure. cree una de forma gratuita.
- Una vez que tenga la suscripción de Azure, cree un recurso de Azure OpenAI. Para obtener más información sobre la creación de recursos, consulte la guía de implementación de recursos.
- Un centro de Azure AI Foundry con el recurso de Azure OpenAI agregado como conexión.
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.
Ir a Azure AI Foundry
- 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.
- Selecciona el centro en el que quieres trabajar.
- En el menú de navegación izquierdo, seleccione Modelos + puntos de conexión y seleccione + Implementar modelo.
- 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.
- Seleccione Implementar.
- 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.
Para empezar, asegúrese de que la implementación compatible con imágenes esté seleccionada en la lista desplegable Implementación.
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.
Seleccione Aplicar cambios para guardar los cambios.
En el panel de sesión de chat, seleccione el botón de datos adjuntos y, a continuación, Cargar imagen. Elija su imagen.
Agregue el siguiente mensaje en el campo de chat:
Describe this image
y, a continuación, seleccione el icono de envío para enviarlo.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.
El asistente responde con una descripción de la imagen.
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?"
.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
- Suscripción a Azure. cree una de forma gratuita.
- Python 3.8 o una versión posterior.
- Las siguientes bibliotecas de Python:
requests
,json
. - Un recurso de Azure OpenAI Service con un modelo de GPT-4 Turbo con Visión implementado. Consulte la Disponibilidad del modelo GPT-4 y la versión preliminar de GPT-4 Turbo para las regiones disponibles. Para obtener más información sobre la creación de recursos, consulte la guía de implementación de recursos.
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.
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.
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)
Haga los siguientes cambios:
- Escriba la dirección URL del punto de conexión y la clave en los campos adecuados.
- Introduzca el nombre de implementación de su GPT-4 Turbo con Visión en el campo correspondiente.
- 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.
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
- Suscripción a Azure. cree una de forma gratuita.
- Python 3.8 o una versión posterior.
- Las siguientes bibliotecas de Python:
os
- Un recurso de Azure OpenAI Service con un modelo de GPT-4 Turbo con Visión implementado. Consulte la Disponibilidad del modelo GPT-4 y la versión preliminar de GPT-4 Turbo para las regiones disponibles. Para obtener más información sobre la creación de recursos, consulte la guía de implementación de recursos.
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.
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.
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)
Haga los siguientes cambios:
- Escriba el nombre de su implementación de GPT-4 Turbo con Visión en el campo correspondiente.
- 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.
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
- Una suscripción a Azure: cree una cuenta gratuita.
- Versiones de LTS de Node.js
- La CLI de Azure se ha usado para la autenticación sin contraseña en un entorno de desarrollo local, cree el contexto necesario iniciando sesión con la CLI de Azure.
- Un recurso de Azure OpenAI creado en una región admitida (consulte Disponibilidad de la región). Para obtener más información, consulte Creación de un recurso e implementación de un modelo con Azure OpenAI.
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.
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); });
Haga los siguientes cambios:
- Escriba el nombre de su implementación de GPT-4 Turbo con Visión en el campo correspondiente.
- 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.
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
- Una suscripción a Azure: cree una cuenta gratuita.
- Versiones de LTS de Node.js
- TypeScript
- La CLI de Azure se ha usado para la autenticación sin contraseña en un entorno de desarrollo local, cree el contexto necesario iniciando sesión con la CLI de Azure.
- Un recurso de Azure OpenAI creado en una región admitida (consulte Disponibilidad de la región). Para obtener más información, consulte Creación de un recurso e implementación de un modelo con Azure OpenAI.
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.
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); });
Haga los siguientes cambios:
- Escriba el nombre de su implementación de GPT-4 Turbo con Visión en el campo correspondiente.
- 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.
Compile la aplicación con el siguiente comando:
tsc
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
- Suscripción a Azure. Puede crear una de forma gratuita.
- SDK de .NET 8.0
- Un recurso de Azure OpenAI Service con un modelo de GPT-4 Turbo con Visión implementado. Consulte la Disponibilidad del modelo GPT-4 y la versión preliminar de GPT-4 Turbo para las regiones disponibles. Para obtener más información sobre la creación de recursos, consulte la guía de implementación de recursos.
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.
Crear la aplicación .NET
Cree una aplicación de .NET con el comando
dotnet new
:dotnet new console -n OpenAISpeech
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
Se recomienda la autenticación sin contraseña
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:
Agregue el paquete
Azure.Identity
.dotnet add package Azure.Identity
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.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
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.
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
- Introducción a las aplicaciones de chat con visión multimodal mediante la plantilla de aplicación de IA de Azure OpenAI
- Obtenga más información sobre estas API en la Guía paso a paso de modelos compatibles con Visión
- Preguntas frecuentes de GPT-4 Turbo con Vision
- Referencia de GPT-4 Turbo con la API de Visión