Rychlý start: Generování imagí pomocí služby Azure OpenAI

Poznámka:

Rozhraní API pro generování obrázků vytvoří obrázek z textové výzvy. Neupravuje existující obrázky ani nevytvoří varianty.

V tomto průvodci můžete začít generovat image pomocí Azure OpenAI v prohlížeči.

Požadavky

Poznámka:

V současné době musíte odeslat aplikaci pro přístup ke službě Azure OpenAI. Pokud chcete požádat o přístup, vyplňte tento formulář. Pokud potřebujete pomoc, otevřete problém v tomto úložišti a obraťte se na Microsoft.

Přechod na Azure OpenAI Studio

Přejděte do Azure OpenAI Studia a přihlaste se pomocí přihlašovacích údajů přidružených k vašemu prostředku Azure OpenAI. Během nebo po přihlášení vyberte příslušný adresář, předplatné Azure a prostředek Azure OpenAI.

Na úvodní stránce Azure OpenAI Studia vyberte DALL· E playground (Preview) pro použití rozhraní API pro generování obrázků Vyberte Nastavení v horní části stránky a potvrďte, že je v rozevíracím seznamu Nasazení vybrané nasazení DALL-E 3.

Vyzkoušení generování imagí

Začněte zkoumat funkce Azure OpenAI s využitím přístupu bez kódu prostřednictvím DALL· E dětské hřiště (Preview). Do textového pole zadejte výzvu k zadání obrázku a vyberte Generovat. Až bude image generovaná AI připravená, zobrazí se na stránce.

Poznámka:

Rozhraní API pro generování obrázků mají filtr kon režim stanu ration. Pokud Azure OpenAI rozpozná vaši výzvu jako škodlivý obsah, nevrátí vygenerovaný obrázek. Další informace najdete v tématu Filtrování obsahu.

Snímek obrazovky s cílovou stránkou Azure OpenAI Studio zobrazující dětské hřiště DALL-E (Preview) s vygenerovanými obrázky ledních medvědů

V DALL· E playground (Preview), můžete si také prohlédnout ukázky kódu Pythonu a cURL, které jsou předem vyplněné podle vašeho nastavení. Vyberte Zobrazit kód v horní části stránky. Tento kód můžete použít k napsání aplikace, která dokončí stejnou úlohu.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Další kroky

  • Prozkoumejte rozhraní API pro generování imagí podrobněji pomocí průvodce postupy DALL-E.
  • Vyzkoušejte příklady v úložišti GitHub ukázek Azure OpenAI.
  • Viz referenční informace k rozhraní API

V této příručce můžete začít volat rozhraní REST API pro generování imagí služby Azure OpenAI pomocí Pythonu.

Požadavky

Poznámka:

V současné době musíte odeslat aplikaci pro přístup ke službě Azure OpenAI. Pokud chcete požádat o přístup, vyplňte tento formulář. Pokud potřebujete pomoc, otevřete problém v tomto úložišti a obraťte se na Microsoft.

Načtení klíče a koncového bodu

K úspěšnému volání rozhraní API Azure OpenAI potřebujete následující informace o prostředku Azure OpenAI:

Proměnná Jméno Hodnota
Endpoint api_base Hodnota koncového bodu se nachází v části Klíče a koncový bod vašeho prostředku na webu Azure Portal. Případně můžete tuto hodnotu najít v nabídce Azure OpenAI Studio>Hřiště>Zobrazení kódu. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
Klíč api_key Hodnota klíče se nachází také v části Klíče a koncový bod vašeho prostředku na webu Azure Portal. Azure vygeneruje dva klíče pro váš prostředek. Můžete použít kteroukoli hodnotu.

Na webu Azure Portal přejděte ke svému prostředku. V navigačním podokně vyberte v části Správa prostředků klíče a koncový bod. Zkopírujte hodnotu koncového bodu a hodnotu přístupového klíče. Můžete použít hodnotu KLÍČ 1 nebo KLÍČ 2 . Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky znázorňující stránku Klíče a koncový bod pro prostředek Azure OpenAI na webu Azure Portal

Vytvoření nové aplikace v Pythonu

