Dela via


Snabbstart: Generera avbildningar med Azure OpenAI Service

Kommentar

API:et för bildgenerering skapar en bild från en textprompt. Den redigerar eller skapar inte variationer från befintliga avbildningar.

Använd den här guiden för att komma igång med att generera avbildningar med Azure OpenAI i webbläsaren med Azure AI Foundry.

Förutsättningar

Gå till Azure AI Foundry

Bläddra till Azure AI Foundry och logga in med de autentiseringsuppgifter som är associerade med din Azure OpenAI-resurs. Under eller efter inloggningsarbetsflödet väljer du lämplig katalog, Azure-prenumeration och Azure OpenAI-resurs.

På landningssidan för Azure AI Foundry skapar eller väljer du ett nytt projekt. Gå till sidan Modeller + slutpunkter i det vänstra navigeringsfältet . Välj Distribuera modell och välj sedan en av DALL-E-modellerna i listan. Slutför distributionsprocessen.

På modellens sida väljer du Öppna på lekplatsen.

Prova bildgenerering

Börja utforska Azure OpenAI-funktioner med en metod utan kod via images playground. Ange din bildprompt i textrutan och välj Generera. När den AI-genererade avbildningen är klar visas den på sidan.

Kommentar

API:erna för bildgenerering levereras med ett filter för moderering av innehåll. Om Azure OpenAI identifierar din fråga som skadligt innehåll returnerar den inte en genererad avbildning. Mer information finns i Innehållsfiltrering.

I Images playground kan du också visa Python- och cURL-kodexempel, som är förfyllda enligt dina inställningar. Välj Visa kod längst upp på sidan. Du kan använda den här koden för att skriva ett program som slutför samma uppgift.

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Nästa steg

  • Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
  • Prova exempel på GitHub-lagringsplatsen Azure OpenAI-exempel.
  • Se API-referensen

Använd den här guiden för att komma igång med att anropa REST API:er för Azure OpenAI-tjänstens avbildningsgenerering med hjälp av Python.

Förutsättningar

Inställning

Hämta nyckel och slutpunkt

Om du vill anropa Azure OpenAI-API:erna behöver du följande information om din Azure OpenAI-resurs:

Variabel Name Värde
Slutpunkt api_base Slutpunktsvärdet finns under Nycklar och slutpunkt för resursen i Azure Portal. Du hittar även slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/.
Nyckel api_key Nyckelvärdet finns också under Nycklar och slutpunkt för resursen i Azure Portal. Azure genererar två nycklar för din resurs. Du kan använda något av värdena.

Gå till resursen i Azure Portal. I navigeringsfönstret väljer du Nycklar och slutpunkt under Resurshantering. Kopiera slutpunktsvärdet och ett åtkomstnyckelvärde. Du kan använda antingen värdet KEY 1 eller KEY 2 . Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.

Skärmbild som visar sidan Nycklar och slutpunkt för en Azure OpenAI-resurs i Azure Portal.

Miljövariabler

Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.

Viktigt!

Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.

Använd API-nycklar med försiktighet. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt. Om du använder API-nycklar lagrar du dem säkert i Azure Key Vault, roterar nycklarna regelbundet och begränsar åtkomsten till Azure Key Vault med hjälp av rollbaserad åtkomstkontroll och begränsningar för nätverksåtkomst. Mer information om hur du använder API-nycklar på ett säkert sätt i dina appar finns i API-nycklar med Azure Key Vault.

Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Skapa ett nytt Python-program

