Delen via


Quickstart: Installatiekopieën genereren met Azure OpenAI Service

Notitie

Met de API voor het genereren van afbeeldingen wordt een afbeelding gemaakt op basis van een tekstprompt. Bestaande afbeeldingen worden niet bewerkt of variaties worden gemaakt.

Gebruik deze handleiding om aan de slag te gaan met het genereren van installatiekopieën met Azure OpenAI in uw browser.

Vereisten

Notitie

Op dit moment moet u een toepassing indienen om toegang te krijgen tot de Azure OpenAI-service. Als u toegang wilt aanvragen, vult u dit formulier in. Als u hulp nodig hebt, opent u een probleem op deze opslagplaats om contact op te nemen met Microsoft.

Ga naar Azure OpenAI Studio

Blader naar Azure OpenAI Studio en meld u aan met de referenties die zijn gekoppeld aan uw Azure OpenAI-resource. Selecteer tijdens of na de aanmeldingswerkstroom de juiste map, het Azure-abonnement en de Azure OpenAI-resource.

Selecteer op de landingspagina van Azure OpenAI Studio de optie DALL· E Playground (preview) voor het gebruik van de API's voor het genereren van afbeeldingen. Selecteer Instellingen boven aan de pagina en controleer of in de vervolgkeuzelijst Implementatie uw DALL-E 3-implementatie is geselecteerd.

Het genereren van installatiekopieën uitproberen

Begin met het verkennen van de mogelijkheden van Azure OpenAI met een no-code-benadering via de DALL· E playground (preview). Voer uw afbeeldingsprompt in het tekstvak in en selecteer Genereren. Wanneer de door AI gegenereerde afbeelding gereed is, wordt deze weergegeven op de pagina.

Notitie

De API's voor het genereren van afbeeldingen worden geleverd met een con tentmodus rationfilter. Als Azure OpenAI uw prompt herkent als schadelijke inhoud, wordt er geen gegenereerde installatiekopieën geretourneerd. Zie Inhoudsfiltering voor meer informatie.

Schermopname van de landingspagina van Azure OpenAI Studio met de DALL-E-speeltuin (preview) met gegenereerde afbeeldingen van ijsberen.

In de DALL· E Playground (preview), u kunt ook Python- en cURL-codevoorbeelden bekijken, die vooraf zijn ingevuld volgens uw instellingen. Selecteer Code weergeven boven aan de pagina. U kunt deze code gebruiken om een toepassing te schrijven die dezelfde taak voltooit.

Resources opschonen

Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.

Volgende stappen

Gebruik deze handleiding om aan de slag te gaan met het aanroepen van de REST API's van de Azure OpenAI Service-installatiekopieën met behulp van Python.

Vereisten

Notitie

Op dit moment moet u een toepassing indienen om toegang te krijgen tot de Azure OpenAI-service. Als u toegang wilt aanvragen, vult u dit formulier in. Als u hulp nodig hebt, opent u een probleem op deze opslagplaats om contact op te nemen met Microsoft.

Sleutel en eindpunt ophalen

Als u de Azure OpenAI-API's wilt aanroepen, hebt u de volgende informatie nodig over uw Azure OpenAI-resource:

Variabel Naam Weergegeven als
Eindpunt api_base De eindpuntwaarde bevindt zich onder Sleutels en Eindpunt voor uw resource in Azure Portal. U kunt de waarde ook vinden in Azure OpenAI Studio>Playground>Codeweergave. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/.
Code api_key De sleutelwaarde bevindt zich ook onder Sleutels en Eindpunt voor uw resource in Azure Portal. Azure genereert twee sleutels voor uw resource. U kunt beide waarden gebruiken.

Ga naar uw resource in Azure Portal. Selecteer sleutels en eindpunt in het navigatiedeelvenster onder Resourcebeheer. Kopieer de eindpuntwaarde en een toegangssleutelwaarde. U kunt de waarde KEY 1 of KEY 2 gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.

Schermopname van de pagina Sleutels en eindpunt voor een Azure OpenAI-resource in Azure Portal.

Een nieuwe Python-toepassing maken

