Inicio rápido: Generación de imágenes con Azure OpenAI Service
Nota:
La API de generación de imágenes crea una imagen a partir de un mensaje de texto. No edita ni crea variaciones a partir de imágenes existentes.
Use esta guía para empezar a generar imágenes con Azure OpenAI en su explorador con Azure AI Foundry.
Requisitos previos
- Suscripción a Azure. cree una de forma gratuita.
- 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.
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.
En la página de aterrizaje de Azure AI Foundry, cree o seleccione un nuevo proyecto. Vaya a la página Modelos y puntos de conexión de la barra de navegación izquierda. Seleccione Implementar modelo y elija uno de los modelos DALL-E de la lista. Complete el proceso de implementación.
En la página del modelo, seleccione Abrir en el área de juegos.
Prueba de la generación de imágenes
Comience a explorar las capacidades de Azure OpenAI con un enfoque sin código a través del Images playground. Ingrese su indicador de imagen en el cuadro de texto y seleccione Generar. Cuando la imagen generada por IA esté lista, aparecerá en la página.
Nota:
Las API de generación de imágenes incluyen un filtro de moderación de contenido. Si Azure OpenAI reconoce la solicitud como contenido dañino, no devolverá una imagen generada. Para obtener más información, consulte Filtrado de contenido.
En el área de juegos de imágenes, también puede ver ejemplos de código de Python y cURL, que se rellenan previamente según la configuración. Seleccione Ver código cerca de la parte superior de la página. Puede usar este código para escribir una aplicación que complete la misma tarea.
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
- Explore las API de generación de imágenes con mayor profundidad con la guía paso a paso de DALL-E.
- Pruebe ejemplos en el repositorio de GitHub de ejemplos de Azure OpenAI.
- Vea la Referencia de API
Use esta guía para empezar a llamar a las API de REST de generación de imágenes de Azure OpenAI Service mediante Python.
Requisitos previos
- Suscripción a Azure. cree una de forma gratuita.
- Python 3.8 o una versión posterior.
- Las siguientes bibliotecas de Python instaladas:
os
,requests
,json
. - Un recurso de Azure OpenAI creado en una región admitida. Consulte Disponibilidad de la región.
- Después, debe implementar un modelo
dalle3
en su recurso de Azure. Para obtener más información, consulte Creación de un recurso e implementación de un modelo con Azure OpenAI.
Configuración
Obtener 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 | Valor |
---|---|---|
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. 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 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 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. Cambie el valor de
prompt
a su texto preferido.También debe reemplazar
<dalle3>
en la URL por el nombre de implementación que ha elegido al implementar el modelo DALL-E 3. Si escribe el nombre del modelo, se producirá un error a menos que elija un nombre de implementación idéntico al nombre del modelo subyacente. Si se produce un error, compruebe de nuevo para asegurarse de que/
no esté duplicado en la separación entre el punto de conexión y/openai/deployments
.import requests import time import os api_base = os.environ['AZURE_OPENAI_ENDPOINT'] # Enter your endpoint here api_key = os.environ['AZURE_OPENAI_API_KEY'] # Enter your API key here api_version = '2024-02-01' url = f"{api_base}/openai/deployments/<dalle3>/images/generations?api-version={api_version}" headers= { "api-key": api_key, "Content-Type": "application/json" } body = { # Enter your prompt text here "prompt": "A multi-colored umbrella on the beach, disposable camera", "size": "1024x1024", # supported values are “1792x1024”, “1024x1024” and “1024x1792” "n": 1, #The number of images to generate. Only n=1 is supported for DALL-E 3. "quality": "hd", # Options are “hd” and “standard”; defaults to standard "style": "vivid" # Options are “natural” and “vivid”; defaults to “vivid” } submission = requests.post(url, headers=headers, json=body) image_url = submission.json()['data'][0]['url'] print(image_url)
El script realiza una llamada API de generación de imágenes sincrónicas.
Importante
Recuerde quitar la clave del código cuando haya terminad y nunca la haga pública. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Para obtener más información, consulte Acerca de Azure Key Vault.
Ejecute la aplicación con el comando
python
:python quickstart.py
Espere unos instantes para obtener la respuesta.
Salida
La salida de una llamada API de generación de imágenes correcta tiene un aspecto similar al siguiente ejemplo. El campo url
contiene una dirección URL donde puede descargar la imagen generada. La dirección URL permanece activa durante 24 horas.
{
"created": 1698116662,
"data": [
{
"url": "<URL_to_generated_image>",
"revised_prompt": "<prompt_that_was_used>"
}
]
}
Las API de generación de imágenes incluyen un filtro de moderación de contenido. Si el servicio reconoce la solicitud como contenido dañino, no genera una imagen. Para obtener más información, consulte Filtrado de contenido. Para obtener ejemplos de respuestas de error, consulte la guía paso a paso de DALL-E.
El sistema devuelve un estado de operación de Failed
y el valor error.code
en el mensaje se establecerá en contentFilter
. Este es un ejemplo:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
También es posible que se filtre la propia imagen generada. En este caso, el mensaje de error se establece en Generated image was filtered as a result of our safety system.
. Este es un ejemplo:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
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
- Explore las API de generación de imágenes con mayor profundidad con la guía paso a paso de DALL-E.
- Pruebe ejemplos en el repositorio de GitHub de ejemplos de Azure OpenAI.
- Vea la Referencia de API
Use esta guía para empezar a generar imágenes con el SDK de Azure OpenAI para Python.
Código fuente de la biblioteca | Paquete | Ejemplos
Requisitos previos
- Suscripción a Azure. cree una de forma gratuita.
- Python 3.8 o una versión posterior.
- Un recurso de Azure OpenAI creado en una región compatible. Consulte Disponibilidad de la región.
- Después, debe implementar un modelo
dalle3
con su recurso de Azure. Para obtener más información, consulte Creación de un recurso e implementación de un modelo con Azure OpenAI.
Configuración
Recupera 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 | Valor |
---|---|---|
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. Un punto de conexión de ejemplo es: 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 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"
Instalación del SDK para Python
Abra un símbolo del sistema y vaya a la carpeta del proyecto. Instale el SDK de Python de OpenAI mediante el siguiente comando:
pip install openai
Instale también las bibliotecas siguientes:
pip install requests
pip install pillow
Generación de imágenes con DALL-E
Cree un nuevo archivo de Python, quickstart.py. Ábrelo en tu editor o IDE preferido.
Reemplace el contenido de quickstart.py por el siguiente código.
from openai import AzureOpenAI
import os
import requests
from PIL import Image
import json
client = AzureOpenAI(
api_version="2024-02-01",
api_key=os.environ["AZURE_OPENAI_API_KEY"],
azure_endpoint=os.environ['AZURE_OPENAI_ENDPOINT']
)
result = client.images.generate(
model="dalle3", # the name of your DALL-E 3 deployment
prompt="a close-up of a bear walking throughthe forest",
n=1
)
json_response = json.loads(result.model_dump_json())
# Set the directory for the stored image
image_dir = os.path.join(os.curdir, 'images')
# If the directory doesn't exist, create it
if not os.path.isdir(image_dir):
os.mkdir(image_dir)
# Initialize the image path (note the filetype should be png)
image_path = os.path.join(image_dir, 'generated_image.png')
# Retrieve the generated image
image_url = json_response["data"][0]["url"] # extract image URL from response
generated_image = requests.get(image_url).content # download the image
with open(image_path, "wb") as image_file:
image_file.write(generated_image)
# Display the image in the default image viewer
image = Image.open(image_path)
image.show()
- Escriba la dirección URL del punto de conexión y la clave en los campos adecuados.
- Cambie el valor de
prompt
a su texto preferido. - Cambie el valor de
model
por el nombre del modelo DALL-E 3 implementado.
Importante
Recuerde quitar la clave del código cuando haya terminad y nunca la haga pública. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Para obtener más información, consulte Acerca de Azure Key Vault.
Ejecute la aplicación con el comando python
:
python quickstart.py
Espere unos instantes para obtener la respuesta.
Salida
Azure OpenAI almacena la imagen de salida en el archivo generated_image.png en el directorio especificado. El script también muestra la imagen en el visor de imágenes predeterminado.
Las API de generación de imágenes incluyen un filtro de moderación de contenido. Si el servicio reconoce la solicitud como contenido dañino, no genera una imagen. Para obtener más información, consulte Filtrado de 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.
Pasos siguientes
- Explore las API de generación de imágenes con mayor profundidad con la guía paso a paso de DALL-E.
- Pruebe ejemplos en el repositorio de GitHub de ejemplos de Azure OpenAI.
- Vea la Referencia de API
Use esta guía para empezar a generar imágenes con el SDK de Azure OpenAI para C#.
Código fuente de la biblioteca | Paquete (NuGet) | Ejemplos
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- SDK de .NET 7
- 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.
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.
Configurar
Cree una nueva carpeta
vision-quickstart
y vaya a la carpeta quickstart mediante el siguiente comando:mkdir vision-quickstart && cd vision-quickstart
Cree una nueva aplicación de consola con el siguiente comando:
dotnet new console
Instale la biblioteca cliente de OpenAI .NET con el comando dotnet add package:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
Para la autenticación sin clave recomendada con Microsoft Entra ID, instale el paquete de Azure.Identity con:
dotnet add package Azure.Identity
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 | 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. Puede cambiar la versión en el código o usar una variable de entorno. |
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:
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 OpenAI.Images; using static System.Environment; 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)); // This must match the custom deployment name you chose for your model ImageClient chatClient = openAIClient.GetImageClient("dalle-3"); var imageGeneration = await chatClient.GenerateImageAsync( "a happy monkey sitting in a tree, in watercolor", new ImageGenerationOptions() { Size = GeneratedImageSize.W1024xH1024 } ); Console.WriteLine(imageGeneration.Value.ImageUri);
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 dirección URL de la imagen generada se imprime en la consola.
<SAS URL>
Nota:
Las API de generación de imágenes incluyen un filtro de moderación de contenido. Si el servicio reconoce la solicitud como contenido dañino, no devolverá una imagen generada. Para más información, consulte artículo de filtro de contenido.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso. Antes de eliminar el recurso, primero deberá eliminar los modelos implementados.
Pasos siguientes
- Explore las API de generación de imágenes con mayor profundidad con la guía paso a paso de DALL-E.
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI.
Use esta guía para empezar a generar imágenes con el SDK de Azure OpenAI para Java.
Código fuente de la biblioteca | Artefacto (Maven) | Ejemplos
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- La última versión de Java Development Kit (JDK)
- Instalación de Apache Maven.
- 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.
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.
Configurar
Cree una nueva carpeta
vision-quickstart
y vaya a la carpeta de inicio rápido con el siguiente comando:mkdir vision-quickstart && cd vision-quickstart
Instalación de Apache Maven. A continuación, ejecute
mvn -v
para confirmar que la instalación se ha realizado correctamente.Cree un nuevo archivo
pom.xml
en la raíz del proyecto y copie el siguiente código en él:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.azure.samples</groupId> <artifactId>quickstart-dall-e</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.azure</groupId> <artifactId>azure-ai-openai</artifactId> <version>1.0.0-beta.3</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-core</artifactId> <version>1.53.0</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.15.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.9</version> </dependency> </dependencies> </project>
Instale el SDK y las dependencias de Azure OpenAI.
mvn clean dependency:copy-dependencies
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 | 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. Puede cambiar la versión en el código o usar una variable de entorno. |
Obtenga más información sobre la autenticación sin claves y la configuración de variables de entorno.
Ejecución de la aplicación
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 .
OpenAIAsyncClient client = new OpenAIClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Siga estos pasos para crear una aplicación de consola para el reconocimiento de voz.
Cree un nuevo archivo denominado Quickstart.java en el mismo directorio raíz del proyecto.
Copie el código siguiente en Quickstart.java:
import com.azure.ai.openai.OpenAIAsyncClient; import com.azure.ai.openai.OpenAIClientBuilder; import com.azure.ai.openai.models.ImageGenerationOptions; import com.azure.ai.openai.models.ImageLocation; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.models.ResponseError; import java.util.concurrent.TimeUnit; public class Quickstart { public static void main(String[] args) throws InterruptedException { String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT"); // Use the recommended keyless credential instead of the AzureKeyCredential credential. OpenAIAsyncClient client = new OpenAIClientBuilder() .endpoint(endpoint) .credential(new DefaultAzureCredentialBuilder().build()) .buildAsyncClient(); ImageGenerationOptions imageGenerationOptions = new ImageGenerationOptions( "A drawing of the Seattle skyline in the style of Van Gogh"); client.getImages(imageGenerationOptions).subscribe( images -> { for (ImageLocation imageLocation : images.getData()) { ResponseError error = imageLocation.getError(); if (error != null) { System.out.printf("Image generation operation failed. Error code: %s, error message: %s.%n", error.getCode(), error.getMessage()); } else { System.out.printf( "Image location URL that provides temporary access to download the generated image is %s.%n", imageLocation.getUrl()); } } }, error -> System.err.println("There was an error getting images." + error), () -> System.out.println("Completed getImages.")); // The .subscribe() creation and assignment isn't a blocking call. // The thread sleeps so the program does not end before the send operation is complete. // Use .block() instead of .subscribe() for a synchronous call. TimeUnit.SECONDS.sleep(10); } }
Ejecute la nueva aplicación de consola para generar una imagen:
javac Quickstart.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" Quickstart
Salida
La dirección URL de la imagen generada se imprime en la consola.
Image location URL that provides temporary access to download the generated image is <SAS URL>.
Completed getImages.
Nota:
Las API de generación de imágenes incluyen un filtro de moderación de contenido. Si el servicio reconoce la solicitud como contenido dañino, no devolverá una imagen generada. Para más información, consulte artículo de filtro de contenido.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso. Antes de eliminar el recurso, primero deberá eliminar los modelos implementados.
Pasos siguientes
- Explore las API de generación de imágenes con mayor profundidad con la guía paso a paso de DALL-E.
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI
Use esta guía para empezar a generar imágenes con el SDK de Azure OpenAI para JavaScript.
Documentación de referencia | Código fuente | 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.
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.
Configurar
Cree una nueva carpeta
image-quickstart
y vaya a la carpeta quickstart con el siguiente comando:mkdir image-quickstart && cd image-quickstart
Cree el
package.json
con el comando siguiente:npm init -y
Instale la biblioteca cliente de OpenAI para JavaScript con:
npm install openai
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 | 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. Puede cambiar la versión en el código o usar una variable de entorno. |
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.
Generación de imágenes con DALL-E
Cree el archivo
index.js
con el código siguiente:const { AzureOpenAI } = require("openai"); 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"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "dall-e-3"; // The prompt to generate images from const prompt = "a monkey eating a banana"; const numberOfImagesToGenerate = 1; // 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, }); } async function main() { console.log("== Image Generation =="); const client = getClient(); const results = await client.images.generate({ prompt, size: "1024x1024", n: numberOfImagesToGenerate, model: "", style: "vivid", // or "natural" }); for (const image of results.data) { console.log(`Image generation result URL: ${image.url}`); } } main().catch((err) => { console.error("The sample encountered an error:", err); });
Inicie sesión en Azure con el siguiente comando:
az login
Ejecute el archivo JavaScript.
node index.js
Salida
La dirección URL de la imagen generada se imprime en la consola.
== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>
Nota:
Las API de generación de imágenes incluyen un filtro de moderación de contenido. Si el servicio reconoce la solicitud como contenido dañino, no devolverá una imagen generada. Para más información, consulte artículo de filtro de contenido.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso. Antes de eliminar el recurso, primero deberá eliminar los modelos implementados.
Pasos siguientes
- Explore las API de generación de imágenes con mayor profundidad con la guía paso a paso de DALL-E.
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI.
Use esta guía para empezar a generar imágenes con el SDK de Azure OpenAI para JavaScript.
Documentación de referencia | Código fuente | 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.
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.
Configurar
Cree una nueva carpeta
image-quickstart
y vaya a la carpeta de inicio rápido con el siguiente comando:mkdir image-quickstart && cd image-quickstart
Cree el
package.json
con el comando siguiente:npm init -y
Actualice el
package.json
a ECMAScript con el siguiente comando:npm pkg set type=module
Instale la biblioteca cliente de OpenAI para JavaScript con:
npm install openai
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 | 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. Puede cambiar la versión en el código o usar una variable de entorno. |
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.
Generación de imágenes con DALL-E
Cree el archivo
index.ts
con el código siguiente:import { AzureOpenAI } from "openai"; import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity"; // You will need to set these environment variables or edit the following values const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "dall-e-3"; // 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, }); } async function main() { console.log("== Image Generation =="); const client = getClient(); const results = await client.images.generate({ prompt, size: "1024x1024", n: numberOfImagesToGenerate, model: "", style: "vivid", // or "natural" }); for (const image of results.data) { console.log(`Image generation result URL: ${image.url}`); } } main().catch((err) => { console.error("The sample encountered an error:", err); });
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"] }
Transpile de TypeScript a JavaScript.
tsc
Inicie sesión en Azure con el siguiente comando:
az login
Ejecute el código con el siguiente comando:
node index.js
Salida
La dirección URL de la imagen generada se imprime en la consola.
== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>
Nota:
Las API de generación de imágenes incluyen un filtro de moderación de contenido. Si el servicio reconoce la solicitud como contenido dañino, no devolverá una imagen generada. Para más información, consulte artículo de filtro de contenido.
Limpieza de recursos
Si quiere limpiar y quitar un recurso de Azure OpenAI, puede eliminar el recurso. Antes de eliminar el recurso, primero deberá eliminar los modelos implementados.
Pasos siguientes
- Explore las API de generación de imágenes con mayor profundidad con la guía paso a paso de DALL-E.
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI.
Use esta guía para empezar a generar imágenes con el SDK de Azure OpenAI para Go.
Código fuente de la biblioteca | Paquete | Ejemplos
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- Go 1.8+
- 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.
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.
Configurar
Cree una nueva carpeta
dall-e-quickstart
y vaya a la carpeta quickstart con el siguiente comando:mkdir dall-e-quickstart && cd dall-e-quickstart
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 | 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. Puede cambiar la versión en el código o usar una variable de entorno. |
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 la NewDefaultAzureCredential
implementación por NewKeyCredential
.
azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
credential, err := azidentity.NewDefaultAzureCredential(nil)
client, err := azopenai.NewClient(azureOpenAIEndpoint, credential, nil)
Para ejecutar el ejemplo:
Cree un archivo denominado quickstart.go. Copie el código siguiente en el archivo quickstart.go .
package main import ( "context" "fmt" "net/http" "os" "log" "github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" ) func main() { azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT") modelDeploymentID := "dall-e-3" credential, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Printf("ERROR: %s", err) return } client, err := azopenai.NewClient( azureOpenAIEndpoint, credential, nil) if err != nil { log.Printf("ERROR: %s", err) return } resp, err := client.GetImageGenerations(context.TODO(), azopenai.ImageGenerationOptions{ Prompt: to.Ptr("A painting of a cat in the style of Dali."), ResponseFormat: to.Ptr(azopenai.ImageGenerationResponseFormatURL), DeploymentName: to.Ptr(modelDeploymentID), }, nil) if err != nil { // Implement application specific error handling logic. log.Printf("ERROR: %s", err) return } for _, generatedImage := range resp.Data { // The underlying type for the generatedImage is determined by the value of // ImageGenerationOptions.ResponseFormat. // In this example we use `azopenai.ImageGenerationResponseFormatURL`, // so the underlying type will be ImageLocation. resp, err := http.Head(*generatedImage.URL) if err != nil { // Implement application specific error handling logic. log.Printf("ERROR: %s", err) return } fmt.Fprintf(os.Stderr, "Image generated, HEAD request on URL returned %d\nImage URL: %s\n", resp.StatusCode, *generatedImage.URL) } }
Ejecute el siguiente comando para crear un nuevo módulo de Go:
go mod init quickstart.go
Ejecute
go mod tidy
para instalar las dependencias necesarias:go mod tidy
Ejecute el siguiente comando para ejecutar el ejemplo:
go run quickstart.go
Salida
La dirección URL de la imagen generada se imprime en la consola.
Image generated, HEAD request on URL returned 200
Image URL: <SAS URL>
Nota:
Las API de generación de imágenes incluyen un filtro de moderación de contenido. Si el servicio reconoce la solicitud como contenido dañino, no devolverá una imagen generada. Para más información, consulte artículo de filtro de 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.
Pasos siguientes
- Explore las API de generación de imágenes con mayor profundidad con la guía paso a paso de DALL-E.
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI.
Use esta guía para empezar a llamar a las API de generación de imágenes del servicio OpenAI de Azure con PowerShell.
Requisitos previos
- Suscripción a Azure. cree una de forma gratuita.
- Para esta tarea, se recomienda la versión más reciente de PowerShell 7, ya que los ejemplos usan nuevas características no disponibles en Windows PowerShell 5.1.
- 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.
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. Puede cambiar la versión en el código o usar una variable de entorno. |
Obtenga más información sobre la autenticación sin claves y la configuración de variables de entorno.
Generar imágenes
Para la autenticación sin clave recomendada con Microsoft Entra ID, inicie sesión en Azure con el siguiente comando:
az login
Cree un nuevo archivo de PowerShell denominado quickstart.ps1. A continuación, ábralo en tu editor o IDE preferido.
Reemplace el contenido de quickstart.ps1 por el código siguiente. Escriba la dirección URL del punto de conexión y la clave en los campos adecuados. Cambie el valor de
prompt
a su texto preferido.# Azure OpenAI metadata variables $openai = @{ api_base = $Env:AZURE_OPENAI_ENDPOINT api_version = '2023-06-01-preview' # This can change in the future. } # Use the recommended keyless authentication via bearer token. $headers = [ordered]@{ #'api-key' = $Env:AZURE_OPENAI_API_KEY 'Authorization' = "Bearer $($Env:DEFAULT_AZURE_CREDENTIAL_TOKEN)" } # Text to describe image $prompt = 'A painting of a dog' # Adjust these values to fine-tune completions $body = [ordered]@{ prompt = $prompt size = '1024x1024' n = 1 } | ConvertTo-Json # Call the API to generate the image and retrieve the response $url = "$($openai.api_base)/openai/images/generations:submit?api-version=$($openai.api_version)" $submission = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json' -ResponseHeadersVariable submissionHeaders $operation_location = $submissionHeaders['operation-location'][0] $status = '' while ($status -ne 'succeeded') { Start-Sleep -Seconds 1 $response = Invoke-RestMethod -Uri $operation_location -Headers $headers $status = $response.status } # Set the directory for the stored image $image_dir = Join-Path -Path $pwd -ChildPath 'images' # If the directory doesn't exist, create it if (-not(Resolve-Path $image_dir -ErrorAction Ignore)) { New-Item -Path $image_dir -ItemType Directory } # Initialize the image path (note the filetype should be png) $image_path = Join-Path -Path $image_dir -ChildPath 'generated_image.png' # Retrieve the generated image $image_url = $response.result.data[0].url # extract image URL from response $generated_image = Invoke-WebRequest -Uri $image_url -OutFile $image_path # download the image return $image_path
Importante
En entornos de producción, use una forma segura de almacenar sus credenciales y acceder a ellas, como PowerShell Secret Management con Azure Key Vault. Para obtener más información sobre la seguridad de las credenciales, consulte el artículo Seguridad de servicios de Azure AI.
Ejecute el script con PowerShell:
./quickstart.ps1
El script estará en bucle hasta que la imagen generada esté lista.
Salida
PowerShell solicita la imagen de Azure OpenAI y almacena la imagen de salida en el archivo generated_image.png en el directorio especificado. Para mayor comodidad, se devuelve la ruta de acceso completa del archivo al final del script.
Las API de generación de imágenes incluyen un filtro de moderación de contenido. Si el servicio reconoce la solicitud como contenido dañino, no genera una imagen. Para obtener más información, consulte Filtrado de 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.
Pasos siguientes
- Explore las API de generación de imágenes con mayor profundidad con la guía paso a paso de DALL-E.
- Pruebe ejemplos en el repositorio de GitHub de ejemplos de Azure OpenAI.