Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Utilisez ce guide pour commencer à appeler Azure OpenAI dans les API REST de génération d’images Microsoft Foundry Models à l’aide de Python.
Conditions préalables
- Un abonnement Azure. Créez-en un gratuitement.
- Python 3.8 ou version ultérieure.
- Installez les bibliothèques Python suivantes :
os,requests,json. - Une ressource Azure OpenAI créée dans une région prise en charge. Consultez Disponibilité dans les régions.
- Ensuite, vous devez déployer un modèle
gpt-image-1-série oudalle3avec votre ressource Azure. Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Configuration
Récupérer la clé et le point de terminaison
Pour appeler correctement les API Azure OpenAI, vous avez besoin des informations suivantes relatives à votre ressource Azure OpenAI :
| Variable | Nom | Valeur |
|---|---|---|
| Point de terminaison | api_base |
La valeur du point de terminaison se trouve sous Clés et point de terminaison pour votre ressource dans le portail Azure. Vous pouvez également trouver le point de terminaison via la page Déploiements dans le portail Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/. |
| Clé | api_key |
La valeur de la clé se trouve également sous Clés et point de terminaison pour votre ressource dans le portail Azure. Azure génère deux clés pour votre ressource. Vous pouvez utiliser l’une ou l’autre de ces valeurs. |
Accédez à votre ressource sur le portail Azure. Dans le volet de navigation, sélectionnez Clés et point de terminaison sous Gestion des ressources. Copiez la valeur Point de terminaison et une valeur de clé d’accès. Vous pouvez utiliser la valeur CLÉ 1 ou CLÉ 2. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.
Utilisez les clés API avec précaution. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement. Si vous utilisez des clés API, stockez-les en lieu sûr dans Azure Key Vault, permutez les clés régulièrement, et limitez l’accès à Azure Key Vault en utilisant le contrôle d’accès en fonction du rôle et des restrictions d’accès réseau. Pour plus d’informations sur l’utilisation sécurisée des clés API dans vos applications, consultez Clés API avec Azure Key Vault.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Créer une application Python
Créez un fichier Python nommé quickstart.py. Ouvrez le nouveau fichier dans votre éditeur ou votre IDE favori.
Remplacez le contenu de quickstart.py par le code suivant. Remplacez la valeur de
promptpar votre texte de préférence. Définissezdeploymentégalement le nom de déploiement que vous avez choisi lorsque vous avez déployé le modèle 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")Le script effectue un appel d’API de génération d’images synchrone.
Important
N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la publiez jamais. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Pour plus d’informations, consultez Azure Key Vault.
Exécutez l’application avec la commande
python:python quickstart.pyAttendez quelques instants pour obtenir une réponse.
Output
La sortie d’un appel d’API de génération d’images réussi ressemble à l’exemple ci-dessous. Le champ url contient une URL dans laquelle vous pouvez télécharger l’image générée. L’URL reste active pendant 24 heures.
{
"created": 1698116662,
"data": [
{
"url": "<URL_to_generated_image>",
"revised_prompt": "<prompt_that_was_used>"
}
]
}
Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre requête comme contenu nuisible, il ne génère pas d’image. Pour plus d’informations, consultez l’article Filtrage du contenu. Pour obtenir des exemples de réponses d’erreur, consultez le guide pratique de génération d’images.
Le système retourne l’état d’opération Failed et la valeur error.code dans le message est définie sur contentFilter. Voici un exemple :
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
Il est également possible que l’image générée soit elle-même filtrée. Dans ce cas, le message d’erreur est défini sur Generated image was filtered as a result of our safety system.. Voici un exemple :
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
Nettoyer les ressources
Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Étapes suivantes
- Explorez plus en détail les API d’image avec le guide pratique de l’API Image.
- Essayez des exemples dans le référentiel GitHub d’exemples Azure OpenAI.
- Consultez la référence de l’API
Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour Python.
Code source de la bibliothèque | Package | Échantillons
Conditions préalables
- Un abonnement Azure. Créez-en un gratuitement.
- Python 3.8 ou version ultérieure.
- Une ressource Azure OpenAI créée dans une région compatible. Consultez Disponibilité dans les régions.
- Ensuite, vous devez déployer un modèle
dalle3avec votre ressource Azure. Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Configuration
Récupérer la clé et le point de terminaison
Pour appeler correctement les API Azure OpenAI, vous avez besoin des informations suivantes relatives à votre ressource Azure OpenAI :
| Variable | Nom | Valeur |
|---|---|---|
| Point de terminaison | api_base |
La valeur du point de terminaison se trouve sous Clés et point de terminaison pour votre ressource dans le portail Azure. Vous pouvez également trouver le point de terminaison via la page Déploiements dans le portail Microsoft Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/. |
| Clé | api_key |
La valeur de la clé se trouve également sous Clés et point de terminaison pour votre ressource dans le portail Azure. Azure génère deux clés pour votre ressource. Vous pouvez utiliser l’une ou l’autre de ces valeurs. |
Accédez à votre ressource sur le portail Azure. Dans le volet de navigation, sélectionnez Clés et point de terminaison sous Gestion des ressources. Copiez la valeur Point de terminaison et une valeur de clé d’accès. Vous pouvez utiliser la valeur CLÉ 1 ou CLÉ 2. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.
Variables d'environnement
Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.
Important
Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.
Utilisez les clés API avec précaution. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement. Si vous utilisez des clés API, stockez-les en lieu sûr dans Azure Key Vault, permutez les clés régulièrement, et limitez l’accès à Azure Key Vault en utilisant le contrôle d’accès en fonction du rôle et des restrictions d’accès réseau. Pour plus d’informations sur l’utilisation sécurisée des clés API dans vos applications, consultez Clés API avec Azure Key Vault.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Installer le Kit de développement logiciel (SDK) Python
Ouvrez une invite de commandes et accédez à votre dossier de projet. Installez le kit de développement logiciel (SDK) Python OpenAI à l’aide de la commande suivante :
pip install openai
Installez également les bibliothèques suivantes :
pip install requests
pip install pillow
Générer des images avec DALL-E
Créez un fichier Python nommé quickstart.py. Ouvrez-le dans l’éditeur ou l’IDE de votre choix.
Remplacez le contenu de quickstart.py par le code suivant.
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()
- Entrez l’URL et la clé de votre point de terminaison dans les champs appropriés.
- Remplacez la valeur de
promptpar votre texte de préférence. - Remplacez la valeur de
modelpar le nom de votre modèle DALL-E 3 déployé.
Important
N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la publiez jamais. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Pour plus d’informations, consultez Azure Key Vault.
Exécutez l’application avec la commande python :
python quickstart.py
Attendez quelques instants pour obtenir une réponse.
Output
Azure OpenAI stocke l’image de sortie dans le fichier generated_image.png dans le répertoire spécifié. Le script affiche également l’image dans votre visionneuse d’images par défaut.
Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre requête comme contenu nuisible, il ne génère pas d’image. Pour plus d’informations, consultez l’article Filtrage du contenu.
Nettoyer les ressources
Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Étapes suivantes
- Explorez plus en détail les API d’image avec le guide pratique de l’API Image.
- Essayez des exemples dans le référentiel GitHub d’exemples Azure OpenAI.
- Consultez la référence de l’API
Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour C#.
Code source de la bibliothèque | Package (NuGet) | Exemples
Conditions préalables
- Un abonnement Azure - En créer un gratuitement
- Le SDK .NET 7
- Ressource Azure OpenAI créée dans une région prise en charge (voir Disponibilité des régions). Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Prérequis pour Microsoft Entra ID
Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :
- Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
- Attribuez le rôle
Cognitive Services Userà votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.
Configurer
Créez un dossier
vision-quickstartet accédez au dossier de démarrage rapide avec la commande suivante :mkdir vision-quickstart && cd vision-quickstartCréez une application console avec la commande suivante :
dotnet new consoleInstallez la bibliothèque de client OpenAI .NET avec la commande dotnet add package :
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6Pour l’authentification sans clé recommandée avec Microsoft Entra ID, installez le package Azure.Identity avec :
dotnet add package Azure.IdentityPour l’authentification sans clé recommandée avec Microsoft Entra ID, connectez-vous à Azure avec la commande suivante :
az login
Récupérer des informations sur les ressources
Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :
| Nom de la variable | Valeur |
|---|---|
AZURE_OPENAI_ENDPOINT |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles. |
En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.
Exécuter le démarrage rapide
L’exemple de code de ce guide de démarrage rapide utilise Microsoft Entra ID pour l’authentification sans clé recommandée. Si vous préférez utiliser une clé API, vous pouvez remplacer l’objet DefaultAzureCredential par un AzureKeyCredential objet.
AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
Pour exécuter le démarrage rapide, procédez comme suit :
Remplacez le contenu de
Program.cspar le code suivant et remplacez les valeurs d’espace réservé par vos propres valeurs.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);Exécutez l’application à l’aide de la commande
dotnet runou du bouton Exécuter en haut de Visual Studio :dotnet run
Output
L’URL de l’image générée s’affiche dans la console.
<SAS URL>
Remarque
Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre invite comme du contenu nuisible, il ne retourne pas d’image générée. Pour plus d’informations, consultez l’article sur le filtrage de contenu.
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.
Étapes suivantes
- Explorez plus en détail les API d’image avec le guide pratique de l’API Image.
- Pour plus d’exemples, consultez le dépôt GitHub d’échantillons Azure OpenAI.
Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour Java.
Code source de la bibliothèque | Artefact (Maven) | Exemples
Conditions préalables
- Un abonnement Azure - En créer un gratuitement
- La version actuelle du JDK (Java Development Kit)
- Installez Apache Maven.
- Ressource Azure OpenAI créée dans une région prise en charge (voir Disponibilité des régions). Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Prérequis pour Microsoft Entra ID
Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :
- Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
- Attribuez le rôle
Cognitive Services Userà votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.
Configurer
Créez un dossier
vision-quickstartet accédez au dossier de démarrage rapide avec la commande suivante :mkdir vision-quickstart && cd vision-quickstartInstallez Apache Maven. Exécutez ensuite
mvn -vpour confirmer la réussite de l’installation.Créez un fichier
pom.xmlà la racine de votre projet, puis copiez-y le code suivant :<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>Installez le Kit de développement logiciel (SDK) Azure OpenAI et les dépendances.
mvn clean dependency:copy-dependenciesPour l’authentification sans clé recommandée avec Microsoft Entra ID, connectez-vous à Azure avec la commande suivante :
az login
Récupérer des informations sur les ressources
Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :
| Nom de la variable | Valeur |
|---|---|
AZURE_OPENAI_ENDPOINT |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles. |
En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.
Exécuter l’application
L’exemple de code de ce guide de démarrage rapide utilise Microsoft Entra ID pour l’authentification sans clé recommandée. Si vous préférez utiliser une clé API, vous pouvez remplacer l’objet DefaultAzureCredential par un AzureKeyCredential objet.
OpenAIAsyncClient client = new OpenAIClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Suivez ces étapes pour créer une application console pour la reconnaissance vocale.
Créez un fichier nommé Quickstart.java dans le même répertoire racine du projet.
Copiez le code suivant dans 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); } }Exécutez votre nouvelle application console pour générer une image :
javac Quickstart.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" Quickstart
Output
L’URL de l’image générée s’affiche dans la console.
Image location URL that provides temporary access to download the generated image is <SAS URL>.
Completed getImages.
Remarque
Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre invite comme du contenu nuisible, il ne retourne pas d’image générée. Pour plus d’informations, consultez l’article sur le filtrage de contenu.
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.
Étapes suivantes
- Explorez plus en détail les API d’image avec le guide pratique de l’API Image.
- Consultez le référentiel GitHub Azure OpenAI samples (uniquement disponible en anglais) pour découvrir d’autres exemples.
Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour JavaScript.
Documentation de référence | Code source | Package (npm) | Exemples
Conditions préalables
- Un abonnement Azure - En créer un gratuitement
- Versions LTS de Node.js
- Azure CLI est utilisé pour l’authentification sans mot de passe dans un environnement de développement local. Créez le contexte nécessaire en vous connectant avec Azure CLI.
- Ressource Azure OpenAI créée dans une région prise en charge (voir Disponibilité des régions). Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Prérequis pour Microsoft Entra ID
Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :
- Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
- Attribuez le rôle
Cognitive Services Userà votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.
Configurer
Créez un dossier
image-quickstartet accédez au dossier de démarrage rapide avec la commande suivante :mkdir image-quickstart && cd image-quickstartCréez le
package.jsonavec la commande suivante :npm init -yInstallez la bibliothèque de client OpenAI pour JavaScript avec :
npm install openaiPour l’authentification sans mot de passe recommandée :
npm install @azure/identity
Récupérer des informations sur les ressources
Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :
| Nom de la variable | Valeur |
|---|---|
AZURE_OPENAI_ENDPOINT |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles. |
En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.
Avertissement
Pour utiliser l’authentification sans clé recommandée avec le kit de développement logiciel (SDK), vérifiez que la variable d’environnement AZURE_OPENAI_API_KEY n’est pas définie.
Générer des images avec DALL-E
Créez le fichier
index.jsavec le code suivant :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); });Connectez-vous à Azure à l’aide de la commande suivante :
az loginExécutez le fichier JavaScript.
node index.js
Output
L’URL de l’image générée s’affiche dans la console.
== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>
Remarque
Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre invite comme du contenu nuisible, il ne retourne pas d’image générée. Pour plus d’informations, consultez l’article sur le filtrage de contenu.
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.
Étapes suivantes
- Explorez plus en détail les API d’image avec le guide pratique de l’API Image.
- Pour plus d’exemples, consultez le dépôt GitHub d’échantillons Azure OpenAI.
Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour JavaScript.
Documentation de référence | Code source | Package (npm) | Exemples
Conditions préalables
- Un abonnement Azure - En créer un gratuitement
- Versions LTS de Node.js
- TypeScript
- Azure CLI est utilisé pour l’authentification sans mot de passe dans un environnement de développement local. Créez le contexte nécessaire en vous connectant avec Azure CLI.
- Ressource Azure OpenAI créée dans une région prise en charge (voir Disponibilité des régions). Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Prérequis pour Microsoft Entra ID
Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :
- Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
- Attribuez le rôle
Cognitive Services Userà votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.
Configurer
Créez un dossier
image-quickstartet accédez au dossier de démarrage rapide avec la commande suivante :mkdir image-quickstart && cd image-quickstartCréez le
package.jsonavec la commande suivante :npm init -yMettez à jour le
package.jsonvers ECMAScript avec la commande suivante :npm pkg set type=moduleInstallez la bibliothèque de client OpenAI pour JavaScript avec :
npm install openaiPour l’authentification sans mot de passe recommandée :
npm install @azure/identity
Récupérer des informations sur les ressources
Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :
| Nom de la variable | Valeur |
|---|---|
AZURE_OPENAI_ENDPOINT |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles. |
En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.
Avertissement
Pour utiliser l’authentification sans clé recommandée avec le kit de développement logiciel (SDK), vérifiez que la variable d’environnement AZURE_OPENAI_API_KEY n’est pas définie.
Générer des images avec DALL-E
Créez le fichier
index.tsavec le code suivant :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); });Créez le fichier
tsconfig.jsonpour transpiler le code TypeScript et copiez le code suivant pour 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"] }Transpiler de TypeScript à JavaScript.
tscConnectez-vous à Azure à l’aide de la commande suivante :
az loginExécutez le code avec la commande suivante :
node index.js
Output
L’URL de l’image générée s’affiche dans la console.
== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>
Remarque
Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre invite comme du contenu nuisible, il ne retourne pas d’image générée. Pour plus d’informations, consultez l’article sur le filtrage de contenu.
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez la supprimer. Vous devez d’abord supprimer tous les modèles déployés avant de supprimer la ressource.
Étapes suivantes
- Explorez plus en détail les API d’image avec le guide pratique de l’API Image.
- Pour plus d’exemples, consultez le dépôt GitHub d’échantillons Azure OpenAI.
Utilisez ce guide pour commencer à générer des images avec le SDK Azure OpenAI pour Go.
Code source de la bibliothèque | Package | Échantillons
Conditions préalables
- Un abonnement Azure - En créer un gratuitement
- Go 1.8+
- Ressource Azure OpenAI créée dans une région prise en charge (voir Disponibilité des régions). Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Prérequis pour Microsoft Entra ID
Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :
- Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
- Attribuez le rôle
Cognitive Services Userà votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.
Configurer
Créez un dossier
dall-e-quickstartet accédez au dossier de démarrage rapide avec la commande suivante :mkdir dall-e-quickstart && cd dall-e-quickstartPour l’authentification sans clé recommandée avec Microsoft Entra ID, connectez-vous à Azure avec la commande suivante :
az login
Récupérer des informations sur les ressources
Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :
| Nom de la variable | Valeur |
|---|---|
AZURE_OPENAI_ENDPOINT |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles. |
En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.
Exécuter le démarrage rapide
L’exemple de code de ce guide de démarrage rapide utilise Microsoft Entra ID pour l’authentification sans clé recommandée. Si vous préférez utiliser une clé API, vous pouvez remplacer l’implémentation NewDefaultAzureCredential par NewKeyCredential.
azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
credential, err := azidentity.NewDefaultAzureCredential(nil)
client, err := azopenai.NewClient(azureOpenAIEndpoint, credential, nil)
Pour exécuter l’exemple :
Créez un fichier nommé quickstart.go. Copiez le code suivant dans le fichier 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) } }Exécutez la commande suivante pour créer un module Go :
go mod init quickstart.goExécutez
go mod tidypour installer les dépendances requises :go mod tidyExécutez la commande suivante pour exécuter l’exemple :
go run quickstart.go
Output
L’URL de l’image générée s’affiche dans la console.
Image generated, HEAD request on URL returned 200
Image URL: <SAS URL>
Remarque
Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre invite comme du contenu nuisible, il ne retourne pas d’image générée. Pour plus d’informations, consultez l’article sur le filtrage de contenu.
Nettoyer les ressources
Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Étapes suivantes
- Explorez plus en détail les API d’image avec le guide pratique de l’API Image.
- Pour plus d’exemples, consultez le dépôt GitHub d’échantillons Azure OpenAI.
Utilisez ce guide pour commencer à appeler les API de génération d’images Azure OpenAI dans Microsoft Foundry Models avec PowerShell.
Conditions préalables
- Un abonnement Azure. Créez-en un gratuitement.
- Pour cette tâche, la dernière version de PowerShell 7 est recommandée, car les exemples utilisent de nouvelles fonctionnalités non disponibles dans Windows PowerShell 5.1.
- Ressource Azure OpenAI créée dans une région prise en charge (voir Disponibilité des régions). Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Prérequis pour Microsoft Entra ID
Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :
- Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
- Attribuez le rôle
Cognitive Services Userà votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.
Récupérer des informations sur les ressources
Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :
| Nom de la variable | Valeur |
|---|---|
AZURE_OPENAI_ENDPOINT |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles. |
En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.
Générer des images
Pour l’authentification sans clé recommandée avec Microsoft Entra ID, connectez-vous à Azure avec la commande suivante :
az loginCréez un fichier PowerShell appelé quickstart.ps1. Ensuite, ouvrez-le dans l’éditeur ou l’IDE de votre choix.
Remplacez le contenu du fichier quickstart.ps1 par le code suivant. Entrez l’URL et la clé de votre point de terminaison dans les champs appropriés. Remplacez la valeur de
promptpar votre texte de préférence.# 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_pathImportant
Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification, comme La gestion des secrets PowerShell dans Azure Key Vault. Pour plus d’informations sur la sécurité des informations d’identification, consultez cet article de sécurité .
Exécutez le script à l’aide de PowerShell :
./quickstart.ps1Le script s’exécute en boucle jusqu’à ce que l’image générée soit prête.
Output
PowerShell demande l’image à Azure OpenAI et stocke l’image de sortie dans le fichier generated_image.png dans votre répertoire spécifié. Pour des raisons pratiques, le chemin d’accès complet du fichier est retourné à la fin du script.
Les API Image sont fournies avec un filtre de modération de contenu. Si le service reconnaît votre requête comme contenu nuisible, il ne génère pas d’image. Pour plus d’informations, consultez l’article Filtrage du contenu.
Nettoyer les ressources
Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Étapes suivantes
- Explorez plus en détail les API d’image avec le guide pratique de l’API Image.
- Essayez des exemples dans le référentiel GitHub d’exemples Azure OpenAI.
Utilisez ce guide pour commencer à générer des images avec Azure OpenAI dans votre navigateur avec Microsoft Foundry.
Conditions préalables
- Un abonnement Azure. Créez-en un gratuitement.
- Une ressource Azure OpenAI créée dans une région prise en charge. Consultez Disponibilité dans les régions. Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.
Accéder à Foundry
Accédez à Foundry et connectez-vous avec les informations d’identification associées à votre ressource Azure OpenAI. Pendant ou après le flux de travail de connexion, sélectionnez le répertoire approprié, l’abonnement Azure et la ressource Azure OpenAI.
Dans la page d’accueil Foundry, créez ou sélectionnez un projet. Accédez à la page Modèles + points de terminaison dans le volet de navigation gauche. Sélectionnez Déployer le modèle, puis choisissez l’un des modèles DALL-E dans la liste. Terminez le processus de déploiement.
Dans la page du modèle, sélectionnez Ouvrir dans le terrain de jeu.
Essayer la génération d’images
Commencez à découvrir les fonctionnalités Azure OpenAI avec une approche sans code grâce au terrain de jeu Images. Entrez votre invite d’images dans la zone de texte, puis sélectionnez Générer. Quand l’image générée par l’IA est prête, elle s’affiche sur la page.
Remarque
Les API Image sont fournies avec un filtre de modération de contenu. Si Azure OpenAI reconnaît votre invite comme étant du contenu nuisible, il ne retourne pas d’image générée. Pour plus d’informations, consultez l’article Filtrage du contenu.
Dans le terrain de jeu Images, vous pouvez également afficher des exemples de code Python et cURL préremplis en fonction de vos paramètres. Sélectionnez Afficher le code en haut de la page. Vous pouvez utiliser ce code pour écrire une application qui effectue la même tâche.
Nettoyer les ressources
Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Étapes suivantes
- Explorez plus en détail les API d’image avec le guide pratique de l’API Image.
- Essayez des exemples dans le référentiel GitHub d’exemples Azure OpenAI.
- Consultez la référence de l’API