Delen via


Quickstart: Afbeeldingen genereren met Azure OpenAI in Azure AI Foundry-modellen

Notitie

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

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

Vereisten

Ga naar Azure AI Foundry

Blader naar Azure AI Foundry 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.

Maak of selecteer een nieuw project op de landingspagina van Azure AI Foundry. Navigeer naar de pagina Modellen en eindpunten in het linkernavigatievenster. Selecteer Model implementeren en kies vervolgens een van de DALL-E-modellen in de lijst. Voltooi het implementatieproces.

Selecteer Openen in speeltuin op de pagina van het model.

Het genereren van installatiekopieën uitproberen

Begin met het verkennen van de mogelijkheden van Azure OpenAI met een no-code-benadering via de afbeeldingen-speeltuin. 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 afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. Als Azure OpenAI uw prompt herkent als schadelijke inhoud, wordt er geen gegenereerde installatiekopieën geretourneerd. Zie Inhoudsfiltering voor meer informatie.

In de speeltuin Afbeeldingen kunt u 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 voor Azure OpenAI in Azure AI Foundry Models voor beeldgeneratie met behulp van Python.

Vereisten

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 het eindpunt ook vinden via de pagina Implementaties in de Azure AI Foundry-portal. 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.

Omgevingsvariabelen

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

Belangrijk

We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.

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

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. Wijzig de waarde van prompt de gewenste tekst. Stel deployment ook in op de implementatienaam die u hebt gekozen bij het implementeren van het GPT-image-1-model.

    import os
    import requests
    import base64
    from PIL import Image
    from io import BytesIO
    
    # set environment variables
    endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    subscription_key = os.getenv("AZURE_OPENAI_API_KEY")
    
    deployment = "gpt-image-1" # the name of your GPT-image-1 deployment
    api_version = "2025-04-01-preview" # or later version
    
    def decode_and_save_image(b64_data, output_filename):
      image = Image.open(BytesIO(base64.b64decode(b64_data)))
      image.show()
      image.save(output_filename)
    
    def save_all_images_from_response(response_data, filename_prefix):
      for idx, item in enumerate(response_data['data']):
        b64_img = item['b64_json']
        filename = f"{filename_prefix}_{idx+1}.png"
        decode_and_save_image(b64_img, filename)
        print(f"Image saved to: '{filename}'")
    
    base_path = f'openai/deployments/{deployment}/images'
    params = f'?api-version={api_version}'
    
    generation_url = f"{endpoint}{base_path}/generations{params}"
    generation_body = {
      "prompt": "girl falling asleep",
      "n": 1,
      "size": "1024x1024",
      "quality": "medium",
      "output_format": "png"
    }
    generation_response = requests.post(
      generation_url,
      headers={
        'Api-Key': subscription_key,
        'Content-Type': 'application/json',
      },
      json=generation_body
    ).json()
    save_all_images_from_response(generation_response, "generated_image")
    
    # In addition to generating images, you can edit them.
    edit_url = f"{endpoint}{base_path}/edits{params}"
    edit_body = {
      "prompt": "girl falling asleep",
      "n": 1,
      "size": "1024x1024",
      "quality": "medium"
    }
    files = {
      "image": ("generated_image_1.png", open("generated_image_1.png", "rb"), "image/png"),
      # You can use a mask to specify which parts of the image you want to edit.
      # The mask must be the same size as the input image.
      # "mask": ("mask.png", open("mask.png", "rb"), "image/png"),
    }
    edit_response = requests.post(
      edit_url,
      headers={'Api-Key': subscription_key},
      data=edit_body,
      files=files
    ).json()
    save_all_images_from_response(edit_response, "edited_image")
    

    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 afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. Als de service uw prompt herkent als schadelijke inhoud, wordt er geen afbeelding gegenereerd. Zie Inhoudsfiltering voor meer informatie. Raadpleeg de handleiding voor afbeeldingengeneratie 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

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 het eindpunt ook vinden via de pagina Implementaties in de Azure AI Foundry-portal. 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.

Omgevingsvariabelen

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

Belangrijk

We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.

Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.

Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

De Python SDK installeren

Open een opdrachtprompt en blader naar de projectmap. 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

Maak een nieuw Python-bestand quickstart.py. Open deze in uw favoriete 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 afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. 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

Vereisten voor Microsoft Entra-id