Maak een nieuw Python-bestand met de naam quickstart.py. Open het nieuwe bestand in de gewenste editor of IDE.

  1. Vervang de inhoud van quickstart.py door de volgende code. Voer uw eindpunt-URL en -sleutel in de juiste velden in. Wijzig de waarde van prompt de gewenste tekst.

    U moet ook in de URL vervangen door <dalle3> de implementatienaam die u hebt gekozen bij het implementeren van het DALL-E 3-model. Als u de modelnaam invoert, treedt er een fout op, tenzij u een implementatienaam hebt gekozen die identiek is aan de naam van het onderliggende model. Als er een fout optreedt, controleert u of u geen verdubbeling van de / scheiding tussen uw eindpunt en /openai/deployments.

    import requests
    import time
    import os
    api_base = '<your_endpoint>'  # Enter your endpoint here
    api_key = '<your_key>'        # Enter your API key here
    
    api_version = '2024-02-01'
    url = f"{api_base}/openai/deployments/<dalle3>/images/generations?api-version={api_version}"
    headers= { "api-key": api_key, "Content-Type": "application/json" }
    body = {
        # Enter your prompt text here
        "prompt": "A multi-colored umbrella on the beach, disposable camera",
        "size": "1024x1024", # supported values are “1792x1024”, “1024x1024” and “1024x1792” 
        "n": 1, #The number of images to generate. Only n=1 is supported for DALL-E 3.
        "quality": "hd", # Options are “hd” and “standard”; defaults to standard 
        "style": "vivid" # Options are “natural” and “vivid”; defaults to “vivid”
    }
    submission = requests.post(url, headers=headers, json=body)
    
    image_url = submission.json()['data'][0]['url']
    
    print(image_url)
    

    Het script maakt een api-aanroep voor het genereren van synchrone installatiekopieën.

    Belangrijk

    Vergeet niet om de sleutel uit uw code te verwijderen wanneer u klaar bent en plaats uw sleutel nooit openbaar. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Zie Azure Key Vault voor meer informatie.

  2. De toepassing uitvoeren met de opdracht python:

    python quickstart.py
    

    Wacht even om het antwoord te krijgen.

Uitvoer

De uitvoer van een geslaagde API-aanroep voor het genereren van afbeeldingen ziet eruit als in het volgende voorbeeld. Het url veld bevat een URL waar u de gegenereerde afbeelding kunt downloaden. De URL blijft 24 uur actief.

{ 
    "created": 1698116662, 
    "data": [ 
        { 
            "url": "<URL_to_generated_image>",
            "revised_prompt": "<prompt_that_was_used>" 
        }
    ]
} 

De API's voor het genereren van afbeeldingen worden geleverd met een con tentmodus rationfilter. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen afbeelding gegenereerd. Zie Inhoudsfiltering voor meer informatie. Zie de handleiding DALL-E voor voorbeelden van foutreacties.

Het systeem retourneert een bewerkingsstatus van Failed en de error.code waarde in het bericht is ingesteld op contentFilter. Hier volgt een voorbeeld:

{
    "created": 1698435368,
    "error":
    {
        "code": "contentFilter",
        "message": "Your task failed as a result of our safety system."
    }
}

Het is ook mogelijk dat de gegenereerde installatiekopieën zelf worden gefilterd. In dit geval is het foutbericht ingesteld op Generated image was filtered as a result of our safety system.. Hier volgt een voorbeeld:

{
    "created": 1698435368,
    "error":
    {
        "code": "contentFilter",
        "message": "Generated image was filtered as a result of our safety system."
    }
}

Resources opschonen

Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.

Volgende stappen

Gebruik deze handleiding om aan de slag te gaan met het genereren van installatiekopieën met de Azure OpenAI SDK voor Python.

Broncode van de bibliotheek | Pakket | Voorbeelden

Vereisten

Notitie

Op dit moment moet u een toepassing indienen om toegang te krijgen tot de Azure OpenAI-service. Als u toegang wilt aanvragen, vult u dit formulier in. Als u hulp nodig hebt, opent u een probleem op deze opslagplaats om contact op te nemen met Microsoft.

