Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa guida introduttiva si apprenderà come creare un'app console .NET per generare immagini usando un modello OpenAI o Azure OpenAI DALLe AI, progettato appositamente per generare immagini in base alle richieste di testo.
Prerequisiti
- .NET 8.0 SDK o versione successiva - Installare il .NET 8.0 SDK.
- Una chiave API da OpenAI in modo da poter eseguire questo esempio.
Prerequisiti
- .NET 8.0 SDK o versione successiva: Installare il .NET 8 SDK.
- Una sottoscrizione di Azure: crearne una gratuitamente.
- Interfaccia della riga di comando per sviluppatori di Azure (facoltativa): installare o aggiornare l'interfaccia della riga di comando per sviluppatori di Azure.
Annotazioni
È anche possibile usare il kernel semantico per svolgere le attività in questo articolo. Semantic Kernel è un SDK leggero e open source che consente di creare agenti di intelligenza artificiale e integrare i modelli di intelligenza artificiale più recenti nelle app .NET.
Creare l'app
Completare i passaggi seguenti per creare un'app console .NET per connettersi a un modello di intelligenza artificiale.
In una directory vuota nel computer usare il comando
dotnet new
per creare una nuova app console:dotnet new console -o ImagesAI
Modificare la directory nella cartella dell'app:
cd ImagesAI
Installare i pacchetti necessari:
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
Aprire l'app in Visual Studio Code o nell'editor preferito.
code .
Creare il servizio di intelligenza artificiale
Per effettuare il provisioning di un servizio e un modello OpenAI di Azure, completare la procedura descritta nell'articolo Creare e distribuire una risorsa del servizio OpenAI di Azure .
Dal terminale o dal prompt dei comandi, vai alla cartella principale della directory del progetto.
Eseguire i comandi seguenti per configurare l'endpoint OpenAI di Azure e il nome del modello per l'app di esempio:
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>
Configurare l'app
Vai alla radice del tuo progetto .NET da un terminale o da un prompt dei comandi.
Eseguire i comandi seguenti per configurare la chiave API OpenAI come segreto per l'app di esempio:
dotnet user-secrets init dotnet user-secrets set OpenAIKey <your-OpenAI-key> dotnet user-secrets set ModelName <your-OpenAI-model-name>
Aggiungere il codice dell'app
Program.cs
Nel file aggiungere il codice seguente per connettersi ed eseguire l'autenticazione al modello di intelligenza artificiale.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}");
Annotazioni
DefaultAzureCredential cerca le credenziali di autenticazione dai tuoi strumenti locali. Se non si usa il modello
azd
per il provisioning della risorsa OpenAI di Azure, è necessario assegnare il ruoloAzure AI Developer
all'account usato per accedere a Visual Studio o all'Azure CLI. Per altre informazioni, vedere Eseguire l'autenticazione ai servizi di intelligenza artificiale di Azure con .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}");
Il codice precedente:
- Legge i valori di configurazione essenziali dai segreti utente del progetto per connettersi al modello di intelligenza artificiale.
- Crea un
OpenAI.Images.ImageClient
per connettersi al modello di intelligenza artificiale. - Invia una richiesta al modello che descrive l'immagine desiderata.
- Stampa l'URL dell'immagine generata nell'output della console.
Eseguire l'app:
dotnet run
Accedere all'URL dell'immagine nel output della console per vedere l'immagine generata. Personalizzare il contenuto del testo del prompt per creare nuove immagini o modificare l'originale.
Pulire le risorse
Se non sono più necessari, eliminare la risorsa OpenAI di Azure e la distribuzione del modello GPT-4.