Voor de aanbevolen sleutelloze verificatie met Microsoft Entra-id moet u het volgende doen:

  • Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra-id.
  • Wijs de Cognitive Services User rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in Azure Portal onder Toegangsbeheer (IAM)>Roltoewijzing toevoegen.

Inrichten

  1. Maak een nieuwe map vision-quickstart en ga naar de snelstartmap met de volgende opdracht:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Maak een nieuwe consoletoepassing met de volgende opdracht:

    dotnet new console
    
  3. Installeer de OpenAI .NET-clientbibliotheek met de opdracht dotnet add package :

    dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
    
  4. Voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID installeert u het Azure.Identity-pakket met:

    dotnet add package Azure.Identity
    
  5. Meld u met de volgende opdracht aan bij Azure voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID:

    az login
    

Resourcegegevens ophalen

U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:

Naam van de variabele Weergegeven als
AZURE_OPENAI_ENDPOINT Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management>Model Deployments in Azure Portal.
OPENAI_API_VERSION Meer informatie over API-versies.

U kunt de versie in code wijzigen of een omgevingsvariabele gebruiken.

Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.

De quickstart uitvoeren

De voorbeeldcode in deze quickstart maakt gebruik van Microsoft Entra-id voor de aanbevolen sleutelloze verificatie. Als u liever een API-sleutel gebruikt, kunt u het DefaultAzureCredential object vervangen door een AzureKeyCredential object.

AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 

Voer de volgende stappen uit om de quickstart uit te voeren:

  1. Vervang de inhoud van Program.cs door de volgende code en vervang de waarden van de tijdelijke aanduidingen met uw eigen waarden.

    using Azure;
    using Azure.AI.OpenAI;
    using OpenAI.Images;
    using static System.Environment;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/";
    string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>";
    
    // Use the recommended keyless credential instead of the AzureKeyCredential credential.
    AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 
    //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key));
    
    // This must match the custom deployment name you chose for your model
    ImageClient chatClient = openAIClient.GetImageClient("dalle-3");
    
    var imageGeneration = await chatClient.GenerateImageAsync(
            "a happy monkey sitting in a tree, in watercolor",
            new ImageGenerationOptions()
            {
                Size = GeneratedImageSize.W1024xH1024
            }
        );
    
    Console.WriteLine(imageGeneration.Value.ImageUri);
    
  2. Voer de toepassing uit met behulp van de dotnet run opdracht of de knop Uitvoeren bovenaan Visual Studio:

    dotnet run
    

Uitvoer

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

<SAS URL>

Notitie

De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. 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) |

Vereisten

Vereisten voor Microsoft Entra-id

Voor de aanbevolen sleutelloze verificatie met Microsoft Entra-id moet u het volgende doen:

  • Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra-id.
  • Wijs de Cognitive Services User rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in Azure Portal onder Toegangsbeheer (IAM)>Roltoewijzing toevoegen.

Inrichten

  1. Maak een nieuwe map vision-quickstart en ga naar de snelstartmap met de volgende opdracht:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Installeer Apache Maven. Voer vervolgens uit mvn -v om de installatie te bevestigen.

  3. Maak een nieuw pom.xml bestand in de hoofdmap van uw project en kopieer de volgende code erin:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
         <modelVersion>4.0.0</modelVersion>
         <groupId>com.azure.samples</groupId>
         <artifactId>quickstart-dall-e</artifactId>
         <version>1.0.0-SNAPSHOT</version>
         <build>
             <sourceDirectory>src</sourceDirectory>
             <plugins>
             <plugin>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>3.7.0</version>
                 <configuration>
                 <source>1.8</source>
                 <target>1.8</target>
                 </configuration>
             </plugin>
             </plugins>
         </build>
         <dependencies>    
             <dependency>
                 <groupId>com.azure</groupId>
                 <artifactId>azure-ai-openai</artifactId>
                 <version>1.0.0-beta.3</version>
             </dependency>
             <dependency>
                 <groupId>com.azure</groupId>
                 <artifactId>azure-core</artifactId>
                 <version>1.53.0</version>
             </dependency>
             <dependency>
                 <groupId>com.azure</groupId>
                 <artifactId>azure-identity</artifactId>
                 <version>1.15.1</version>
             </dependency>
             <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-simple</artifactId>
                 <version>1.7.9</version>
             </dependency>
         </dependencies>
     </project>
    
  4. Installeer de Azure OpenAI SDK en afhankelijkheden.

    mvn clean dependency:copy-dependencies
    
  5. Meld u met de volgende opdracht aan bij Azure voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID:

    az login
    

