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
- Subskrypcja Azure. Utwórz je bezpłatnie.
- Zasób usługi Azure OpenAI utworzony w obsługiwanym regionie. Zobacz Dostępność regionów.
- Następnie należy wdrożyć
dalle3
model przy użyciu zasobu platformy Azure. Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą usługi Azure OpenAI.
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.
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
- Subskrypcja Azure. Utwórz je bezpłatnie.
- Środowisko Python w wersji 3.8 lub nowszej.
- Zainstalowane następujące biblioteki języka Python:
os
,requests
,json
. - Zasób usługi Azure OpenAI utworzony w obsługiwanym regionie. Zobacz Dostępność regionów.
- Następnie należy wdrożyć
dalle3
model przy użyciu zasobu platformy Azure. Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą usługi Azure OpenAI.
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.
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.
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.
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 contentFilter
wartość . 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
- Subskrypcja Azure. Utwórz je bezpłatnie.
- Środowisko Python w wersji 3.8 lub nowszej.
- Zasób usługi Azure OpenAI utworzony w zgodnym regionie. Zobacz Dostępność regionów.
- Następnie należy wdrożyć
dalle3
model przy użyciu zasobu platformy Azure. Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą usługi Azure OpenAI.
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.
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()
- Wprowadź adres URL i klucz punktu końcowego w odpowiednich polach.
- Zmień wartość
prompt
na preferowany tekst. - 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
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Zestaw .NET 7 SDK
- Zasób usługi Azure OpenAI utworzony w obsługiwanym regionie (zobacz Dostępność regionów). Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą usługi Azure OpenAI.
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.
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
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Bieżąca wersja zestawu Java Development Kit (JDK)
- Narzędzie kompilacji narzędzia Gradle lub inny menedżer zależności.
- Zasób usługi Azure OpenAI utworzony w obsługiwanym regionie (zobacz Dostępność regionów). Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą usługi Azure OpenAI.
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.
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
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.
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); } }
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
- 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
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Wersje LTS Node.js
- Interfejs wiersza polecenia platformy Azure używany do uwierzytelniania bez hasła w lokalnym środowisku projektowym, utwórz niezbędny kontekst, logując się przy użyciu interfejsu wiersza polecenia platformy Azure.
- Zasób usługi Azure OpenAI utworzony w obsługiwanym regionie (zobacz Dostępność regionów). Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą usługi Azure OpenAI.
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.
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
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Wersje LTS Node.js
- TypeScript
- Interfejs wiersza polecenia platformy Azure używany do uwierzytelniania bez hasła w lokalnym środowisku projektowym, utwórz niezbędny kontekst, logując się przy użyciu interfejsu wiersza polecenia platformy Azure.
- Zasób usługi Azure OpenAI utworzony w obsługiwanym regionie (zobacz Dostępność regionów). Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą usługi Azure OpenAI.
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.
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);
});
Skompiluj aplikację za pomocą następującego polecenia:
tsc
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
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Go 1.8+
- Zasób usługi Azure OpenAI utworzony w obsługiwanym regionie (zobacz Dostępność regionów). Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą usługi Azure OpenAI.
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.
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
- Subskrypcja platformy Azure. Utwórz je bezpłatnie.
- W tym zadaniu zalecana jest najnowsza wersja programu PowerShell 7, ponieważ w przykładach są używane nowe funkcje niedostępne w programie Windows PowerShell 5.1.
- Zasób usługi Azure OpenAI utworzony w obsługiwanym regionie (zobacz Dostępność regionów). Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą usługi Azure OpenAI.
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.
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
Utwórz nowy plik programu PowerShell o nazwie quickstart.ps1. Otwórz nowy plik w preferowanym edytorze lub środowisku IDE.
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.
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.