Delen via


Afbeeldingen genereren met Behulp van OpenAI.Images.ImageClient

In deze quickstart maakt u een .NET-console-app die gebruikmaakt OpenAI.Images.ImageClient van het genereren van afbeeldingen met behulp van een OpenAI- of Azure OpenAI-DALL-E AI-model. Met deze modellen worden afbeeldingen gegenereerd op basis van tekstprompts.

Vereiste voorwaarden

Vereiste voorwaarden

Opmerking

U kunt ook Semantische kernel gebruiken om de taken in dit artikel uit te voeren. Semantische kernel is een lichtgewicht opensource-SDK waarmee u AI-agents kunt bouwen en de nieuwste AI-modellen kunt integreren in uw .NET-apps.

De app maken

Voer de volgende stappen uit om een .NET-console-app te maken om verbinding te maken met een AI-model.

  1. Gebruik in een lege map op uw computer de opdracht dotnet new om een nieuwe console-app te maken:

    dotnet new console -o ImagesAI
    
  2. Wijzig de map in de app-map:

    cd ImagesAI
    
  3. Installeer de vereiste pakketten:

    dotnet add package Azure.AI.OpenAI
    dotnet add package Azure.Identity
    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
    
  4. Open de app in Visual Studio Code of uw gewenste editor.

    code .
    

De AI-service maken

  1. Als u een Azure OpenAI-service en -model wilt inrichten, voert u de stappen in het artikel Een Azure OpenAI-serviceresource maken en implementeren uit.

  2. Navigeer vanuit een terminal of opdrachtprompt naar de hoofdmap van uw projectmap.

  3. Voer de volgende opdrachten uit om uw Azure OpenAI-eindpunt en modelnaam voor de voorbeeld-app te configureren:

    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>
    dotnet user-secrets set AZURE_OPENAI_API_KEY <your-Azure-OpenAI-key>
    

De app configureren

  1. Navigeer vanuit een terminal of opdrachtprompt naar de hoofdmap van uw .NET-project.

  2. Voer de volgende opdrachten uit om uw OpenAI API-sleutel als geheim te configureren voor de voorbeeld-app:

    dotnet user-secrets init
    dotnet user-secrets set OpenAIKey <your-OpenAI-key>
    dotnet user-secrets set ModelName <your-OpenAI-model-name>
    

De app-code toevoegen

  1. Voeg in het Program.cs bestand de volgende code toe om verbinding te maken en te verifiëren met het AI-model.

    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}");
    

    Opmerking

    DefaultAzureCredential zoekt naar verificatiereferenties vanuit uw lokale hulpprogramma's. Als u de azd sjabloon niet gebruikt om de Azure OpenAI-resource in te richten, moet u de Azure AI Developer rol toewijzen aan het account dat u hebt gebruikt om u aan te melden bij Visual Studio of de Azure CLI. Zie Verifiëren bij Azure AI-services met .NETvoor meer informatie.

    // 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}");
    

    De voorgaande code:

    • Leest essentiële configuratiewaarden uit de gebruikersgeheimen van het project om verbinding te maken met het AI-model.
    • Hiermee maakt u een OpenAI.Images.ImageClient verbinding met het AI-model.
    • Hiermee wordt een prompt verzonden naar het model waarin de gewenste afbeelding wordt beschreven.
    • Hiermee wordt de URL van de gegenereerde afbeelding naar de console-uitvoer afgedrukt.
  2. Voer de app uit:

    dotnet run
    

    Navigeer naar de afbeeldings-URL in de console-uitvoer om de gegenereerde afbeelding weer te geven. Pas de tekstinhoud van de prompt aan om nieuwe afbeeldingen te maken of het origineel te wijzigen.

De hulpbronnen opschonen

Als u deze niet meer nodig hebt, verwijdert u de Azure OpenAI-resource en GPT-4-modelimplementatie.

  1. Navigeer in de Azure Portalnaar de Azure OpenAI-resource.
  2. Selecteer de Azure OpenAI-resource en selecteer vervolgens verwijderen.

Volgende stappen