Resourcegegevens ophalen

U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:

Naam van de variabele Weergegeven als
AZURE_OPENAI_ENDPOINT Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management>Model Deployments in Azure Portal.
OPENAI_API_VERSION Meer informatie over API-versies.

U kunt de versie in code wijzigen of een omgevingsvariabele gebruiken.

Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.

De app uitvoeren

De voorbeeldcode in deze quickstart maakt gebruik van Microsoft Entra-id voor de aanbevolen sleutelloze verificatie. Als u liever een API-sleutel gebruikt, kunt u het DefaultAzureCredential object vervangen door een AzureKeyCredential object.

OpenAIAsyncClient client = new OpenAIClientBuilder()
    .endpoint(endpoint)
    .credential(new DefaultAzureCredentialBuilder().build())
    .buildAsyncClient();

Volg deze stappen om een consoletoepassing te maken voor spraakherkenning.

  1. Maak een nieuw bestand met de naam Quickstart.java in dezelfde hoofdmap van het project.

  2. Kopieer de volgende code naar Quickstart.java:

    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;
    
    public class Quickstart {
    
        public static void main(String[] args) throws InterruptedException {
    
            String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT");
    
            // Use the recommended keyless credential instead of the AzureKeyCredential credential.
    
            OpenAIAsyncClient client = new OpenAIClientBuilder()
                .endpoint(endpoint)
                .credential(new DefaultAzureCredentialBuilder().build())
                .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 isn't a blocking call.
            // The thread sleeps so the program does not end before the send operation is complete. 
            // Use .block() instead of .subscribe() for a synchronous call.
            TimeUnit.SECONDS.sleep(10);
        }
    }
    
  3. Voer uw nieuwe consoletoepassing uit om een afbeelding te genereren.

    javac Quickstart.java -cp ".;target\dependency\*"
    java -cp ".;target\dependency\*" Quickstart
    

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 <SAS URL>.
Completed getImages.

Notitie

De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. 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.

Vereisten

Vereisten voor Microsoft Entra-id

Voor de aanbevolen sleutelloze verificatie met Microsoft Entra-id moet u het volgende doen:

  • Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra-id.
  • Wijs de Cognitive Services User rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in Azure Portal onder Toegangsbeheer (IAM)>Roltoewijzing toevoegen.

Inrichten

  1. Maak een nieuwe map image-quickstart en ga naar de snelstartmap met de volgende opdracht:

    mkdir image-quickstart && cd image-quickstart
    
  2. Maak de package.json opdracht met de volgende opdracht:

    npm init -y
    
  3. Installeer de OpenAI-clientbibliotheek voor JavaScript met:

    npm install openai
    
  4. Voor de aanbevolen verificatie zonder wachtwoord:

    npm install @azure/identity
    

Resourcegegevens ophalen

U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:

Naam van de variabele Weergegeven als
AZURE_OPENAI_ENDPOINT Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management>Model Deployments in Azure Portal.
OPENAI_API_VERSION Meer informatie over API-versies.

U kunt de versie in code wijzigen of een omgevingsvariabele gebruiken.

Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.

Let op

Als u de aanbevolen sleutelloze verificatie met de SDK wilt gebruiken, moet u ervoor zorgen dat de AZURE_OPENAI_API_KEY omgevingsvariabele niet is ingesteld.

Afbeeldingen genereren met DALL-E

  1. Maak het index.js bestand met de volgende code:

    const { AzureOpenAI } = require("openai");
    const { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } = require("@azure/identity");
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "dall-e-3";
    
    // The prompt to generate images from
    const prompt = "a monkey eating a banana";
    const numberOfImagesToGenerate = 1;
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    async function main() {
      console.log("== Image Generation ==");
    
      const client = getClient();
    
      const results = await client.images.generate({
        prompt,
        size: "1024x1024",
        n: numberOfImagesToGenerate,
        model: "",
        style: "vivid", // or "natural"
      });
    
      for (const image of results.data) {
        console.log(`Image generation result URL: ${image.url}`);
      }
    }
    
    main().catch((err) => {
      console.error("The sample encountered an error:", err);
    });
    
  2. Meld u aan bij Azure met de volgende opdracht:

    az login
    
  3. Voer het JavaScript-bestand uit.

    node index.js
    

