Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här snabbstarten får du lära dig hur du skapar en .NET-konsolapp för att generera avbildningar med hjälp av en OpenAI- eller Azure OpenAI DALLe AI-modell, som är särskilt utformad för att generera bilder baserat på textprompter.
Förutsättningar
- .NET 8.0 SDK eller senare – Installera .NET 8.0 SDK -.
- En API-nyckel från OpenAI så att du kan köra det här exemplet.
Förutsättningar
- .NET 8.0 SDK eller senare – Installera .NET 8 SDK.
- En Azure-prenumeration – Skapa en kostnadsfritt.
- Azure Developer CLI (valfritt) – Installera eller uppdatera Azure Developer CLI-.
Anmärkning
Du kan också använda semantisk kernel för att utföra uppgifterna i den här artikeln. Semantisk kernel är en enkel SDK med öppen källkod som gör att du kan skapa AI-agenter och integrera de senaste AI-modellerna i dina .NET-appar.
Skapa appen
Slutför följande steg för att skapa en .NET-konsolapp för att ansluta till en AI-modell.
I en tom katalog på datorn använder du kommandot
dotnet new
för att skapa en ny konsolapp:dotnet new console -o ImagesAI
Ändra katalog till appmappen:
cd ImagesAI
Installera de paket som krävs:
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
Öppna appen i Visual Studio Code eller valfri redigerare.
code .
Skapa AI-tjänsten
Om du vill etablera en Azure OpenAI-tjänst och modell slutför du stegen i artikeln Skapa och distribuera en Azure OpenAI-tjänstresurs .
Från en terminal eller kommandotolk navigerar du till roten av din projektkatalog.
Kör följande kommandon för att konfigurera Azure OpenAI-slutpunkten och modellnamnet för exempelappen:
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>
Konfigurera appen
Navigera till roten av ditt .NET-projekt från en terminal eller kommandotolk.
Kör följande kommandon för att konfigurera din OpenAI API-nyckel som en hemlighet för exempelappen:
dotnet user-secrets init dotnet user-secrets set OpenAIKey <your-OpenAI-key> dotnet user-secrets set ModelName <your-OpenAI-model-name>
Lägg till appkoden
Program.cs
I filen lägger du till följande kod för att ansluta och autentisera till AI-modellen.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}");
Anmärkning
DefaultAzureCredential söker efter autentiseringsuppgifter från ditt lokala verktyg. Om du inte använder
azd
-mallen för att etablera Azure OpenAI-resursen måste du tilldelaAzure AI Developer
rollen till det konto som du använde för att logga in på Visual Studio eller Azure CLI. Mer information finns i Autentisera till Azure AI-tjänster med .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}");
Föregående kod:
- Läser viktiga konfigurationsvärden från projektets användarhemligheter för att ansluta till AI-modellen.
- Skapar en
OpenAI.Images.ImageClient
för att ansluta till AI-modellen. - Skickar en uppmaning till modellen som beskriver den önskade bilden.
- Skriver ut URL:en för den genererade avbildningen till konsolens utdata.
Kör appen:
dotnet run
Gå till bild-URL:en i konsolens utdata för att visa den genererade avbildningen. Anpassa textinnehållet i prompten för att skapa nya bilder eller ändra originalet.
Rensa resurser
Om du inte längre behöver dem tar du bort Azure OpenAI-resursen och GPT-4-modelldistributionen.
- I Azure-portalengår du till Azure OpenAI-resursen.
- Välj Azure OpenAI-resursen och välj sedan Ta bort.