Vytvořte nový soubor Pythonu s názvem quickstart.py. V preferovaném editoru nebo integrovaném vývojovém prostředí (IDE) otevřete nový soubor.

  1. Obsah quickstart.py nahraďte následujícím kódem. Do příslušných polí zadejte adresu URL a klíč koncového bodu. Změňte hodnotu prompt na upřednostňovaný text.

    V adrese URL je také nutné nahradit <dalle3> názvem nasazení, který jste zvolili při nasazení modelu DALL-E 3. Zadání názvu modelu způsobí chybu, pokud jste vybrali název nasazení, který je shodný s názvem základního modelu. Pokud dojde k chybě, poklikejte na to, abyste se ujistili, že nemáte zdvojnásobení intervalu / mezi koncovým bodem a /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)
    

    Skript vytvoří synchronní volání rozhraní API pro generování obrázků.

    Důležité

    Nezapomeňte klíč odebrat z kódu, až budete hotovi, a nikdy ho veřejně neposílejte. V produkčním prostředí použijte bezpečný způsob ukládání a přístupu k vašim přihlašovacím údajům. Další informace najdete v tématu Azure Key Vault.

  2. Spusťte aplikaci pomocí python příkazu:

    python quickstart.py
    

    Počkejte chvíli, než se odpověď zobrazí.

Výstup

Výstup z úspěšného volání rozhraní API pro generování imagí vypadá jako v následujícím příkladu. Pole url obsahuje adresu URL, kde si můžete stáhnout vygenerovaný obrázek. Adresa URL zůstane aktivní po dobu 24 hodin.

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

Rozhraní API pro generování obrázků mají filtr kon režim stanu ration. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevygeneruje obrázek. Další informace najdete v tématu Filtrování obsahu. Příklady chybových odpovědí najdete v průvodci postupy DALL-E.

Systém vrátí stav Failed operace a error.code hodnota ve zprávě je nastavena na contentFilter. Tady je příklad:

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

Je také možné, že se vygenerovaná image filtruje. V tomto případě je chybová zpráva nastavena na Generated image was filtered as a result of our safety system.. Tady je příklad:

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

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Další kroky

  • Prozkoumejte rozhraní API pro generování imagí podrobněji pomocí průvodce postupy DALL-E.
  • Vyzkoušejte příklady v úložišti GitHub ukázek Azure OpenAI.
  • Viz referenční informace k rozhraní API

Tento průvodce vám pomůže začít generovat image pomocí sady Azure OpenAI SDK pro Python.

Ukázky balíčků zdrojového | kódu knihovny |

Požadavky

Poznámka:

V současné době musíte odeslat aplikaci pro přístup ke službě Azure OpenAI. Pokud chcete požádat o přístup, vyplňte tento formulář. Pokud potřebujete pomoc, otevřete problém v tomto úložišti a obraťte se na Microsoft.

Nastavení

Načtení klíče a koncového bodu

K úspěšnému volání rozhraní API Azure OpenAI potřebujete následující informace o prostředku Azure OpenAI:

Proměnná Jméno Hodnota
Endpoint api_base Hodnota koncového bodu se nachází v části Klíče a koncový bod vašeho prostředku na webu Azure Portal. Případně můžete tuto hodnotu najít v nabídce Azure OpenAI Studio>Hřiště>Zobrazení kódu. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
Klíč api_key Hodnota klíče se nachází také v části Klíče a koncový bod vašeho prostředku na webu Azure Portal. Azure vygeneruje dva klíče pro váš prostředek. Můžete použít kteroukoli hodnotu.

Na webu Azure Portal přejděte ke svému prostředku. V navigačním podokně vyberte v části Správa prostředků klíče a koncový bod. Zkopírujte hodnotu koncového bodu a hodnotu přístupového klíče. Můžete použít hodnotu KLÍČ 1 nebo KLÍČ 2 . Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky znázorňující stránku Klíče a koncový bod pro prostředek Azure OpenAI na webu Azure Portal

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

Proměnné prostředí

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Vytvoření nové aplikace v Pythonu

Otevřete příkazový řádek a přejděte do složky projektu. Vytvořte nový soubor Pythonu quickstart.py.

Instalace sady Python SDK

Pomocí následujícího příkazu nainstalujte sadu OpenAI Python SDK:

