Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Use esta guía para empezar a llamar a azure OpenAI en las API REST de generación de imágenes de modelos de Microsoft Foundry mediante Python.
Prerrequisitos
- Una suscripción de 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.
- A continuación, debe implementar un modelo de la serie
gpt-image-1odalle3con el 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
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 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, 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.
Reemplace el contenido de quickstart.py por el siguiente código. Cambie el valor de
prompta su texto preferido. Elija tambiéndeploymentcomo el nombre de implementación que seleccionó al implementar el modelo GPT-image-1.import os import requests import base64 from PIL import Image from io import BytesIO # set environment variables endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") subscription_key = os.getenv("AZURE_OPENAI_API_KEY") deployment = "gpt-image-1" # the name of your GPT-image-1 deployment api_version = "2025-04-01-preview" # or later version def decode_and_save_image(b64_data, output_filename): image = Image.open(BytesIO(base64.b64decode(b64_data))) image.show() image.save(output_filename) def save_all_images_from_response(response_data, filename_prefix): for idx, item in enumerate(response_data['data']): b64_img = item['b64_json'] filename = f"{filename_prefix}_{idx+1}.png" decode_and_save_image(b64_img, filename) print(f"Image saved to: '{filename}'") base_path = f'openai/deployments/{deployment}/images' params = f'?api-version={api_version}' generation_url = f"{endpoint}{base_path}/generations{params}" generation_body = { "prompt": "girl falling asleep", "n": 1, "size": "1024x1024", "quality": "medium", "output_format": "png" } generation_response = requests.post( generation_url, headers={ 'Api-Key': subscription_key, 'Content-Type': 'application/json', }, json=generation_body ).json() save_all_images_from_response(generation_response, "generated_image") # In addition to generating images, you can edit them. edit_url = f"{endpoint}{base_path}/edits{params}" edit_body = { "prompt": "girl falling asleep", "n": 1, "size": "1024x1024", "quality": "medium" } files = { "image": ("generated_image_1.png", open("generated_image_1.png", "rb"), "image/png"), # You can use a mask to specify which parts of the image you want to edit. # The mask must be the same size as the input image. # "mask": ("mask.png", open("mask.png", "rb"), "image/png"), } edit_response = requests.post( edit_url, headers={'Api-Key': subscription_key}, data=edit_body, files=files ).json() save_all_images_from_response(edit_response, "edited_image")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.pyEspere 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 imagen 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 generación de imágenes.
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 imágenes con mayor profundidad con la guía paso a paso de Image API.
- 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
Prerrequisitos
- Una suscripción de 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
dalle3en 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
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 Microsoft 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 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, 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"
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
prompta su texto preferido. - Cambie el valor de
modelpor 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 imagen 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 imágenes con mayor profundidad con la guía paso a paso de Image API.
- 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
Prerrequisitos
- Una suscripción de Azure: cree una gratuitamente.
- 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 Usera su cuenta de usuario. Puede asignar roles en el portal de Azure bajo control de acceso (IAM)>Agregar asignación de roles.
Configuración
Cree una nueva carpeta
vision-quickstarty vaya a la carpeta quickstart mediante el siguiente comando:mkdir vision-quickstart && cd vision-quickstartCree una nueva aplicación de consola con el siguiente comando:
dotnet new consoleInstale la biblioteca cliente de OpenAI .NET con el comando dotnet add package:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6Para la autenticación sin clave recomendada con Microsoft Entra ID, instale el paquete de Azure.Identity con:
dotnet add package Azure.IdentityPara 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:
Reemplace el contenido de
Program.cspor 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 runo 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 imagen 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 imágenes con mayor profundidad con la guía paso a paso de Image API.
- 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
Prerrequisitos
- Una suscripción de Azure: cree una gratuitamente.
- 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 Usera su cuenta de usuario. Puede asignar roles en el portal de Azure bajo control de acceso (IAM)>Agregar asignación de roles.
Configuración
Cree una nueva carpeta
vision-quickstarty vaya a la carpeta quickstart mediante el siguiente comando:mkdir vision-quickstart && cd vision-quickstartInstalación de Apache Maven. A continuación, ejecute
mvn -vpara confirmar que la instalación se ha realizado correctamente.Cree un nuevo archivo
pom.xmlen 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-dependenciesPara 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 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 imagen 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 imágenes con mayor profundidad con la guía paso a paso de Image API.
- 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
Prerrequisitos
- Una suscripción de Azure: cree una gratuitamente.
- 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 Usera su cuenta de usuario. Puede asignar roles en el portal de Azure bajo control de acceso (IAM)>Agregar asignación de roles.
Configuración
Cree una nueva carpeta
image-quickstarty vaya a la carpeta quickstart mediante el siguiente comando:mkdir image-quickstart && cd image-quickstartCree el
package.jsoncon el comando siguiente:npm init -yInstale la biblioteca cliente de OpenAI para JavaScript con:
npm install openaiPara 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.
Generación de imágenes con DALL-E
Cree el archivo
index.jscon 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 loginEjecute 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 imagen 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 imágenes con mayor profundidad con la guía paso a paso de Image API.
- 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
Prerrequisitos
- Una suscripción de Azure: cree una gratuitamente.
- 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 Usera su cuenta de usuario. Puede asignar roles en el portal de Azure bajo control de acceso (IAM)>Agregar asignación de roles.
Configuración
Cree una nueva carpeta
image-quickstarty vaya a la carpeta quickstart mediante el siguiente comando:mkdir image-quickstart && cd image-quickstartCree el
package.jsoncon el comando siguiente:npm init -yActualice el
package.jsona ECMAScript con el siguiente comando:npm pkg set type=moduleInstale la biblioteca cliente de OpenAI para JavaScript con:
npm install openaiPara 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.
Generación de imágenes con DALL-E
Cree el archivo
index.tscon 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.jsonpara 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.
tscInicie sesión en Azure con el siguiente comando:
az loginEjecute 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 imagen 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 imágenes con mayor profundidad con la guía paso a paso de Image API.
- 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
Prerrequisitos
- Una suscripción de Azure: cree una gratuitamente.
- 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 Usera su cuenta de usuario. Puede asignar roles en el portal de Azure bajo control de acceso (IAM)>Agregar asignación de roles.
Configuración
Cree una nueva carpeta
dall-e-quickstarty vaya a la carpeta quickstart mediante el siguiente comando:mkdir dall-e-quickstart && cd dall-e-quickstartPara 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 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.goEjecute
go mod tidypara instalar las dependencias necesarias:go mod tidyEjecute 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 imagen 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 imágenes con mayor profundidad con la guía paso a paso de Image API.
- Para obtener más ejemplos, consulte el repositorio de GitHub de ejemplos de Azure OpenAI.
Use esta guía para empezar a llamar a azure OpenAI en las API de generación de imágenes de modelos de Microsoft Foundry con PowerShell.
Prerrequisitos
- Una suscripción de 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 Usera su cuenta de usuario. Puede asignar roles en el portal de Azure bajo 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 | 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.
Generar imágenes
Para la autenticación sin clave recomendada con Microsoft Entra ID, inicie sesión en Azure con el siguiente comando:
az loginCree 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
prompta 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_pathImportante
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 este artículo de seguridad .
Ejecute el script con PowerShell:
./quickstart.ps1El 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 imagen 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 imágenes con mayor profundidad con la guía paso a paso de Image API.
- Pruebe ejemplos en el repositorio de GitHub de ejemplos de Azure OpenAI.
Use esta guía para empezar a generar imágenes con Azure OpenAI en el explorador con Microsoft Foundry.
Prerrequisitos
- Una suscripción de 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 Foundry
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.
En la página de aterrizaje de 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 imagen 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 imágenes con mayor profundidad con la guía paso a paso de Image API.
- Pruebe ejemplos en el repositorio de GitHub de ejemplos de Azure OpenAI.
- Vea la Referencia de API