Skapa en ny Python-fil med namnet quickstart.py. Öppna den nya filen i önskad redigerare eller IDE.

  1. Ersätt innehållet i quickstart.py med följande kod. Ändra värdet på prompt till önskad text.

    Du måste också ersätta <dalle3> i URL:en med det distributionsnamn som du valde när du distribuerade DALL-E 3-modellen. Om du anger modellnamnet uppstår ett fel om du inte väljer ett distributionsnamn som är identiskt med det underliggande modellnamnet. Om du stöter på ett fel kontrollerar du att du inte har en fördubbling av / vid separationen mellan slutpunkten och /openai/deployments.

    import requests
    import time
    import os
    api_base = os.environ['AZURE_OPENAI_ENDPOINT']  # Enter your endpoint here
    api_key = os.environ['AZURE_OPENAI_API_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)
    

    Skriptet gör ett synkront API-anrop för bildgenerering.

    Viktigt!

    Kom ihåg att ta bort nyckeln från koden när du är klar och publicera aldrig nyckeln offentligt. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter. Mer information finns i Azure Key Vault.

  2. Kör programmet med python kommandot :

    python quickstart.py
    

    Vänta en stund för att få svaret.

Utdat

Utdata från ett API-anrop för lyckad bildgenerering ser ut som i följande exempel. Fältet url innehåller en URL där du kan ladda ned den genererade avbildningen. URL:en förblir aktiv i 24 timmar.

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

API:erna för bildgenerering kommer med ett innehållsmoderationsfilter. Om tjänsten känner igen din fråga som skadligt innehåll genereras ingen bild. Mer information finns i Innehållsfiltrering. Exempel på felsvar finns i instruktioner för DALL-E.

Systemet returnerar en åtgärdsstatus för Failed och error.code värdet i meddelandet är inställt på contentFilter. Här är ett exempel:

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

Det är också möjligt att den genererade avbildningen filtreras. I det här fallet är felmeddelandet inställt på Generated image was filtered as a result of our safety system.. Här är ett exempel:

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

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Nästa steg

  • Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
  • Prova exempel på GitHub-lagringsplatsen Azure OpenAI-exempel.
  • Se API-referensen

Använd den här guiden för att komma igång med att generera avbildningar med Azure OpenAI SDK för Python.

Bibliotekskällkod | Paket | Exempel

Förutsättningar

Uppställning

Hämta nyckel och slutpunkt

Om du vill anropa Azure OpenAI-API:erna behöver du följande information om din Azure OpenAI-resurs:

Variabel Name Värde
Slutpunkt api_base Slutpunktsvärdet finns under Nycklar och slutpunkt för resursen i Azure Portal. Du hittar även slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/.
Nyckel api_key Nyckelvärdet finns också under Nycklar och slutpunkt för resursen i Azure Portal. Azure genererar två nycklar för din resurs. Du kan använda något av värdena.

Gå till resursen i Azure Portal. I navigeringsfönstret väljer du Nycklar och slutpunkt under Resurshantering. Kopiera slutpunktsvärdet och ett åtkomstnyckelvärde. Du kan använda antingen värdet KEY 1 eller KEY 2 . Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.

Skärmbild som visar sidan Nycklar och slutpunkt för en Azure OpenAI-resurs i Azure Portal.

Miljövariabler

Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.

Viktigt!

Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.

Använd API-nycklar med försiktighet. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt. Om du använder API-nycklar lagrar du dem säkert i Azure Key Vault, roterar nycklarna regelbundet och begränsar åtkomsten till Azure Key Vault med hjälp av rollbaserad åtkomstkontroll och begränsningar för nätverksåtkomst. Mer information om hur du använder API-nycklar på ett säkert sätt i dina appar finns i API-nycklar med Azure Key Vault.

Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Installera Python SDK

Öppna en kommandotolk och bläddra till projektmappen. Installera OpenAI Python SDK med hjälp av följande kommando:

pip install openai

Installera även följande bibliotek:

pip install requests
pip install pillow 

Generera avbildningar med DALL-E

Skapa en ny Python-fil, quickstart.py. Öppna den i önskad redigerare eller IDE.

Ersätt innehållet i quickstart.py med följande kod.

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. Ange din slutpunkts-URL och nyckel i lämpliga fält.
  2. Ändra värdet prompt till önskad text.
  3. Ändra värdet på model till namnet på din driftsatta DALL-E 3-modell.

Viktigt!

Kom ihåg att ta bort nyckeln från koden när du är klar och publicera aldrig nyckeln offentligt. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter. Mer information finns i Azure Key Vault.

Kör programmet med python kommandot :

python quickstart.py

Vänta en stund för att få svaret.

Utdata

Azure OpenAI lagrar utdatabilden i den generated_image.png filen i den angivna katalogen. Skriptet visar även bilden i standardvisningsprogrammet.

API:er för bildgenerering levereras med ett innehållsmoderationsfilter. Om tjänsten identifierar din förfrågan som skadligt innehåll genereras ingen bild. Mer information finns i Innehållsfiltrering.

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Nästa steg

  • Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
  • Prova exempel på GitHub-lagringsplatsen Azure OpenAI-exempel.
  • Se API-referensen

Använd den här guiden för att komma igång med att generera avbildningar med Azure OpenAI SDK för C#.

Bibliotekets källkod | Paket (NuGet) | Exempel

Förutsättningar

Krav för Microsoft Entra-ID

För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:

  • Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
  • Cognitive Services User Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

Ställ in

  1. Skapa en ny mapp vision-quickstart och gå till snabbstartsmappen med följande kommando:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Skapa ett nytt konsolprogram med följande kommando:

    dotnet new console
    
  3. Installera OpenAI .NET-klientbiblioteket med kommandot dotnet add package:

    dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
    
  4. För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID installerar du Azure.Identity-paketet med:

    dotnet add package Azure.Identity
    
  5. För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID loggar du in på Azure med följande kommando:

    az login
    

Hämta resursinformation

Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal.
OPENAI_API_VERSION Läs mer om API-versioner.

Du kan ändra versionen i koden eller använda en miljövariabel.

Läs mer om nyckellös autentisering och inställning av miljövariabler.

Kör snabbstarten

Exempelkoden i den här snabbstarten använder Microsoft Entra-ID för rekommenderad nyckellös autentisering. Om du föredrar att använda en API-nyckel kan du ersätta DefaultAzureCredential-objektet med ett AzureKeyCredential objekt.

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

Följ dessa steg för att köra snabbstarten:

  1. Ersätt innehållet i Program.cs med följande kod och uppdatera platshållarvärdena med dina egna.

    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. Kör programmet med hjälp av dotnet run kommandot eller körningsknappen överst i Visual Studio:

    dotnet run
    

Utdata

URL:en för den genererade avbildningen skrivs ut till konsolen.

<SAS URL>

Kommentar

API:erna för bildgenerering levereras med ett innehållsmoderationsfilter. Om tjänsten identifierar din begäran som skadligt innehåll returnerar den inte en genererad avbildning. Mer information finns i artikeln om innehållsfilter .

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.

Nästa steg

  • Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
  • Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples.

Använd den här guiden för att komma igång med att generera avbildningar med Azure OpenAI SDK för Java.

Bibliotekskällkod | Artifact (Maven) | Exempel

Förutsättningar

Krav för Microsoft Entra-ID

För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:

  • Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
  • Cognitive Services User Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

Ställ in

  1. Skapa en ny mapp vision-quickstart och gå till snabbstartsmappen med följande kommando:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Installera Apache Maven. Kör mvn -v sedan för att bekräfta att installationen har slutförts.

  3. Skapa en ny pom.xml fil i roten av projektet och kopiera följande kod till den:

    <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. Installera Azure OpenAI SDK och beroenden.

    mvn clean dependency:copy-dependencies
    
  5. För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID loggar du in på Azure med följande kommando:

    az login
    

Hämta resursinformation

Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal.
OPENAI_API_VERSION Läs mer om API-versioner.

Du kan ändra versionen i koden eller använda en miljövariabel.

Läs mer om nyckellös autentisering och inställning av miljövariabler.

Kör appen

Exempelkoden i den här snabbstarten använder Microsoft Entra-ID för rekommenderad nyckellös autentisering. Om du föredrar att använda en API-nyckel kan du ersätta DefaultAzureCredential-objektet med ett AzureKeyCredential objekt.

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

Följ de här stegen för att skapa ett konsolprogram för taligenkänning.

  1. Skapa en ny fil med namnet Quickstart.java i samma projektrotkatalog.

  2. Kopiera följande kod till 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. Kör det nya konsolprogrammet för att generera en avbildning:

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

Utdata

URL:en för den genererade avbildningen skrivs ut till konsolen.

Image location URL that provides temporary access to download the generated image is <SAS URL>.
Completed getImages.

Anteckning

API:erna för bildgenerering levereras med ett innehållsmoderationsfilter. Om tjänsten identifierar din uppmaning som skadligt innehåll returnerar den inte en genererad bild. Mer information finns i artikeln om innehållsfilter .

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.

Nästa steg

Använd den här guiden för att komma igång med att generera bilder med Azure OpenAI SDK för JavaScript.

Referensdokumentation | Källkod | Paket (npm) | Exempel

Förutsättningar

Krav för Microsoft Entra-ID

För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:

  • Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
  • Cognitive Services User Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

Ställ in

  1. Skapa en ny mapp image-quickstart och gå till snabbstartsmappen med följande kommando:

    mkdir image-quickstart && cd image-quickstart
    
  2. Skapa package.json med följande kommando:

    npm init -y
    
  3. Installera OpenAI-klientbiblioteket för JavaScript med:

    npm install openai
    
  4. För den rekommenderade lösenordslösa autentiseringen:

    npm install @azure/identity
    

Hämta resursinformation

Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal.
OPENAI_API_VERSION Läs mer om API-versioner.

Du kan ändra versionen i koden eller använda en miljövariabel.

Läs mer om nyckellös autentisering och inställning av miljövariabler.

Varning

Om du vill använda den rekommenderade nyckellösa autentiseringen med SDK:t kontrollerar du att AZURE_OPENAI_API_KEY miljövariabeln inte har angetts.

Generera avbildningar med DALL-E

  1. index.js Skapa filen med följande kod:

    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. Logga in på Azure med följande kommando:

    az login
    
  3. Kör JavaScript-filen.

    node index.js
    

Output

URL:en för den genererade avbildningen skrivs ut till konsolen.

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

Kommentar

API:erna för bildgenerering levereras med ett innehållsmoderationsfilter. Om tjänsten känner igen din uppmaning som skadligt innehåll, kommer tjänsten inte att returnera en genererad bild. Mer information finns i artikeln om innehållsfilter .

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.

Nästa steg

  • Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
  • Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples.

Använd den här guiden för att komma igång med att generera bilder med Azure OpenAI SDK för JavaScript.

Referensdokumentation | Källkod | Paket (npm) | Exempel

Förutsättningar

Krav för Microsoft Entra-ID

För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:

  • Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
  • Cognitive Services User Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

Ställ in

  1. Skapa en ny mapp image-quickstart och gå till snabbstartsmappen med följande kommando:

    mkdir image-quickstart && cd image-quickstart
    
  2. Skapa package.json med följande kommando:

    npm init -y
    
  3. package.json Uppdatera till ECMAScript med följande kommando:

    npm pkg set type=module
    
  4. Installera OpenAI-klientbiblioteket för JavaScript med:

    npm install openai
    
  5. För den rekommenderade lösenordslösa autentiseringen:

    npm install @azure/identity
    

Hämta resursinformation

Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal.
OPENAI_API_VERSION Läs mer om API-versioner.

Du kan ändra versionen i koden eller använda en miljövariabel.

Läs mer om nyckellös autentisering och inställning av miljövariabler.

Varning

Om du vill använda den rekommenderade nyckellösa autentiseringen med SDK:t kontrollerar du att AZURE_OPENAI_API_KEY miljövariabeln inte har angetts.

Generera avbildningar med DALL-E

  1. index.ts Skapa filen med följande kod:

    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. tsconfig.json Skapa filen för att transpilera TypeScript-koden och kopiera följande kod för 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. Transpilera från TypeScript till JavaScript.

    tsc
    
  4. Logga in på Azure med följande kommando:

    az login
    
  5. Kör koden med följande kommando:

    node index.js
    

Utdata

URL:en för den genererade avbildningen skrivs ut till konsolen.

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

Anteckning

API:erna för bildskapande levereras med ett innehållsmodereringsfilter. Om tjänsten identifierar din anmodan som skadligt innehåll kommer den inte att returnera en genererad bild. Mer information finns i artikeln om innehållsfilter .

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.

Nästa steg

  • Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
  • Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples.

Använd den här guiden för att komma igång med att generera avbildningar med Azure OpenAI SDK för Go.

Bibliotekskällkod | Paket | Exempel

Förutsättningar

Krav för Microsoft Entra-ID

För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:

  • Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
  • Cognitive Services User Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

Ställ in

  1. Skapa en ny mapp dall-e-quickstart och gå till snabbstartsmappen med följande kommando:

    mkdir dall-e-quickstart && cd dall-e-quickstart
    
  2. För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID loggar du in på Azure med följande kommando:

    az login
    

Hämta resursinformation

Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal.
OPENAI_API_VERSION Läs mer om API-versioner.

Du kan ändra versionen i koden eller använda en miljövariabel.

Läs mer om nyckellös autentisering och inställning av miljövariabler.

Kör snabbstarten

Exempelkoden i den här snabbstarten använder Microsoft Entra-ID för rekommenderad nyckellös autentisering. Om du föredrar att använda en API-nyckel kan du ersätta NewDefaultAzureCredential-implementeringen med NewKeyCredential.

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

Så här kör du exemplet:

  1. Skapa en ny fil med namnet quickstart.go. Kopiera följande kod till filen 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. Kör följande kommando för att skapa en ny Go-modul:

     go mod init quickstart.go
    
  3. Kör go mod tidy för att installera nödvändiga beroenden:

    go mod tidy
    
  4. Kör följande kommando för att köra exemplet:

     go run quickstart.go
    

Utsignal

URL:en för den genererade avbildningen skrivs ut till konsolen.

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

Kommentar

API:erna för bildgenerering levereras med ett innehållsmoderationsfilter. Om tjänsten känner igen din fråga som skadligt innehåll returnerar den inte en genererad bild. Mer information finns i artikeln om innehållsfilter .

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Nästa steg

  • Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
  • Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples.

Använd den här guiden för att komma igång med att anropa Api:er för Azure OpenAI Service-avbildningsgenerering med PowerShell.

Förutsättningar

Krav för Microsoft Entra-ID

För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:

  • Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
  • Cognitive Services User Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

Hämta resursinformation

Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal.
OPENAI_API_VERSION Läs mer om API-versioner.

Du kan ändra versionen i koden eller använda en miljövariabel.

Läs mer om nyckellös autentisering och inställning av miljövariabler.

Generera avbildningar

  1. För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID loggar du in på Azure med följande kommando:

    az login
    
  2. Skapa en ny PowerShell-fil med namnet quickstart.ps1. Öppna den sedan i önskad redigerare eller IDE.

  3. Ersätt innehållet i quickstart.ps1 med följande kod. Ange din slutpunkts-URL och nyckel i lämpliga fält. Ändra värdet på prompt till din önskade text.

     # 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
    

    Viktigt!

    För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som PowerShell Secret Management med Azure Key Vault. Mer information om säkerhet för autentiseringsuppgifter finns i artikeln om Säkerhet för Azure AI-tjänster.

  4. Kör skriptet med PowerShell:

    ./quickstart.ps1
    

    Skriptet loopar tills den genererade avbildningen är klar.

Output

PowerShell begär avbildningen från Azure OpenAI och lagrar utdatabilden i den generated_image.png filen i den angivna katalogen. För enkelhetens skull returneras den fullständiga sökvägen för filen i slutet av skriptet.

API:erna för bildgenerering levereras med ett innehållsmoderering-filter. Om tjänsten identifierar din fråga som skadligt innehåll genereras ingen bild. Mer information finns i Innehållsfiltrering.

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Nästa steg

  • Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
  • Prova exempel på GitHub-lagringsplatsen Azure OpenAI-exempel.