Uitvoer

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

== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>

Notitie

De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. 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.

Vereisten

Vereisten voor Microsoft Entra-id

Voor de aanbevolen sleutelloze verificatie met Microsoft Entra-id moet u het volgende doen:

  • Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra-id.
  • Wijs de Cognitive Services User rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in Azure Portal onder Toegangsbeheer (IAM)>Roltoewijzing toevoegen.

Inrichten

  1. Maak een nieuwe map image-quickstart en ga naar de snelstartmap met de volgende opdracht:

    mkdir image-quickstart && cd image-quickstart
    
  2. Maak de package.json opdracht met de volgende opdracht:

    npm init -y
    
  3. Werk de package.json bij naar ECMAScript met het volgende commando:

    npm pkg set type=module
    
  4. Installeer de OpenAI-clientbibliotheek voor JavaScript met:

    npm install openai
    
  5. Voor de aanbevolen verificatie zonder wachtwoord:

    npm install @azure/identity
    

Resourcegegevens ophalen

U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:

Naam van de variabele Weergegeven als
AZURE_OPENAI_ENDPOINT Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management>Model Deployments in Azure Portal.
OPENAI_API_VERSION Meer informatie over API-versies.

U kunt de versie in code wijzigen of een omgevingsvariabele gebruiken.

Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.

Let op

Als u de aanbevolen sleutelloze verificatie met de SDK wilt gebruiken, moet u ervoor zorgen dat de AZURE_OPENAI_API_KEY omgevingsvariabele niet is ingesteld.

Afbeeldingen genereren met DALL-E

  1. Maak het index.ts bestand met de volgende code:

    import { AzureOpenAI } from "openai";
    import { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } from "@azure/identity";
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "dall-e-3";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    async function main() {
      console.log("== Image Generation ==");
    
      const client = getClient();
    
      const results = await client.images.generate({
        prompt,
        size: "1024x1024",
        n: numberOfImagesToGenerate,
        model: "",
        style: "vivid", // or "natural"
      });
    
      for (const image of results.data) {
        console.log(`Image generation result URL: ${image.url}`);
      }
    }
    
    main().catch((err) => {
      console.error("The sample encountered an error:", err);
    });
    
  2. Maak het tsconfig.json bestand om de TypeScript-code te transpileren en kopieer de volgende code voor ECMAScript.

    {
        "compilerOptions": {
          "module": "NodeNext",
          "target": "ES2022", // Supports top-level await
          "moduleResolution": "NodeNext",
          "skipLibCheck": true, // Avoid type errors from node_modules
          "strict": true // Enable strict type-checking options
        },
        "include": ["*.ts"]
    }
    
  3. Transpile van TypeScript naar JavaScript.

    tsc
    
  4. Meld u aan bij Azure met de volgende opdracht:

    az login
    
  5. Voer de code uit met de volgende opdracht:

    node index.js
    

Uitvoer

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

== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>

Notitie

De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. 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

Vereisten voor Microsoft Entra-id

Voor de aanbevolen sleutelloze verificatie met Microsoft Entra-id moet u het volgende doen:

  • Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra-id.
  • Wijs de Cognitive Services User rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in Azure Portal onder Toegangsbeheer (IAM)>Roltoewijzing toevoegen.

Inrichten

  1. Maak een nieuwe map dall-e-quickstart en ga naar de snelstartmap met de volgende opdracht:

    mkdir dall-e-quickstart && cd dall-e-quickstart
    
  2. Meld u met de volgende opdracht aan bij Azure voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID:

    az login
    

Resourcegegevens ophalen

U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:

Naam van de variabele Weergegeven als
AZURE_OPENAI_ENDPOINT Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management>Model Deployments in Azure Portal.
OPENAI_API_VERSION Meer informatie over API-versies.

U kunt de versie in code wijzigen of een omgevingsvariabele gebruiken.

Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.

De quickstart uitvoeren

De voorbeeldcode in deze quickstart maakt gebruik van Microsoft Entra-id voor de aanbevolen sleutelloze verificatie. Als u liever een API-sleutel gebruikt, kunt u de NewDefaultAzureCredential implementatie vervangen door NewKeyCredential.

azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
credential, err := azidentity.NewDefaultAzureCredential(nil)
client, err := azopenai.NewClient(azureOpenAIEndpoint, credential, nil)

