Udostępnij za pośrednictwem


Szybki start: generowanie obrazów za pomocą usługi Azure OpenAI Service

Uwaga

Interfejs API generowania obrazu tworzy obraz na podstawie monitu tekstowego. Nie powoduje edycji ani tworzenia odmian na podstawie istniejących obrazów.

Skorzystaj z tego przewodnika, aby rozpocząć generowanie obrazów za pomocą usługi Azure OpenAI w przeglądarce.

Wymagania wstępne

Przejdź do usługi Azure OpenAI Studio

Przejdź do usługi Azure OpenAI Studio i zaloguj się przy użyciu poświadczeń skojarzonych z zasobem usługi Azure OpenAI. Podczas lub po przepływie pracy logowania wybierz odpowiedni katalog, subskrypcję platformy Azure i zasób usługi Azure OpenAI.

Na stronie docelowej usługi Azure OpenAI Studio wybierz pozycję Obrazy plac zabaw , aby użyć interfejsów API generowania obrazów. Wybierz pozycję Ustawienia w górnej części strony i upewnij się, że na liście rozwijanej Wdrożenie wybrano wdrożenie DALL-E 3.

Testowanie generowania obrazów

Zacznij eksplorować możliwości usługi Azure OpenAI przy użyciu podejścia bez kodu za pośrednictwem placu zabaw Obrazy. Wprowadź monit o obraz w polu tekstowym i wybierz pozycję Generuj. Gdy obraz wygenerowany przez sztuczną inteligencję jest gotowy, zostanie wyświetlony na stronie.

Uwaga

Interfejsy API generowania obrazów mają filtr con tryb namiotu ration. Jeśli usługa Azure OpenAI rozpoznaje monit jako szkodliwą zawartość, nie zwraca wygenerowanego obrazu. Aby uzyskać więcej informacji, zobacz Filtrowanie zawartości.

Zrzut ekranu przedstawiający stronę docelową usługi Azure OpenAI Studio przedstawiającą plac zabaw DALL-E (wersja zapoznawcza) z wygenerowanymi obrazami niedźwiedzi polarnych.

Na placu zabaw Dla obrazów można również wyświetlić przykłady kodu python i cURL, które są wstępnie wypełnione zgodnie z ustawieniami. Wybierz pozycję Wyświetl kod w górnej części strony. Możesz użyć tego kodu, aby napisać aplikację, która wykonuje to samo zadanie.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

  • Zapoznaj się z interfejsami API generowania obrazów w bardziej szczegółowy sposób, aby zapoznać się z przewodnikiem daLL-E.
  • Wypróbuj przykłady w repozytorium GitHub przykładów usługi Azure OpenAI.
  • Zobacz dokumentację interfejsu API

Skorzystaj z tego przewodnika, aby rozpocząć wywoływanie interfejsów API REST generowania obrazów usługi Azure OpenAI przy użyciu języka Python.

Wymagania wstępne

Ustawienia

Pobieranie klucza i punktu końcowego

Aby pomyślnie wywołać interfejsy API usługi Azure OpenAI, potrzebne są następujące informacje dotyczące zasobu usługi Azure OpenAI:

Zmienna Nazwa/nazwisko Wartość
Punkt końcowy api_base Wartość punktu końcowego znajduje się w obszarze Klucze i punkt końcowy zasobu w witrynie Azure Portal. Punkt końcowy można również znaleźć na stronie Wdrożenia w usłudze Azure AI Studio. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
Klawisz api_key Wartość klucza znajduje się również w obszarze Klucze i punkt końcowy zasobu w witrynie Azure Portal. Platforma Azure generuje dwa klucze dla zasobu. Możesz użyć jednej z tych wartości.

Przejdź do zasobu w witrynie Azure Portal. W okienku nawigacji wybierz pozycję Klucze i punkt końcowy w obszarze Zarządzanie zasobami. Skopiuj wartość Punkt końcowy i wartość klucza dostępu. Możesz użyć wartości KLUCZ 1 lub KLUCZ 2 . Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający stronę Klucze i punkt końcowy zasobu usługi Azure OpenAI w witrynie Azure Portal.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Tworzenie nowej aplikacji w języku Python

