Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce démarrage rapide, vous apprenez à créer une application console XXX.NET pour générer des images à l'aide d'un modèle d'IA OpenAI ou Azure OpenAI DALLe, qui sont spécifiquement conçus pour générer des images à partir d'invites textuelles.
Conditions préalables
- SDK .NET 8.0 ou version ultérieure - Installer le SDK .NET 8.0.
- Une clé API d’OpenAI pour pouvoir exécuter cet échantillon.
Conditions préalables
- SDK .NET 8.0 ou version ultérieure - Installer le SDK .NET 8.
- Un abonnement Azure : créez-en un gratuitement.
- Azure Developer CLI (facultatif) : installer ou mettre à jour l’interface de ligne de commande du développeur Azure.
Remarque
Vous pouvez également utiliser Semantic Kernel pour accomplir les tâches décrites dans cet article. Semantic Kernel est un noyau léger et open source qui vous permet de construire des agents d'IA et d'intégrer les derniers modèles d'IA dans vos applications .NET.
Créer l’application
Effectuez les étapes suivantes pour créer une application console .NET qui se connectera à un modèle d'IA.
Dans un répertoire vide sur votre ordinateur, utilisez la commande
dotnet new
pour créer une application console :dotnet new console -o ImagesAI
Modifiez le répertoire dans le dossier de l’application :
cd ImagesAI
Installez les packages nécessaires :
dotnet add package Azure.AI.OpenAI dotnet add package Microsoft.Extensions.Configuration dotnet add package Microsoft.Extensions.Configuration.UserSecrets
dotnet add package OpenAI dotnet add package Microsoft.Extensions.Configuration dotnet add package Microsoft.Extensions.Configuration.UserSecrets
Ouvrez l'application dans Visual Studio Code ou dans l'éditeur de votre choix.
code .
Créer le service d’IA
Pour provisionner un service et un modèle Azure OpenAI, suivez les étapes décrites dans l’article Créer et déployer une ressource Azure OpenAI Service .
À partir d’un terminal ou d’une invite de commandes, accédez à la racine de votre répertoire de projet.
Exécutez les commandes suivantes pour configurer votre point de terminaison Azure OpenAI et le nom du modèle pour l’exemple d’application :
dotnet user-secrets init dotnet user-secrets set AZURE_OPENAI_ENDPOINT <your-Azure-OpenAI-endpoint> dotnet user-secrets set AZURE_OPENAI_GPT_NAME <your-Azure-OpenAI-model-name>
Configurer l’application
Accédez à la racine de votre projet .NET à partir d’un terminal ou d’une invite de commandes.
Exécutez les commandes suivantes pour configurer votre clé API OpenAI en tant que secret pour l’exemple d’application :
dotnet user-secrets init dotnet user-secrets set OpenAIKey <your-OpenAI-key> dotnet user-secrets set ModelName <your-OpenAI-model-name>
Ajoutez le code de l’application
Dans le
Program.cs
fichier, ajoutez le code suivant pour vous connecter et vous authentifier auprès du modèle IA.using Microsoft.Extensions.Configuration; using OpenAI.Images; using System.ClientModel; using Azure.AI.OpenAI; using Azure.Identity; // Retrieve the local secrets saved during the Azure deployment. If you skipped the deployment // because you already have an Azure OpenAI available, edit the following lines to use your information, // e.g. string openAIEndpoint = "https://cog-demo123.openai.azure.com/"; var config = new ConfigurationBuilder().AddUserSecrets<Program>().Build(); string endpoint = config["AZURE_OPENAI_ENDPOINT"]; string deployment = config["AZURE_OPENAI_DALLE_NAME"]; // Create the Azure OpenAI ImageClient ImageClient client = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()) .GetImageClient(deployment); // Generate the image GeneratedImage generatedImage = await client.GenerateImageAsync(""" A postal card with an happy hiker waving and a beautiful mountain in the background. There is a trail visible in the foreground. The postal card has text in red saying: 'You are invited for a hike!' """, new ImageGenerationOptions { Size = GeneratedImageSize.W1024xH1024 }); Console.WriteLine($"The generated image is ready at:\n{generatedImage.ImageUri}");
Remarque
DefaultAzureCredential recherche les informations d'identification dans vos outils locaux. Si vous n'utilisez pas le modèle
azd
pour provisionner la ressource Azure OpenAI, vous devrez attribuer le rôleAzure AI Developer
au compte que vous avez utilisé pour vous connecter à Visual Studio ou à Azure CLI. Pour plus d'informations, voir Authentification aux services Azure AI avec .NET.// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using Microsoft.Extensions.Configuration; using OpenAI.Images; // Retrieve the local secrets that were set from the command line, using: // dotnet user-secrets init // dotnet user-secrets set OpenAIKey <your-openai-key> var config = new ConfigurationBuilder().AddUserSecrets<Program>().Build(); string key = config["OpenAIKey"]; string modelName = config["ModelName"]; // Create the OpenAI ImageClient ImageClient client = new(modelName, key); // Generate the image GeneratedImage generatedImage = await client.GenerateImageAsync(""" A postal card with a happy hiker waving and a beautiful mountain in the background. There is a trail visible in the foreground. The postal card has text in red saying: 'You are invited for a hike!' """, new ImageGenerationOptions { Size = GeneratedImageSize.W1024xH1024 }); Console.WriteLine($"The generated image is ready at:\n{generatedImage.ImageUri}");
Code précédent :
- Lit les valeurs de configuration essentielles des secrets utilisateur du projet pour se connecter au modèle IA.
- Crée une connexion
OpenAI.Images.ImageClient
au modèle IA. - Envoie une invite au modèle qui décrit l’image souhaitée.
- Imprime l’URL de l’image générée dans la sortie de la console.
Exécutez l’application :
dotnet run
Naviguez jusqu'à l'URL de l'image dans la sortie de la console pour afficher l'image générée. Personnalisez le contenu du texte de la requête pour créer de nouvelles images ou modifier l'original.
Nettoyer les ressources
Si vous n’en avez plus besoin, supprimez la ressource Azure OpenAI et le déploiement de modèle GPT-4.