pip install openai

Nainstalujte také následující knihovny:

pip install requests
pip install pillow 

Generování imagí pomocí DALL-E

V preferovaném editoru nebo integrovaném vývojovém prostředí otevřete _quickstart.py.

Obsah quickstart.py nahraďte následujícím kódem.

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. Do příslušných polí zadejte adresu URL a klíč koncového bodu.
  2. Změňte hodnotu prompt na upřednostňovaný text.
  3. Změňte hodnotu model na název nasazeného modelu DALL-E 3.

Důležité

Nezapomeňte klíč odebrat z kódu, až budete hotovi, a nikdy ho veřejně neposílejte. V produkčním prostředí použijte bezpečný způsob ukládání a přístupu k vašim přihlašovacím údajům. Další informace najdete v tématu Azure Key Vault.

Spusťte aplikaci pomocí python příkazu:

python quickstart.py

Počkejte chvíli, než se odpověď zobrazí.

Výstup

Azure OpenAI ukládá výstupní image do souboru generated_image.png ve vašem zadaném adresáři. Skript také zobrazí obrázek ve výchozím prohlížeči obrázků.

Rozhraní API pro generování obrázků mají filtr kon režim stanu ration. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevygeneruje obrázek. Další informace najdete v tématu Filtrování obsahu.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Další kroky

  • Prozkoumejte rozhraní API pro generování imagí podrobněji pomocí průvodce postupy DALL-E.
  • Vyzkoušejte příklady v úložišti GitHub ukázek Azure OpenAI.
  • Viz referenční informace k rozhraní API

V tomto průvodci můžete začít generovat image pomocí sady Azure OpenAI SDK pro jazyk C#.

Ukázky balíčku zdrojového kódu | knihovny (NuGet) |

Požadavky

Poznámka:

V současné době musíte odeslat aplikaci pro přístup ke službě Azure OpenAI. Pokud chcete požádat o přístup, vyplňte tento formulář. Pokud potřebujete pomoc, otevřete problém v tomto úložišti a obraťte se na Microsoft.

Nastavení

Načtení klíče a koncového bodu

K úspěšnému volání azure OpenAI potřebujete koncový bod a klíč.

Název proměnné Hodnota
ENDPOINT Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Případně můžete hodnotu najít v zobrazení kódu Azure OpenAI Studio>Playground>. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
API-KEY Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2.

Na webu Azure Portal přejděte ke svému prostředku. Oddíl Klíče a koncový bod najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1 nebo KEY2. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky s přehledovým uživatelským rozhraním pro prostředek Azure OpenAI na webu Azure Portal s červeným kruhem umístění koncového bodu a přístupových klíčů

Proměnné prostředí

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Vytvoření nové aplikace .NET Core

V okně konzoly (například cmd, PowerShell nebo Bash) pomocí dotnet new příkazu vytvořte novou konzolovou aplikaci s názvem azure-openai-quickstart. Tento příkaz vytvoří jednoduchý projekt Hello World s jedním zdrojovým souborem jazyka C#: Program.cs.

dotnet new console -n azure-openai-quickstart

Změňte adresář na nově vytvořenou složku aplikace. Aplikaci můžete sestavit pomocí následujících:

dotnet build

Výstup sestavení by neměl obsahovat žádná upozornění ani chyby.

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

Instalace sady OpenAI .NET SDK

Nainstalujte klientskou knihovnu pomocí:

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

Generování imagí pomocí DALL-E

V adresáři projektu otevřete soubor program.cs a nahraďte následujícím kódem:

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

Sestavte a spusťte aplikaci z adresáře aplikace pomocí těchto příkazů:

dotnet build
dotnet run

Výstup

Adresa URL vygenerovaného obrázku se vytiskne do konzoly.

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

Poznámka:

Rozhraní API pro generování obrázků mají filtr kon režim stanu ration. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevrátí vygenerovaný obrázek. Další informace najdete v článku filtru obsahu.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete prostředek odstranit. Před odstraněním prostředku musíte nejprve odstranit všechny nasazené modely.

Další kroky

  • Prozkoumejte rozhraní API pro generování imagí podrobněji pomocí průvodce postupy DALL-E.
  • Další příklady najdete v úložišti GitHub ukázek Azure OpenAI.