Instellingen

Sleutel en eindpunt ophalen

Als u de Azure OpenAI-API's wilt aanroepen, hebt u de volgende informatie nodig over uw Azure OpenAI-resource:

Variabel Naam Weergegeven als
Eindpunt api_base De eindpuntwaarde bevindt zich onder Sleutels en Eindpunt voor uw resource in Azure Portal. U kunt de waarde ook vinden in Azure OpenAI Studio>Playground>Codeweergave. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/.
Code api_key De sleutelwaarde bevindt zich ook onder Sleutels en Eindpunt voor uw resource in Azure Portal. Azure genereert twee sleutels voor uw resource. U kunt beide waarden gebruiken.

Ga naar uw resource in Azure Portal. Selecteer sleutels en eindpunt in het navigatiedeelvenster onder Resourcebeheer. Kopieer de eindpuntwaarde en een toegangssleutelwaarde. U kunt de waarde KEY 1 of KEY 2 gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.

Schermopname van de pagina Sleutels en eindpunt voor een Azure OpenAI-resource in Azure Portal.

Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.

Omgevingsvariabelen

Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Een nieuwe Python-toepassing maken

Open een opdrachtprompt en blader naar de projectmap. Maak een nieuw Python-bestand quickstart.py.

De Python SDK installeren

Installeer de OpenAI Python SDK met behulp van de volgende opdracht:

pip install openai

Installeer ook de volgende bibliotheken:

pip install requests
pip install pillow 

Afbeeldingen genereren met DALL-E

Open _quickstart.py in de gewenste editor of IDE.

Vervang de inhoud van quickstart.py door de volgende code.

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()
  1. Voer uw eindpunt-URL en -sleutel in de juiste velden in.
  2. Wijzig de waarde van prompt de gewenste tekst.
  3. Wijzig de waarde van model het geïmplementeerde DALL-E 3-model in de naam van het geïmplementeerde DALL-E 3-model.

Belangrijk

Vergeet niet om de sleutel uit uw code te verwijderen wanneer u klaar bent en plaats uw sleutel nooit openbaar. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Zie Azure Key Vault voor meer informatie.

De toepassing uitvoeren met de opdracht python:

python quickstart.py

Wacht even om het antwoord te krijgen.

Uitvoer

Azure OpenAI slaat de uitvoerafbeelding op in het generated_image.png-bestand in de opgegeven map. In het script wordt ook de afbeelding weergegeven in de standaardafbeeldingsviewer.

De API's voor het genereren van afbeeldingen worden geleverd met een con tentmodus rationfilter. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen afbeelding gegenereerd. Zie Inhoudsfiltering voor meer informatie.

Resources opschonen

Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.

Volgende stappen

Gebruik deze handleiding om aan de slag te gaan met het genereren van installatiekopieën met de Azure OpenAI SDK voor C#.

Voorbeelden van broncodepakket | voor bibliotheken (NuGet) |

Vereisten

Notitie

Op dit moment moet u een toepassing indienen om toegang te krijgen tot de Azure OpenAI-service. Als u toegang wilt aanvragen, vult u dit formulier in. Als u hulp nodig hebt, opent u een probleem op deze opslagplaats om contact op te nemen met Microsoft.

Instellingen

Sleutel en eindpunt ophalen

Als u azure OpenAI wilt aanroepen, hebt u een eindpunt en een sleutel nodig.

Naam van de variabele Waarde
ENDPOINT Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt ook de waarde vinden in de codeweergave van Azure OpenAI Studio>Playground>. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/.
API-KEY Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken.

Ga naar uw resource in Azure Portal. De sectie Sleutels en eindpunt vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1 of KEY2 gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.

Schermopname van de overzichtsgebruikersinterface voor een Azure OpenAI-resource in Azure Portal met het eindpunt en de locatie van toegangssleutels die rood zijn omcirkeld.

Omgevingsvariabelen

Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Een nieuwe .NET Core-app maken

Gebruik in een consolevenster (zoals cmd, PowerShell of Bash) de opdracht dotnet new om een nieuwe console-app te maken met de naam azure-openai-quickstart. Met deze opdracht maakt u een eenvoudig 'Hallo wereld'-project met één C#-bronbestand: Program.cs.