Utwórz nowy plik w języku Python o nazwie quickstart.py. Otwórz nowy plik w preferowanym edytorze lub środowisku IDE.

  1. Zastąp zawartość quickstart.py poniższym kodem. Zmień wartość prompt na preferowany tekst.

    Musisz również zastąpić <dalle3> w adresie URL nazwą wdrożenia wybraną podczas wdrażania modelu DALL-E 3. Wprowadzenie nazwy modelu spowoduje błąd, chyba że wybrano nazwę wdrożenia identyczną z bazową nazwą modelu. Jeśli wystąpi błąd, sprawdź dwukrotnie, aby upewnić się, że nie masz podwojenia / wartości między punktem końcowym i /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)
    

    Skrypt tworzy synchroniczne wywołanie interfejsu API generowania obrazów.

    Ważne

    Pamiętaj, aby usunąć klucz z kodu po zakończeniu i nigdy nie publikować klucza publicznie. W środowisku produkcyjnym należy użyć bezpiecznego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu. Aby uzyskać więcej informacji, zobacz Azure Key Vault.

  2. Uruchom aplikację za python pomocą polecenia :

    python quickstart.py
    

    Poczekaj chwilę, aby uzyskać odpowiedź.

Wyjście

Dane wyjściowe z pomyślnego wywołania interfejsu API generowania obrazów wyglądają jak w poniższym przykładzie. Pole url zawiera adres URL, pod którym można pobrać wygenerowany obraz. Adres URL pozostaje aktywny przez 24 godziny.

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

Interfejsy API generowania obrazów mają filtr con tryb namiotu ration. Jeśli usługa rozpoznaje monit jako szkodliwą zawartość, nie generuje obrazu. Aby uzyskać więcej informacji, zobacz Filtrowanie zawartości. Przykłady odpowiedzi na błędy można znaleźć w przewodniku z instrukcjami języka DALL-E.

System zwraca stan operacji , Failed a error.code wartość w komunikacie jest ustawiona na contentFilterwartość . Oto przykład:

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

Możliwe jest również, że wygenerowany obraz jest filtrowany. W takim przypadku komunikat o błędzie jest ustawiony na Generated image was filtered as a result of our safety system.wartość . Oto przykład:

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

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

  • Zapoznaj się z interfejsami API generowania obrazów w bardziej szczegółowy sposób, aby zapoznać się z przewodnikiem daLL-E.
  • Wypróbuj przykłady w repozytorium GitHub przykładów usługi Azure OpenAI.
  • Zobacz dokumentację interfejsu API

Skorzystaj z tego przewodnika, aby rozpocząć generowanie obrazów za pomocą zestawu Azure OpenAI SDK dla języka Python.

Przykłady pakietów | kodu źródłowego | biblioteki

Wymagania wstępne

Ustawienia

Pobieranie klucza i punktu końcowego

Aby pomyślnie wywołać interfejsy API usługi Azure OpenAI, potrzebne są następujące informacje dotyczące zasobu usługi Azure OpenAI:

Zmienna Nazwa/nazwisko Wartość
Punkt końcowy api_base Wartość punktu końcowego znajduje się w obszarze Klucze i punkt końcowy zasobu w witrynie Azure Portal. Punkt końcowy można również znaleźć na stronie Wdrożenia w usłudze Azure AI Studio. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
Klawisz api_key Wartość klucza znajduje się również w obszarze Klucze i punkt końcowy zasobu w witrynie Azure Portal. Platforma Azure generuje dwa klucze dla zasobu. Możesz użyć jednej z tych wartości.

Przejdź do zasobu w witrynie Azure Portal. W okienku nawigacji wybierz pozycję Klucze i punkt końcowy w obszarze Zarządzanie zasobami. Skopiuj wartość Punkt końcowy i wartość klucza dostępu. Możesz użyć wartości KLUCZ 1 lub KLUCZ 2 . Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający stronę Klucze i punkt końcowy zasobu usługi Azure OpenAI w witrynie Azure Portal.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Instalowanie zestawu SDK języka Python

Otwórz wiersz polecenia i przejdź do folderu projektu. Zainstaluj zestaw SDK języka Python openAI przy użyciu następującego polecenia:

pip install openai

Zainstaluj również następujące biblioteki:

pip install requests
pip install pillow 

Generowanie obrazów przy użyciu języka DALL-E

Utwórz nowy plik python, quickstart.py. Otwórz go w preferowanym edytorze lub środowisku IDE.