V tomto průvodci můžete začít generovat image pomocí sady Azure OpenAI SDK pro Javu.

Ukázky artefaktu zdrojového kódu | knihovny (Maven) |

Požadavky

  • Předplatné Azure – Vytvoření předplatného zdarma
  • Přístup udělený službě Azure OpenAI v požadovaném předplatném Azure V současné době je přístup k této službě udělován pouze aplikací. K přístupu ke službě Azure OpenAI můžete požádat vyplněním formuláře na adrese https://aka.ms/oai/access.

Poznámka:

V současné době musíte odeslat aplikaci pro přístup ke službě Azure OpenAI. Pokud chcete požádat o přístup, vyplňte tento formulář. Pokud potřebujete pomoc, otevřete problém v tomto úložišti a obraťte se na Microsoft.

Nastavení

Načtení klíče a koncového bodu

K úspěšnému volání azure OpenAI potřebujete koncový bod a klíč.

Název proměnné Hodnota
ENDPOINT Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Případně můžete hodnotu najít v zobrazení kódu Azure OpenAI Studio>Playground>. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
API-KEY Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2.

Na webu Azure Portal přejděte ke svému prostředku. Oddíl Klíče a koncový bod najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1 nebo KEY2. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky s přehledovým uživatelským rozhraním pro prostředek Azure OpenAI na webu Azure Portal s červeným kruhem umístění koncového bodu a přístupových klíčů

Proměnné prostředí

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Vytvoření nové aplikace v Javě

Vytvořte nový projekt Gradle.

V okně konzoly (například cmd, PowerShell nebo Bash) vytvořte pro vaši aplikaci nový adresář a přejděte do něj.

mkdir myapp && cd myapp

gradle init Spusťte příkaz z pracovního adresáře. Tento příkaz vytvoří základní soubory sestavení pro Gradle, včetně build.gradle.kts, které se používají za běhu k vytvoření a konfiguraci aplikace.

gradle init --type basic

Po zobrazení výzvy k výběru DSL vyberte Kotlin.

Instalace sady Java SDK

V tomto rychlém startu se používá správce závislostí Gradle. Klientskou knihovnu a informace pro další správce závislostí najdete v centrálním úložišti Maven.

Vyhledejte build.gradle.kts a otevřete ho pomocí preferovaného integrovaného vývojového prostředí (IDE) nebo textového editoru. Pak zkopírujte následující konfiguraci sestavení. Tato konfigurace definuje projekt jako aplikaci Java, jejíž vstupním bodem je třída OpenAIQuickstart. Naimportuje knihovnu Azure AI Vision.

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

Generování imagí pomocí DALL-E

  1. Vytvořte soubor Java.

    Spuštěním následujícího příkazu z pracovního adresáře vytvořte zdrojovou složku projektu:

    mkdir -p src/main/java
    

    Přejděte do nové složky a vytvořte soubor s názvem OpenAIQuickstart.java.

  2. Otevřete OpenAIQuickstart.java v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE) a vložte následující kód.

    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. Přejděte zpět do kořenové složky projektu a sestavte aplikaci pomocí:

    gradle build
    

    Pak ho spusťte pomocí gradle run příkazu:

    gradle run
    

Výstup

Adresa URL vygenerovaného obrázku se vytiskne do konzoly.

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.

Poznámka:

Rozhraní API pro generování obrázků mají filtr kon režim stanu ration. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevrátí vygenerovaný obrázek. Další informace najdete v článku filtru obsahu.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete prostředek odstranit. Před odstraněním prostředku musíte nejprve odstranit všechny nasazené modely.

Další kroky

Pomocí této příručky můžete začít generovat image pomocí sady Azure OpenAI SDK pro JavaScript.

Ukázky balíčku zdrojového kódu | knihovny (npm) |

Požadavky

Poznámka:

V současné době musíte odeslat aplikaci pro přístup ke službě Azure OpenAI. Pokud chcete požádat o přístup, vyplňte tento formulář. Pokud potřebujete pomoc, otevřete problém v tomto úložišti a obraťte se na Microsoft.

Nastavení

Načtení klíče a koncového bodu