dotnet new console -n azure-openai-quickstart

Wijzig uw map in de zojuist gemaakte app-map. U kunt de toepassing maken met:

dotnet build

De build-uitvoer mag geen waarschuwingen of fouten bevatten.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

De OpenAI .NET SDK installeren

Installeer de clientbibliotheek met:

dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6

Afbeeldingen genereren met DALL-E

Open in de projectmap het program.cs-bestand en vervang het door de volgende code:

using System;
using System.IO;
using System.Threading.Tasks;
using Azure.AI.OpenAI;

namespace Azure.AI.OpenAI.Tests.Samples
{
    public partial class GenerateImages
    {
        // add an async Main method:
        public static async Task Main(string[] args)
        {
            string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
            string key = GetEnvironmentVariable("AZURE_OPENAI_API_KEY");

            OpenAIClient client = new(new Uri(endpoint), new AzureKeyCredential(key));

            Response<ImageGenerations> imageGenerations = await client.GetImageGenerationsAsync(
                new ImageGenerationOptions()
                {
                    Prompt = "a happy monkey eating a banana, in watercolor",
                    Size = ImageSize.Size256x256,
                });

            // Image Generations responses provide URLs you can use to retrieve requested images
            Uri imageUri = imageGenerations.Value.Data[0].Url;
            
            // Print the image URI to console:
            Console.WriteLine(imageUri);
        }
    }
}

Bouw en voer de toepassing uit vanuit uw toepassingsmap met de volgende opdrachten:

dotnet build
dotnet run

Uitvoer

De URL van de gegenereerde afbeelding wordt afgedrukt naar de console.

https://dalleproduse.blob.core.windows.net/private/images/552c5522-af4a-4877-a19c-400fac04a422/generated_00.png?se=2023-08-17T16%3A54%3A40Z&sig=XGCIx9r0WvWTJ0LL%2FJGymo2WYp4FDbSQNNrGRUnnUzI%3D&ske=2023-08-19T01%3A10%3A14Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-12T01%3A10%3A14Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02

Notitie

De API's voor het genereren van afbeeldingen worden geleverd met een con tentmodus rationfilter. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen gegenereerde afbeelding geretourneerd. Zie het artikel over het inhoudsfilter voor meer informatie.

Resources opschonen

Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.

Volgende stappen

Gebruik deze handleiding om aan de slag te gaan met het genereren van installatiekopieën met de Azure OpenAI SDK voor Java.

Voorbeelden van broncodeartefact (Maven) | van bibliotheek |

Vereisten

  • Een Azure-abonnement - Een gratis abonnement maken
  • Toegang verleend aan de Azure OpenAI-service in het gewenste Azure-abonnement. Op dit moment wordt alleen toegang tot deze service verleend door een aanvraag te doen. U kunt toegang aanvragen tot De Azure OpenAI-service door het formulier in te vullen op https://aka.ms/oai/access.

Notitie

Op dit moment moet u een toepassing indienen om toegang te krijgen tot de Azure OpenAI-service. Als u toegang wilt aanvragen, vult u dit formulier in. Als u hulp nodig hebt, opent u een probleem op deze opslagplaats om contact op te nemen met Microsoft.

Instellingen

Sleutel en eindpunt ophalen

Als u azure OpenAI wilt aanroepen, hebt u een eindpunt en een sleutel nodig.

Naam van de variabele Waarde
ENDPOINT Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt ook de waarde vinden in de codeweergave van Azure OpenAI Studio>Playground>. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/.
API-KEY Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken.

Ga naar uw resource in Azure Portal. De sectie Sleutels en eindpunt vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1 of KEY2 gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.

Schermopname van de overzichtsgebruikersinterface voor een Azure OpenAI-resource in Azure Portal met het eindpunt en de locatie van toegangssleutels die rood zijn omcirkeld.

Omgevingsvariabelen

Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Een nieuwe Java-toepassing maken

Maak een nieuw Gradle-project.

Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor de app, en navigeer naar deze map.