Het voorbeeld uitvoeren:

  1. Maak een nieuw bestand met de naam quickstart.go. Kopieer de volgende code naar het bestand quickstart.go .

     package main
    
    import (
    	"context"
    	"fmt"
    	"net/http"
    	"os"
    	"log"
    
    	"github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai"
    	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
    	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
    )
    
    func main() {
    	azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
    	modelDeploymentID := "dall-e-3"
    
    	credential, err := azidentity.NewDefaultAzureCredential(nil)
    	if err != nil {
    		log.Printf("ERROR: %s", err)
    		return
    	}
    
    	client, err := azopenai.NewClient(
    		azureOpenAIEndpoint, credential, nil)
    	if err != nil {
    		log.Printf("ERROR: %s", err)
    		return
    	}
    
    	resp, err := client.GetImageGenerations(context.TODO(), azopenai.ImageGenerationOptions{
    		Prompt:         to.Ptr("A painting of a cat in the style of Dali."),
    		ResponseFormat: to.Ptr(azopenai.ImageGenerationResponseFormatURL),
    		DeploymentName: to.Ptr(modelDeploymentID),
    	}, nil)
    
    	if err != nil {
    		// Implement application specific error handling logic.
    		log.Printf("ERROR: %s", err)
    		return
    	}
    
    	for _, generatedImage := range resp.Data {
    		// The underlying type for the generatedImage is determined by the value of
    		// ImageGenerationOptions.ResponseFormat. 
    		// In this example we use `azopenai.ImageGenerationResponseFormatURL`,
    		// so the underlying type will be ImageLocation.
    
    		resp, err := http.Head(*generatedImage.URL)
    
    		if err != nil {
    			// Implement application specific error handling logic.
    			log.Printf("ERROR: %s", err)
    			return
    		}
    
    		fmt.Fprintf(os.Stderr, "Image generated, HEAD request on URL returned %d\nImage URL: %s\n", resp.StatusCode, *generatedImage.URL)
    	}
    }
    
  2. Voer de volgende opdracht uit om een nieuwe Go-module te maken:

     go mod init quickstart.go
    
  3. Voer deze opdracht uit go mod tidy om de vereiste afhankelijkheden te installeren:

    go mod tidy
    
  4. Voer de volgende opdracht uit om het voorbeeld uit te voeren:

     go run quickstart.go
    

Uitvoer

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

Image generated, HEAD request on URL returned 200
Image URL: <SAS URL>

Notitie

De afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. 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 de API's voor afbeeldingsgeneratie van Azure OpenAI binnen Azure AI Foundry Models met PowerShell.

Vereisten

Vereisten voor Microsoft Entra-id

Voor de aanbevolen sleutelloze verificatie met Microsoft Entra-id moet u het volgende doen:

  • Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra-id.
  • Wijs de Cognitive Services User rol toe aan uw gebruikersaccount. U kunt rollen toewijzen in Azure Portal onder Toegangsbeheer (IAM)>Roltoewijzing toevoegen.

Resourcegegevens ophalen

U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:

Naam van de variabele Weergegeven als
AZURE_OPENAI_ENDPOINT Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management>Model Deployments in Azure Portal.
OPENAI_API_VERSION Meer informatie over API-versies.

U kunt de versie in code wijzigen of een omgevingsvariabele gebruiken.

Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.

Afbeeldingen genereren

  1. Meld u met de volgende opdracht aan bij Azure voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID:

    az login
    
  2. Maak een nieuw PowerShell-bestand met de naamquickstart.ps1. Open deze vervolgens in uw favoriete editor of IDE.

  3. 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_base    = $Env:AZURE_OPENAI_ENDPOINT 
         api_version = '2023-06-01-preview' # This can change in the future.
     }
    
     # Use the recommended keyless authentication via bearer token.
     $headers = [ordered]@{
         #'api-key' = $Env:AZURE_OPENAI_API_KEY
         'Authorization' = "Bearer $($Env:DEFAULT_AZURE_CREDENTIAL_TOKEN)"
     }
    
     # Text to describe image
     $prompt = 'A painting of a dog'
    
     # 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 dit beveiligingsartikel voor meer informatie over referentiebeveiliging.

  4. 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 afbeeldings-API's worden geleverd met een filter voor inhoudsbeheer. 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