Zastąp zawartość quickstart.py poniższym kodem.

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. Wprowadź adres URL i klucz punktu końcowego w odpowiednich polach.
  2. Zmień wartość prompt na preferowany tekst.
  3. Zmień wartość model na nazwę wdrożonego modelu DALL-E 3.

Ważne

Pamiętaj, aby usunąć klucz z kodu po zakończeniu i nigdy nie publikować klucza publicznie. W środowisku produkcyjnym należy użyć bezpiecznego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu. Aby uzyskać więcej informacji, zobacz Azure Key Vault.

Uruchom aplikację za python pomocą polecenia :

python quickstart.py

Poczekaj chwilę, aby uzyskać odpowiedź.

Wyjście

Usługa Azure OpenAI przechowuje obraz wyjściowy w pliku generated_image.png w określonym katalogu. Skrypt wyświetla również obraz w domyślnej przeglądarce obrazów.

Interfejsy API generowania obrazów mają filtr con tryb namiotu ration. Jeśli usługa rozpoznaje monit jako szkodliwą zawartość, nie generuje obrazu. Aby uzyskać więcej informacji, zobacz Filtrowanie zawartości.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

  • Zapoznaj się z interfejsami API generowania obrazów w bardziej szczegółowy sposób, aby zapoznać się z przewodnikiem daLL-E.
  • Wypróbuj przykłady w repozytorium GitHub przykładów usługi Azure OpenAI.
  • Zobacz dokumentację interfejsu API

Skorzystaj z tego przewodnika, aby rozpocząć generowanie obrazów za pomocą zestawu Azure OpenAI SDK dla języka C#.

Przykłady pakietu kodu | źródłowego biblioteki (NuGet) | Samples

Wymagania wstępne

Ustawienia

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowego i klucza.

Nazwa zmiennej Wartość
ENDPOINT Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w usłudze Azure AI Studio. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Sekcję Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Tworzenie nowej aplikacji .NET Core

W oknie konsoli (takim jak cmd, PowerShell lub Bash) użyj dotnet new polecenia , aby utworzyć nową aplikację konsolową o nazwie azure-openai-quickstart. To polecenie tworzy prosty projekt "Hello World" z pojedynczym plikiem źródłowym języka C#: Program.cs.

dotnet new console -n azure-openai-quickstart

Zmień katalog na nowo utworzony folder aplikacji. Aplikację można skompilować za pomocą następujących funkcji:

dotnet build

Dane wyjściowe kompilacji nie powinny zawierać żadnych ostrzeżeń ani błędów.

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

Instalowanie zestawu SDK platformy .NET platformy OpenAI

Zainstaluj bibliotekę klienta za pomocą następujących funkcji:

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

Generowanie obrazów przy użyciu języka DALL-E

W katalogu projektu otwórz plik program.cs i zastąp zawartość następującym kodem:

using Azure;
using Azure.AI.OpenAI;
using OpenAI.Images;
using static System.Environment;

string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string key = GetEnvironmentVariable("AZURE_OPENAI_API_KEY");

AzureOpenAIClient azureClient = new(
    new Uri(endpoint),
    new AzureKeyCredential(key));

// This must match the custom deployment name you chose for your model
ImageClient chatClient = azureClient.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);

Skompiluj i uruchom aplikację z katalogu aplikacji przy użyciu następujących poleceń:

dotnet build
dotnet run

Wyjście

Adres URL wygenerowanego obrazu jest drukowany w konsoli programu .

https://dalleproduse.blob.core.windows.net/private/images/b7ac5e55-f1f8-497a-8d0e-8f51446bf538/generated_00.png?se=2024-07-12T13%3A47%3A56Z&sig=Zri37iYVTVtc52qzTFBOqPgSHvXwEhcO86Smv2ojB%2FE%3D&ske=2024-07-17T12%3A15%3A44Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2024-07-10T12%3A15%3A44Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02

Uwaga

Interfejsy API generowania obrazów mają filtr con tryb namiotu ration. Jeśli usługa rozpozna monit jako szkodliwą zawartość, nie zwróci wygenerowanego obrazu. Aby uzyskać więcej informacji, zobacz artykuł dotyczący filtru zawartości.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób. Przed usunięciem zasobu należy najpierw usunąć wszystkie wdrożone modele.