mkdir myapp && cd myapp

Voer de opdracht gradle init uit vanuit uw werkmap. Met deze opdracht maakt u essentiële buildbestanden voor Gradle, inclusief build.gradle.kts, dat tijdens runtime wordt gebruikt om de toepassing te maken en te configureren.

gradle init --type basic

Wanneer u wordt gevraagd om een DSL te kiezen, selecteert u Kotlin.

De Java SDK installeren

Deze quickstart maakt gebruik van de Gradle-afhankelijkheidsmanager. U vindt de clientbibliotheek en informatie voor andere afhankelijkheidsbeheerders in de Maven Central Repository.

Zoek build.gradle.kts en open het met uw favoriete IDE of teksteditor. Kopieer het vervolgens in de volgende buildconfiguratie. Deze configuratie definieert het project als een Java-toepassing waarvan het toegangspunt de klasse OpenAIQuickstart is. De Azure AI Vision-bibliotheek wordt geïmporteerd.

plugins {
    java
    application
}
application { 
    mainClass.set("OpenAIQuickstart")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.azure", name = "azure-ai-openai", version = "1.0.0-beta.3")
    implementation("org.slf4j:slf4j-simple:1.7.9")
}

Afbeeldingen genereren met DALL-E

  1. Maak een Java-bestand.

    Voer de volgende opdracht uit vanuit uw werkmap om een projectbronmap te maken:

    mkdir -p src/main/java
    

    Navigeer naar de nieuwe map en maak een bestand met de naam OpenAIQuickstart.java.

  2. Open OpenAIQuickstart.java in de gewenste editor of IDE en plak de volgende code.

    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;
    
    /**
     * Sample demonstrates how to get the images for a given prompt.
     */
    public class OpenAIQuickstart {
    
        /**
         * Runs the sample algorithm and demonstrates how to get the images for a given prompt.
         *
         * @param args Unused. Arguments to the program.
         */
        public static void main(String[] args) throws InterruptedException {
    
            // Get key and endpoint from environment variables:
            String azureOpenaiKey = System.getenv("AZURE_OPENAI_API_KEY");
            String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT");
    
            OpenAIAsyncClient client = new OpenAIClientBuilder()
                .endpoint(endpoint)
                .credential(new AzureKeyCredential(azureOpenaiKey))
                .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 is not a blocking call. For the purpose of this example, we sleep
            // the thread so the program does not end before the send operation is complete. Using .block() instead of
            // .subscribe() will turn this into a synchronous call.
            TimeUnit.SECONDS.sleep(10);
        }
    }
    
  3. Ga terug naar de hoofdmap van het project en bouw de app met:

    gradle build
    

    Voer het vervolgens uit met de gradle run opdracht:

    gradle run
    

Uitvoer

De URL van de gegenereerde afbeelding wordt afgedrukt naar de console.

Image location URL that provides temporary access to download the generated image is https://dalleproduse.blob.core.windows.net/private/images/d2ea917f-8802-4ad6-8ef6-3fb7a15c8482/generated_00.png?se=2023-08-25T23%3A11%3A28Z&sig=%2BKa5Mkb9U88DfvxoBpyAjamYRzwb7aVCEucM6XJC3wQ%3D&ske=2023-08-31T15%3A27%3A47Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-24T15%3A27%3A47Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02.
Completed getImages.

Notitie

De API's voor het genereren van afbeeldingen worden geleverd met een con tentmodus rationfilter. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen gegenereerde afbeelding geretourneerd. Zie het artikel over het inhoudsfilter voor meer informatie.

Resources opschonen

Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.

Volgende stappen

Gebruik deze handleiding om aan de slag te gaan met het genereren van installatiekopieën met de Azure OpenAI SDK voor JavaScript.

Voorbeelden van broncodepakket | voor bibliotheken (npm) |

Vereisten

Notitie

Op dit moment moet u een toepassing indienen om toegang te krijgen tot de Azure OpenAI-service. Als u toegang wilt aanvragen, vult u dit formulier in. Als u hulp nodig hebt, opent u een probleem op deze opslagplaats om contact op te nemen met Microsoft.