K úspěšnému volání azure OpenAI potřebujete koncový bod a klíč.

Název proměnné Hodnota
ENDPOINT Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Případně můžete hodnotu najít v zobrazení kódu Azure OpenAI Studio>Playground>. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
API-KEY Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2.

Na webu Azure Portal přejděte ke svému prostředku. Oddíl Klíče a koncový bod najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1 nebo KEY2. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky s přehledovým uživatelským rozhraním pro prostředek Azure OpenAI na webu Azure Portal s červeným kruhem umístění koncového bodu a přístupových klíčů

Proměnné prostředí

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Vytvoření aplikace Node

V okně konzoly (například cmd, PowerShell nebo Bash) vytvořte pro vaši aplikaci nový adresář a přejděte do něj. Potom spuštěním npm init příkazu vytvořte aplikaci uzlu se souborem package.json .

npm init

Instalace klientské knihovny

Nainstalujte klientskou knihovnu Azure OpenAI pro JavaScript pomocí npm:

npm install @azure/openai

Soubor package.json vaší aplikace se aktualizuje o závislosti.

Generování imagí pomocí DALL-E

Vytvořte nový soubor s názvem ImageGeneration.js a otevřete ho v preferovaném editoru kódu. Do souboru ImageGeneration.js zkopírujte následující kód:

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

Spusťte skript pomocí následujícího příkazu:

node _ImageGeneration.js

Výstup

Adresa URL vygenerovaného obrázku se vytiskne do konzoly.

== 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

Poznámka:

Rozhraní API pro generování obrázků mají filtr kon režim stanu ration. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevrátí vygenerovaný obrázek. Další informace najdete v článku filtru obsahu.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete prostředek odstranit. Před odstraněním prostředku musíte nejprve odstranit všechny nasazené modely.

Další kroky

  • Prozkoumejte rozhraní API pro generování imagí podrobněji pomocí průvodce postupy DALL-E.
  • Další příklady najdete v úložišti GitHub ukázek Azure OpenAI.

Tento průvodce vám pomůže začít generovat image pomocí sady Azure OpenAI SDK for Go.

Ukázky balíčků zdrojového | kódu knihovny |

Požadavky

  • Předplatné Azure – Vytvoření předplatného zdarma
  • Přístup udělený dall-E v požadovaném předplatném Azure v současné době přístup k této službě uděluje pouze aplikace. Pokud chcete získat přístup k Azure OpenAI, vyplňte formulář na adrese https://aka.ms/oai/access. Stávající zákazníci Azure OpenAI musí formulář znovu vyplnit, aby získali přístup k DALL-E. Pokud máte problém, otevřete problém v tomto úložišti a kontaktujte nás.

Poznámka:

V současné době musíte odeslat aplikaci pro přístup ke službě Azure OpenAI. Pokud chcete požádat o přístup, vyplňte tento formulář. Pokud potřebujete pomoc, otevřete problém v tomto úložišti a obraťte se na Microsoft.

Nastavení

Načtení klíče a koncového bodu

K úspěšnému volání azure OpenAI potřebujete koncový bod a klíč.

Název proměnné Hodnota
ENDPOINT Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Případně můžete hodnotu najít v zobrazení kódu Azure OpenAI Studio>Playground>. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
API-KEY Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2.

Na webu Azure Portal přejděte ke svému prostředku. Oddíl Klíče a koncový bod najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1 nebo KEY2. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky s přehledovým uživatelským rozhraním pro prostředek Azure OpenAI na webu Azure Portal s červeným kruhem umístění koncového bodu a přístupových klíčů

Proměnné prostředí

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Vytvoření nové aplikace Go

Otevřete příkazový řádek a přejděte do složky projektu. Vytvořte nový soubor sample.go.

Instalace sady Go SDK

Pomocí následujícího příkazu nainstalujte sadu OpenAI Go SDK:

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

Nebo pokud použijete dep, spusťte v úložišti:

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

Generování imagí pomocí DALL-E

Otevřete sample.go v preferovaném editoru kódu.

Do skriptu přidejte následující kód:

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

Spusťte skript pomocí go run příkazu:

go run sample.go

Výstup

Adresa URL vygenerovaného obrázku se vytiskne do konzoly.

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