Następne kroki

  • Zapoznaj się z interfejsami API generowania obrazów w bardziej szczegółowy sposób, aby zapoznać się z przewodnikiem daLL-E.
  • Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub przykładów usługi Azure OpenAI.

Skorzystaj z tego przewodnika, aby rozpocząć generowanie obrazów za pomocą zestawu Azure OpenAI SDK dla języka Java.

Przykłady artefaktu kodu | źródłowego biblioteki (Maven)Samples |

Wymagania wstępne

Ustawienia

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowego i klucza.

Nazwa zmiennej Wartość
ENDPOINT Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w usłudze Azure AI Studio. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Sekcję Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Tworzenie nowej aplikacji Java

Utwórz nowy projekt Gradle.

W oknie konsoli (na przykład cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji i przejdź do niego.

mkdir myapp && cd myapp

gradle init Uruchom polecenie z katalogu roboczego. To polecenie spowoduje utworzenie podstawowych plików kompilacji dla narzędzia Gradle, w tym pliku build.gradle.kts, który jest używany w czasie wykonywania do tworzenia i konfigurowania aplikacji.

gradle init --type basic

Po wyświetleniu monitu wybierz pozycję Język DSL, a następnie Kotlin.

Instalowanie zestawu Java SDK

W tym przewodniku Szybki start jest używany menedżer zależności narzędzia Gradle. Bibliotekę klienta i informacje dotyczące innych menedżerów zależności można znaleźć w repozytorium centralnym programu Maven.

Znajdź plik build.gradle.kts i otwórz go przy użyciu preferowanego środowiska IDE lub edytora tekstów. Następnie skopiuj poniższą konfigurację kompilacji. Ta konfiguracja definiuje projekt jako aplikację Java, której punktem wejścia jest klasa OpenAIQuickstart. Importuje bibliotekę usługi 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")
}

Generowanie obrazów przy użyciu języka DALL-E

  1. Utwórz plik Java.

    W katalogu roboczym uruchom następujące polecenie, aby utworzyć folder źródłowy projektu:

    mkdir -p src/main/java
    

    Przejdź do nowego folderu i utwórz plik o nazwie OpenAIQuickstart.java.

  2. Otwórz OpenAIQuickstart.java w preferowanym edytorze lub środowisku IDE i wklej następujący kod.

    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. Wróć do folderu głównego projektu i skompiluj aplikację za pomocą polecenia:

    gradle build
    

    Następnie uruchom go za pomocą gradle run polecenia :

    gradle run
    

Wyjście

Adres URL wygenerowanego obrazu jest drukowany w konsoli programu .

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.

Uwaga

Interfejsy API generowania obrazów mają filtr con tryb namiotu ration. Jeśli usługa rozpozna monit jako szkodliwą zawartość, nie zwróci wygenerowanego obrazu. Aby uzyskać więcej informacji, zobacz artykuł dotyczący filtru zawartości.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób. Przed usunięciem zasobu należy najpierw usunąć wszystkie wdrożone modele.

Następne kroki

Skorzystaj z tego przewodnika, aby rozpocząć generowanie obrazów za pomocą zestawu Azure OpenAI SDK dla języka JavaScript.

Dokumentacja dokumentacji | źródłowej pakietu kodu | źródłowego (npm)Samples |

Wymagania wstępne

Ustawienia

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowego i klucza.

Nazwa zmiennej Wartość
ENDPOINT Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w usłudze Azure AI Studio. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Sekcję Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Tworzenie aplikacji Node

W oknie konsoli (na przykład cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji i przejdź do niego. Następnie uruchom polecenie , npm init aby utworzyć aplikację węzła z plikiem package.json .

npm init

Instalowanie biblioteki klienta

Zainstaluj biblioteki klienckie za pomocą następujących funkcji:

npm install openai @azure/identity

Plik package.json aplikacji zostanie zaktualizowany o zależności.

Generowanie obrazów przy użyciu języka DALL-E

Utwórz nowy plik o nazwie ImageGeneration.js i otwórz go w preferowanym edytorze kodu. Skopiuj następujący kod do pliku ImageGeneration.js :

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"];

// Required Azure OpenAI deployment name and API version
const apiVersion = "2024-07-01";
const deploymentName = "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);
});

Uruchom skrypt za pomocą następującego polecenia:

node ImageGeneration.js

Wyjście