Instellingen

Sleutel en eindpunt ophalen

Als u azure OpenAI wilt aanroepen, hebt u een eindpunt en een sleutel nodig.

Naam van de variabele Waarde
ENDPOINT Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt ook de waarde vinden in de codeweergave van Azure OpenAI Studio>Playground>. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/.
API-KEY Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken.

Ga naar uw resource in Azure Portal. De sectie Sleutels en eindpunt vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1 of KEY2 gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.

Schermopname van de overzichtsgebruikersinterface voor een Azure OpenAI-resource in Azure Portal met het eindpunt en de locatie van toegangssleutels die rood zijn omcirkeld.

Omgevingsvariabelen

Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Een Node-toepassing maken

Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor de app, en navigeer naar deze map. Voer vervolgens de npm init opdracht uit om een knooppunttoepassing te maken met een package.json-bestand .

npm init

De clientbibliotheek installeren

Installeer de Azure OpenAI-clientbibliotheek voor JavaScript met npm:

npm install @azure/openai

Het package.json-bestand van uw app wordt bijgewerkt met de afhankelijkheden.

Afbeeldingen genereren met DALL-E

Maak een nieuw bestand met de naam ImageGeneration.js en open het in de code-editor van uw voorkeur. Kopieer de volgende code naar het ImageGeneration.js-bestand :

const { OpenAIClient, AzureKeyCredential } = require("@azure/openai");

// You will need to set these environment variables or edit the following values
const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] ;
const azureApiKey = process.env["AZURE_OPENAI_API_KEY"] ;

// The prompt to generate images from
const prompt = "a monkey eating a banana";
const size = "256x256";

// The number of images to generate
const n = 2;

async function main() {
    console.log("== Batch Image Generation ==");
  
    const client = new OpenAIClient(endpoint, new AzureKeyCredential(azureApiKey));
    const deploymentName = "dall-e";
    const results = await client.getImages(deploymentName, prompt, { n, size });
  
    for (const image of results.data) {
      console.log(`Image generation result URL: ${image.url}`);
    }
    //console.log(`Image generation result URL: ${results.result.status}`);
}

main().catch((err) => {
console.error("The sample encountered an error:", err);
});

Voer het script uit met de volgende opdracht:

node _ImageGeneration.js

Uitvoer

De URL van de gegenereerde afbeelding wordt afgedrukt naar de console.

== Batch Image Generation ==
Image generation result URL: https://dalleproduse.blob.core.windows.net/private/images/5e7536a9-a0b5-4260-8769-2d54106f2913/generated_00.png?se=2023-08-29T19%3A12%3A57Z&sig=655GkWajOZ9ALjFykZF%2FBMZRPQALRhf4UPDImWCQoGI%3D&ske=2023-09-02T18%3A53%3A23Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-26T18%3A53%3A23Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02
Image generation result URL: https://dalleproduse.blob.core.windows.net/private/images/5e7536a9-a0b5-4260-8769-2d54106f2913/generated_01.png?se=2023-08-29T19%3A12%3A57Z&sig=B24ymPLSZ3HfG23uojOD9VlRFGxjvgcNmvFo4yPUbEc%3D&ske=2023-09-02T18%3A53%3A23Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-26T18%3A53%3A23Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02

Notitie

De API's voor het genereren van afbeeldingen worden geleverd met een con tentmodus rationfilter. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen gegenereerde afbeelding geretourneerd. Zie het artikel over het inhoudsfilter voor meer informatie.

Resources opschonen

Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource verwijderen. Voordat u de resource verwijdert, moet u eerst geïmplementeerde modellen verwijderen.

Volgende stappen

Gebruik deze handleiding om aan de slag te gaan met het genereren van installatiekopieën met de Azure OpenAI SDK voor Go.

Broncode van de bibliotheek | Pakket | Voorbeelden

Vereisten

  • Een Azure-abonnement - Een gratis abonnement maken
  • Toegang verleend aan DALL-E in het gewenste Azure-abonnement Momenteel wordt toegang tot deze service alleen verleend door de toepassing. U kunt toegang tot Azure OpenAI aanvragen door het formulier in te vullen op https://aka.ms/oai/access. Bestaande Azure OpenAI-klanten moeten het formulier opnieuw invoeren om toegang te krijgen tot DALL-E. Open een probleem op deze opslagplaats om contact met ons op te stellen als u een probleem hebt.