Poznámka:

Rozhraní API pro generování obrázků mají filtr kon režim stanu ration. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevrátí vygenerovaný obrázek. Další informace najdete v článku filtru obsahu.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Další kroky

  • Prozkoumejte rozhraní API pro generování imagí podrobněji pomocí průvodce postupy DALL-E.
  • Další příklady najdete v úložišti GitHub ukázek Azure OpenAI.

Pomocí tohoto průvodce můžete začít volat rozhraní API pro generování imagí služby Azure OpenAI pomocí PowerShellu.

Poznámka:

Rozhraní API pro generování obrázků vytvoří obrázek z textové výzvy. Neupravuje existující obrázky ani nevytvoří varianty.

Požadavky

  • Předplatné Azure. Vytvořte si ho zdarma.
  • Přístup udělený DALL-E v požadovaném předplatném Azure.
  • Pro tuto úlohu se doporučuje nejnovější verze PowerShellu 7, protože příklady používají nové funkce, které nejsou dostupné ve Windows PowerShellu 5.1.
  • Prostředek Azure OpenAI vytvořený v oblasti USA – východ. Další informace najdete v tématu Vytvoření prostředku a nasazení modelu pomocí Azure OpenAI.

Poznámka:

V současné době musíte odeslat aplikaci pro přístup ke službě Azure OpenAI. Pokud chcete požádat o přístup, vyplňte tento formulář. Pokud potřebujete pomoc, otevřete problém v tomto úložišti a obraťte se na Microsoft.

Načtení klíče a koncového bodu

K úspěšnému volání rozhraní API Azure OpenAI potřebujete následující informace o prostředku Azure OpenAI:

Proměnná Jméno Hodnota
Endpoint api_base Hodnota koncového bodu se nachází v části Klíče a koncový bod vašeho prostředku na webu Azure Portal. Případně můžete tuto hodnotu najít v nabídce Azure OpenAI Studio>Hřiště>Zobrazení kódu. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
Klíč api_key Hodnota klíče se nachází také v části Klíče a koncový bod vašeho prostředku na webu Azure Portal. Azure vygeneruje dva klíče pro váš prostředek. Můžete použít kteroukoli hodnotu.

Na webu Azure Portal přejděte ke svému prostředku. V navigačním podokně vyberte v části Správa prostředků klíče a koncový bod. Zkopírujte hodnotu koncového bodu a hodnotu přístupového klíče. Můžete použít hodnotu KLÍČ 1 nebo KLÍČ 2 . Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky znázorňující stránku Klíče a koncový bod pro prostředek Azure OpenAI na webu Azure Portal

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

Proměnné prostředí

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

Vytvoření nového skriptu PowerShellu

  1. Vytvořte nový soubor PowerShellu s názvem quickstart.ps1. V preferovaném editoru nebo integrovaném vývojovém prostředí (IDE) otevřete nový soubor.

  2. Obsah souboru quickstart.ps1 nahraďte následujícím kódem. Do příslušných polí zadejte adresu URL a klíč koncového bodu. Změňte hodnotu prompt na upřednostňovaný text.

    # 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
    

    Důležité

    V produkčním prostředí použijte zabezpečený způsob ukládání a přístupu k přihlašovacím údajům, jako je správa tajných kódů PowerShellu pomocí služby Azure Key Vault. Další informace o zabezpečení přihlašovacích údajů najdete v článku zabezpečení služeb Azure AI.

  3. Spusťte skript pomocí PowerShellu:

    ./quickstart.ps1
    

    Skript se smykne, dokud nebude vygenerovaná image připravená.

Výstup

PowerShell požádá o image z Azure OpenAI a uloží výstupní image do souboru generated_image.png ve vašem zadaném adresáři. Pro usnadnění je na konci skriptu vrácena úplná cesta k souboru.

Rozhraní API pro generování obrázků mají filtr kon režim stanu ration. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevygeneruje obrázek. Další informace najdete v tématu Filtrování obsahu.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Další kroky

  • Prozkoumejte rozhraní API pro generování imagí podrobněji pomocí průvodce postupy DALL-E.
  • Vyzkoušejte příklady v úložišti GitHub ukázek Azure OpenAI.