Adres URL wygenerowanego obrazu jest drukowany w konsoli programu .

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

Uwaga

Interfejsy API generowania obrazów mają filtr con tryb namiotu ration. Jeśli usługa rozpozna monit jako szkodliwą zawartość, nie zwróci wygenerowanego obrazu. Aby uzyskać więcej informacji, zobacz artykuł dotyczący filtru zawartości.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób. Przed usunięciem zasobu należy najpierw usunąć wszystkie wdrożone modele.

Następne kroki

  • Zapoznaj się z interfejsami API generowania obrazów w bardziej szczegółowy sposób, aby zapoznać się z przewodnikiem daLL-E.
  • Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub przykładów usługi Azure OpenAI.

Skorzystaj z tego przewodnika, aby rozpocząć generowanie obrazów za pomocą zestawu Azure OpenAI SDK dla języka JavaScript.

Dokumentacja dokumentacji | źródłowej pakietu kodu | źródłowego (npm)Samples |

Wymagania wstępne

Ustawienia

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowego i klucza.

Nazwa zmiennej Wartość
ENDPOINT Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w usłudze Azure AI Studio. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Sekcję Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Tworzenie aplikacji Node

W oknie konsoli (na przykład cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji i przejdź do niego. Następnie uruchom polecenie , npm init aby utworzyć aplikację węzła z plikiem package.json .

npm init

Instalowanie biblioteki klienta

Zainstaluj biblioteki klienckie za pomocą następujących funkcji:

npm install openai @azure/identity

Plik package.json aplikacji zostanie zaktualizowany o zależności.

Generowanie obrazów przy użyciu języka DALL-E

Utwórz nowy plik o nazwie ImageGeneration.ts i otwórz go w preferowanym edytorze kodu. Skopiuj następujący kod do pliku ImageGeneration.ts :

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"];

// Required Azure OpenAI deployment name and API version
const apiVersion = "2024-07-01";
const deploymentName = "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);
});
  1. Skompiluj aplikację za pomocą następującego polecenia:

    tsc
    
  2. Uruchom aplikację za pomocą następującego polecenia:

    node ImageGeneration.js
    

Wyjście

Adres URL wygenerowanego obrazu jest drukowany w konsoli programu .

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

Uwaga

Interfejsy API generowania obrazów mają filtr con tryb namiotu ration. Jeśli usługa rozpozna monit jako szkodliwą zawartość, nie zwróci wygenerowanego obrazu. Aby uzyskać więcej informacji, zobacz artykuł dotyczący filtru zawartości.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób. Przed usunięciem zasobu należy najpierw usunąć wszystkie wdrożone modele.

Następne kroki

  • Zapoznaj się z interfejsami API generowania obrazów w bardziej szczegółowy sposób, aby zapoznać się z przewodnikiem daLL-E.
  • Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub przykładów usługi Azure OpenAI.

Skorzystaj z tego przewodnika, aby rozpocząć generowanie obrazów za pomocą zestawu Azure OpenAI SDK dla języka Go.

Przykłady pakietów | kodu źródłowego | biblioteki

Wymagania wstępne

Ustawienia

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowego i klucza.

Nazwa zmiennej Wartość
ENDPOINT Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w usłudze Azure AI Studio. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Sekcję Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Tworzenie nowej aplikacji języka Go

Otwórz wiersz polecenia i przejdź do folderu projektu. Utwórz nowy plik sample.go.

Instalowanie zestawu SDK języka Go

Zainstaluj zestaw OPENAI Go SDK przy użyciu następującego polecenia:

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

Lub, jeśli używasz polecenia dep, w repozytorium uruchom polecenie:

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

Generowanie obrazów przy użyciu języka DALL-E

Otwórz plik sample.go w preferowanym edytorze kodu.

Dodaj następujący kod do skryptu:

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"
	"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 := azcore.NewKeyCredential(azureOpenAIKey)

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

	if err != nil {
		// handle error
	}

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

Uruchom skrypt przy użyciu go run polecenia :

go run sample.go

Wyjście

Adres URL wygenerowanego obrazu jest drukowany w konsoli programu .

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

Uwaga