Notitie

Op dit moment moet u een toepassing indienen om toegang te krijgen tot de Azure OpenAI-service. Als u toegang wilt aanvragen, vult u dit formulier in. Als u hulp nodig hebt, opent u een probleem op deze opslagplaats om contact op te nemen met Microsoft.

Instellingen

Sleutel en eindpunt ophalen

Als u azure OpenAI wilt aanroepen, hebt u een eindpunt en een sleutel nodig.

Naam van de variabele Waarde
ENDPOINT Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt ook de waarde vinden in de codeweergave van Azure OpenAI Studio>Playground>. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/.
API-KEY Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken.

Ga naar uw resource in Azure Portal. De sectie Sleutels en eindpunt vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1 of KEY2 gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.

Schermopname van de overzichtsgebruikersinterface voor een Azure OpenAI-resource in Azure Portal met het eindpunt en de locatie van toegangssleutels die rood zijn omcirkeld.

Omgevingsvariabelen

Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Een nieuwe Go-toepassing maken

Open de opdrachtprompt en navigeer naar de projectmap. Maak een nieuw bestand sample.go.

De Go SDK installeren

Installeer de OpenAI Go SDK met behulp van de volgende opdracht:

go get github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai@latest

Of, als u gebruikt dep, binnen uw opslagplaats:

dep ensure -add github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai

Afbeeldingen genereren met DALL-E

Open sample.go in de code-editor van uw voorkeur.

Voeg de volgende code toe aan uw script:

package main

import (
	"context"
	"fmt"
	"net/http"
	"os"

	"github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai"
	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
)

func main() {
	azureOpenAIKey := os.Getenv("AZURE_OPENAI_API_KEY")

	// Ex: "https://<your-azure-openai-host>.openai.azure.com"
	azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")

	if azureOpenAIKey == "" || azureOpenAIEndpoint == "" {
		fmt.Fprintf(os.Stderr, "Skipping example, environment variables missing\n")
		return
	}

	keyCredential, err := azopenai.NewKeyCredential(azureOpenAIKey)

	if err != nil {
		// handle error
	}

	client, err := azopenai.NewClientWithKeyCredential(azureOpenAIEndpoint, keyCredential, nil)

	if err != nil {
		// handle error
	}

	resp, err := client.CreateImage(context.TODO(), azopenai.ImageGenerationOptions{
		Prompt:         to.Ptr("a painting of a cat in the style of Dali"),
		ResponseFormat: to.Ptr(azopenai.ImageGenerationResponseFormatURL),
	}, nil)

	if err != nil {
		// handle error
	}

	for _, generatedImage := range resp.Data {
		// the underlying type for the generatedImage is dictated by the value of
		// ImageGenerationOptions.ResponseFormat. In this example we used `azopenai.ImageGenerationResponseFormatURL`,
		// so the underlying type will be ImageLocation.

		resp, err := http.Head(*generatedImage.URL)

		if err != nil {
			// handle error
		}

		fmt.Fprintf(os.Stderr, "Image generated, HEAD request on URL returned %d\nImage URL: %s\n", resp.StatusCode, *generatedImage.URL)
	}
}

Voer het script uit met behulp van de go run opdracht:

go run sample.go

Uitvoer

De URL van de gegenereerde afbeelding wordt afgedrukt naar de console.

Image generated, HEAD request on URL returned 200
Image URL: https://dalleproduse.blob.core.windows.net/private/images/d7b28a5c-ca32-4792-8c2a-6a5d8d8e5e45/generated_00.png?se=2023-08-29T17%3A05%3A37Z&sig=loqntaPypYVr9VTT5vpbsjsCz31g1GsdoQi0smbGkks%3D&ske=2023-09-02T18%3A53%3A23Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-26T18%3A53%3A23Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02

Notitie

De API's voor het genereren van afbeeldingen worden geleverd met een con tentmodus rationfilter. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen gegenereerde afbeelding geretourneerd. Zie het artikel over het inhoudsfilter voor meer informatie.

Resources opschonen

Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.

Volgende stappen

Gebruik deze handleiding om aan de slag te gaan met het aanroepen van api's voor het genereren van installatiekopieën van de Azure OpenAI-service met behulp van PowerShell.

Notitie

Met de API voor het genereren van afbeeldingen wordt een afbeelding gemaakt op basis van een tekstprompt. Bestaande afbeeldingen worden niet bewerkt of er worden variaties gemaakt.

Vereisten

Notitie

Op dit moment moet u een toepassing indienen om toegang te krijgen tot de Azure OpenAI-service. Als u toegang wilt aanvragen, vult u dit formulier in. Als u hulp nodig hebt, opent u een probleem op deze opslagplaats om contact op te nemen met Microsoft.

Sleutel en eindpunt ophalen

Als u de Azure OpenAI-API's wilt aanroepen, hebt u de volgende informatie nodig over uw Azure OpenAI-resource:

Variabel Naam Weergegeven als
Eindpunt api_base De eindpuntwaarde bevindt zich onder Sleutels en Eindpunt voor uw resource in Azure Portal. U kunt de waarde ook vinden in Azure OpenAI Studio>Playground>Codeweergave. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/.
Code api_key De sleutelwaarde bevindt zich ook onder Sleutels en Eindpunt voor uw resource in Azure Portal. Azure genereert twee sleutels voor uw resource. U kunt beide waarden gebruiken.

Ga naar uw resource in Azure Portal. Selecteer sleutels en eindpunt in het navigatiedeelvenster onder Resourcebeheer. Kopieer de eindpuntwaarde en een toegangssleutelwaarde. U kunt de waarde KEY 1 of KEY 2 gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.

Schermopname van de pagina Sleutels en eindpunt voor een Azure OpenAI-resource in Azure Portal.

Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.

Omgevingsvariabelen

$Env:AZURE_OPENAI_API_KEY = 'YOUR_KEY_VALUE'
$Env:AZURE_OPENAI_ENDPOINT = 'YOUR_ENDPOINT'

Een nieuw PowerShell-script maken

  1. Maak een nieuw PowerShell-bestand met de naam quickstart.ps1. Open het nieuwe bestand in de gewenste editor of IDE.

  2. Vervang de inhoud van quickstart.ps1 door de volgende code. Voer uw eindpunt-URL en -sleutel in de juiste velden in. Wijzig de waarde van prompt de gewenste tekst.

    # Azure OpenAI metadata variables
    $openai = @{
      api_key     = $Env:AZURE_OPENAI_API_KEY
      api_base    = $Env:AZURE_OPENAI_ENDPOINT # your endpoint should look like the following https://YOUR_RESOURCE_NAME.openai.azure.com/
      api_version = '2023-06-01-preview' # this may change in the future
    }
    
    # Text to describe image
    $prompt = 'A painting of a dog'
    
    # Header for authentication
    $headers = [ordered]@{
      'api-key' = $openai.api_key
    }
    
    # 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_path
    

    Belangrijk

    Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Het PowerShell-geheimbeheer met Azure Key Vault. Zie het artikel over beveiliging van Azure AI-services voor meer informatie over referentiebeveiliging.

  3. Voer het script uit met behulp van PowerShell:

    ./quickstart.ps1
    

    Het script wordt herhaald totdat de gegenereerde installatiekopieën gereed zijn.

Uitvoer

PowerShell vraagt de installatiekopieën van Azure OpenAI aan en slaat de uitvoerafbeelding op in het generated_image.png-bestand in de opgegeven map. Voor het gemak wordt het volledige pad voor het bestand geretourneerd aan het einde van het script.

De API's voor het genereren van afbeeldingen worden geleverd met een con tentmodus rationfilter. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen afbeelding gegenereerd. Zie Inhoudsfiltering voor meer informatie.

Resources opschonen

Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.

Volgende stappen

  • Verken de API's voor het genereren van afbeeldingen in meer detail met de handleiding DALL-E.