Interfejsy API generowania obrazów mają filtr con tryb namiotu ration. Jeśli usługa rozpozna monit jako szkodliwą zawartość, nie zwróci wygenerowanego obrazu. Aby uzyskać więcej informacji, zobacz artykuł dotyczący filtru zawartości.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

  • Zapoznaj się z interfejsami API generowania obrazów w bardziej szczegółowy sposób, aby zapoznać się z przewodnikiem daLL-E.
  • Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub przykładów usługi Azure OpenAI.

Skorzystaj z tego przewodnika, aby rozpocząć wywoływanie interfejsów API generowania obrazów usługi Azure OpenAI za pomocą programu PowerShell.

Uwaga

Interfejs API generowania obrazu tworzy obraz na podstawie monitu tekstowego. Nie edytuje ani nie tworzy odmian istniejących obrazów.

Wymagania wstępne

Ustawienia

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowego i klucza.

Nazwa zmiennej Wartość
ENDPOINT Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w usłudze Azure AI Studio. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/.
API-KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Sekcję Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Generowanie obrazów przy użyciu języka DALL-E 2

  1. Utwórz nowy plik programu PowerShell o nazwie quickstart.ps1. Otwórz nowy plik w preferowanym edytorze lub środowisku IDE.

  2. Zastąp zawartość pliku quickstart.ps1 następującym kodem. Wprowadź adres URL i klucz punktu końcowego w odpowiednich polach. Zmień wartość prompt na preferowany tekst.

    # Azure OpenAI metadata variables
    $openai = @{
      api_key     = $Env:AZURE_OPENAI_API_KEY
      api_base    = $Env:AZURE_OPENAI_ENDPOINT # your endpoint should look like the following https://YOUR_RESOURCE_NAME.openai.azure.com/
      api_version = '2023-06-01-preview' # this may change in the future
    }
    
    # Text to describe image
    $prompt = 'A painting of a dog'
    
    # Header for authentication
    $headers = [ordered]@{
      'api-key' = $openai.api_key
    }
    
    # Adjust these values to fine-tune completions
    $body = [ordered]@{
       prompt = $prompt
       size   = '1024x1024'
       n      = 1
    } | ConvertTo-Json
    
     # Call the API to generate the image and retrieve the response
    $url = "$($openai.api_base)/openai/images/generations:submit?api-version=$($openai.api_version)"
    
    $submission = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json' -ResponseHeadersVariable submissionHeaders
    
     $operation_location = $submissionHeaders['operation-location'][0]
     $status = ''
     while ($status -ne 'succeeded') {
         Start-Sleep -Seconds 1
         $response = Invoke-RestMethod -Uri $operation_location -Headers $headers
         $status   = $response.status
     }
    
    # Set the directory for the stored image
    $image_dir = Join-Path -Path $pwd -ChildPath 'images'
    
    # If the directory doesn't exist, create it
    if (-not(Resolve-Path $image_dir -ErrorAction Ignore)) {
        New-Item -Path $image_dir -ItemType Directory
    }
    
    # Initialize the image path (note the filetype should be png)
    $image_path = Join-Path -Path $image_dir -ChildPath 'generated_image.png'
    
    # Retrieve the generated image
    $image_url = $response.result.data[0].url  # extract image URL from response
    $generated_image = Invoke-WebRequest -Uri $image_url -OutFile $image_path  # download the image
    return $image_path
    

    Ważne

    W środowisku produkcyjnym użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak Zarządzanie wpisami tajnymi programu PowerShell za pomocą usługi Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz artykuł Zabezpieczenia usług Azure AI.

  3. Uruchom skrypt przy użyciu programu PowerShell:

    ./quickstart.ps1
    

    Skrypt zapętla się do momentu, aż wygenerowany obraz będzie gotowy.

Wyjście

Program PowerShell żąda obrazu z usługi Azure OpenAI i przechowuje obraz wyjściowy w pliku generated_image.png w określonym katalogu. Dla wygody pełna ścieżka pliku jest zwracana na końcu skryptu.

Interfejsy API generowania obrazów mają filtr con tryb namiotu ration. Jeśli usługa rozpoznaje monit jako szkodliwą zawartość, nie generuje obrazu. Aby uzyskać więcej informacji, zobacz Filtrowanie zawartości.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następne kroki

  • Zapoznaj się z interfejsami API generowania obrazów w bardziej szczegółowy sposób, aby zapoznać się z przewodnikiem daLL-E.
  • Wypróbuj przykłady w repozytorium GitHub przykładów usługi Azure OpenAI.