Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie diesen Leitfaden, um mit dem Generieren von Images mit Azure OpenAI in Ihrem Browser mit Azure KI Foundry zu beginnen.
Voraussetzungen
- Ein Azure-Abonnement. Erstellen Sie ein kostenloses Konto.
- Eine Azure OpenAI-Ressource, die in einer unterstützten Region erstellt wurde. Weitere Informationen finden Sie unter Regionale Verfügbarkeit. Weitere Informationen finden Sie unter Erstellen einer Ressource und Bereitstellen eines Modells mit Azure OpenAI.
Gehe zu Azure KI Foundry
Navigieren Sie zu Azure KI Foundry, und melden Sie sich mit den Anmeldeinformationen für Ihre Azure OpenAI-Ressource an. Wählen Sie während oder nach dem Anmeldeworkflow das passende Verzeichnis, Azure-Abonnement und die Azure OpenAI-Ressource aus.
Erstellen oder wählen Sie auf der Azure KI Foundry-Startseite ein neues Projekt aus. Navigieren Sie auf der linken Navigationsleiste zur Seite Modelle und Endpunkte. Wählen Sie Modell bereitstellen und dann eines der DALL-E-Modelle aus der Liste aus. Schließen Sie den Bereitstellungsprozess ab.
Wählen Sie auf der Seite des Modells Im Playground öffnen aus.
Testen der Imagegenerierung
Beginnen Sie mit der Erkundung der Azure OpenAI-Funktionen mit einem No-Code-Ansatz mithilfe des Images Playgrounds. Geben Sie ihre Imageeingabeaufforderung in das Textfeld ein, und wählen Sie Generieren aus. Wenn das von der KI generierte Bild bereit ist, wird es auf der Seite angezeigt.
Hinweis
Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn Azure OpenAI Ihren Prompt als schädlichen Inhalt erkennt, wird kein generiertes Bild zurückgegeben. Weitere Informationen dazu finden Sie unter Inhaltsfilterung.
Im Images Playground können Sie auch Python- und cURL-Codebeispiele anzeigen, die anhand Ihrer ausgewählten Einstellungen vorab eingefügt wurden. Wählen Sie Code anzeigen am oberen Rand der Seite aus. Sie können diesen Code verwenden, um eine Anwendung zu schreiben, die dieselbe Aufgabe erledigt.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.
Nächste Schritte
- Erkunden Sie die Image-APIs ausführlicher mit der Anleitung zur Image-API.
- Probieren Sie Beispiele im GitHub-Repository mit Azure OpenAI-Beispielen aus.
- Siehe die API-Referenz
Verwenden Sie dieses Handbuch, um mit dem Aufrufen von Azure OpenAI in Azure AI Foundry Models Image Generation REST-APIs mithilfe von Python zu beginnen.
Voraussetzungen
- Ein Azure-Abonnement. Erstellen Sie ein kostenloses Konto.
- Python 3.8 oder eine höhere Version
- Die folgenden installierte Python-Bibliotheken:
os
,requests
,json
. - Eine Azure OpenAI-Ressource, die in einer unterstützten Region erstellt wurde. Weitere Informationen finden Sie unter Regionale Verfügbarkeit.
- Anschließend müssen Sie ein
gpt-image-1
- oderdalle3
-Modell mit Ihrer Azure-Ressource bereitstellen. Weitere Informationen finden Sie unter Erstellen einer Ressource und Bereitstellen eines Modells mit Azure OpenAI.
Konfiguration
Abrufen von Schlüssel und Endpunkt
Um die Azure OpenAI-APIs erfolgreich aufzurufen, benötigen Sie die folgenden Informationen zu Ihrer Azure OpenAI-Ressource:
Variable | Name | Wert |
---|---|---|
Endpunkt | api_base |
Der Endpunktwert befindet sich unter Schlüssel und Endpunkt für Ihre Ressource im Azure-Portal. Sie finden den Endpunkt auch über die Seite Bereitstellungen im Azure KI Foundry-Portal. Ein Beispielendpunkt ist https://docs-test-001.openai.azure.com/ . |
Schlüssel | api_key |
Den Schlüsselwert finden Sie ebenfalls unter Schlüssel und Endpunkt für Ihre Ressource im Azure-Portal. Azure generiert zwei Schlüssel für Ihre Ressource. Sie können beide Werte verwenden. |
Wechseln Sie zu Ihrer Ressource im Azure-Portal. Wählen Sie im Navigationsbereich unter Ressourcenverwaltung die Option Schlüssel und Endpunkt aus. Kopieren Sie den Wert unter Endpunkt und einen Zugriffsschlüsselwert. Sie können entweder den Wert unter SCHLÜSSEL 1 oder unter SCHLÜSSEL 2 verwenden. Wenn Sie jederzeit zwei Schlüssel zur Verfügung haben, können Sie die Schlüssel auf sichere Weise rotieren und neu generieren, ohne Dienstunterbrechungen zu verursachen.
Umgebungsvariablen
Erstellen und Zuweisen von beständigen Umgebungsvariablen für Ihren Schlüssel und Endpunkt.
Von Bedeutung
Wir empfehlen die Microsoft Entra ID-Authentifizierung mit verwalteten Identitäten für Azure-Ressourcen , um zu vermeiden, dass Anmeldeinformationen mit Ihren Anwendungen gespeichert werden, die in der Cloud ausgeführt werden.
Verwenden Sie API-Schlüssel mit Vorsicht. Fügen Sie den API-Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Wenn Sie API-Schlüssel verwenden, speichern Sie sie sicher in Azure Key Vault, rotieren Sie die Schlüssel regelmäßig, und beschränken Sie den Zugriff auf Azure Key Vault mithilfe von rollenbasierter Zugriffssteuerung und Netzwerkzugriffsbeschränkungen. Weitere Informationen zur sicheren Verwendung von API-Schlüsseln in Ihren Apps finden Sie unter API-Schlüssel mit Azure Key Vault.
Weitere Informationen zur Sicherheit von KI-Diensten finden Sie unter Authentifizieren von Anforderungen an Azure AI-Dienste.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Erstellen einer neuen Python-Anwendung
Erstellen Sie eine neue Python-Datei namens quickstart.py. Öffnen Sie die Datei in Ihrem bevorzugten Editor oder Ihrer bevorzugten IDE.
Ersetzen Sie den Inhalt von quickstart.py durch den folgenden Code. Ändern Sie den Wert von
prompt
in den gewünschten Text. Legen Sie außerdem den Bereitstellungsnamendeployment
fest, den Sie beim Bereitstellen des GPT-image-1-Modells ausgewählt haben.import os import requests import base64 from PIL import Image from io import BytesIO # set environment variables endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") subscription_key = os.getenv("AZURE_OPENAI_API_KEY") deployment = "gpt-image-1" # the name of your GPT-image-1 deployment api_version = "2025-04-01-preview" # or later version def decode_and_save_image(b64_data, output_filename): image = Image.open(BytesIO(base64.b64decode(b64_data))) image.show() image.save(output_filename) def save_all_images_from_response(response_data, filename_prefix): for idx, item in enumerate(response_data['data']): b64_img = item['b64_json'] filename = f"{filename_prefix}_{idx+1}.png" decode_and_save_image(b64_img, filename) print(f"Image saved to: '{filename}'") base_path = f'openai/deployments/{deployment}/images' params = f'?api-version={api_version}' generation_url = f"{endpoint}{base_path}/generations{params}" generation_body = { "prompt": "girl falling asleep", "n": 1, "size": "1024x1024", "quality": "medium", "output_format": "png" } generation_response = requests.post( generation_url, headers={ 'Api-Key': subscription_key, 'Content-Type': 'application/json', }, json=generation_body ).json() save_all_images_from_response(generation_response, "generated_image") # In addition to generating images, you can edit them. edit_url = f"{endpoint}{base_path}/edits{params}" edit_body = { "prompt": "girl falling asleep", "n": 1, "size": "1024x1024", "quality": "medium" } files = { "image": ("generated_image_1.png", open("generated_image_1.png", "rb"), "image/png"), # You can use a mask to specify which parts of the image you want to edit. # The mask must be the same size as the input image. # "mask": ("mask.png", open("mask.png", "rb"), "image/png"), } edit_response = requests.post( edit_url, headers={'Api-Key': subscription_key}, data=edit_body, files=files ).json() save_all_images_from_response(edit_response, "edited_image")
Das Skript führt einen API-Aufruf der synchronen Bildgenerierung durch.
Von Bedeutung
Denken Sie daran, den Schlüssel aus Ihrem Code zu entfernen, wenn Sie fertig sind, und ihn niemals zu veröffentlichen. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Weitere Informationen finden Sie unter Azure Key Vault.
Führen Sie die Anwendung mit Befehl
python
aus:python quickstart.py
Warten Sie einen Moment auf die Antwort.
Output
Die Ausgabe eines erfolgreichen Aufrufs der Bilderstellungs-API sieht wie im folgenden Beispiel aus. Das Feld url
enthält eine URL, in der Sie das generierte Image herunterladen können. Die URL bleibt 24 Stunden aktiv.
{
"created": 1698116662,
"data": [
{
"url": "<URL_to_generated_image>",
"revised_prompt": "<prompt_that_was_used>"
}
]
}
Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihren Prompt als schädlichen Inhalt erkennt, generiert er kein Bild. Weitere Informationen dazu finden Sie unter Inhaltsfilterung. Beispiele für Fehlerantworten finden Sie in der Anleitung zur Generierung von Bildern.
Das System gibt den Vorgangstatus Failed
zurück, und der Wert error.code
in der Nachricht wird auf contentFilter
festgelegt. Ein Beispiel:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
Es ist auch möglich, dass das generierte Image selbst gefiltert wird. In diesem Fall ist die Fehlermeldung auf Generated image was filtered as a result of our safety system.
festgelegt. Ein Beispiel:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.
Nächste Schritte
- Erkunden Sie die Image-APIs ausführlicher mit der Anleitung zur Image-API.
- Probieren Sie Beispiele im GitHub-Repository mit Azure OpenAI-Beispielen aus.
- Siehe die API-Referenz
Verwenden Sie diesen Leitfaden, um mit dem Generieren von Bildern mit dem Azure OpenAI-SDK für Python zu beginnen.
Quellcode der Bibliothek | Paket | Beispiele
Voraussetzungen
- Ein Azure-Abonnement. Erstellen Sie ein kostenloses Konto.
- Python 3.8 oder eine höhere Version
- Eine Azure OpenAI-Ressource, die in einer kompatiblen Region erstellt wurde. Weitere Informationen finden Sie unter Regionale Verfügbarkeit.
- Anschließend müssen Sie ein
dalle3
-Modell mit Ihrer Azure-Ressource bereitstellen. Weitere Informationen finden Sie unter Erstellen einer Ressource und Bereitstellen eines Modells mit Azure OpenAI.
Konfiguration
Abrufen von Schlüssel und Endpunkt
Um die Azure OpenAI-APIs erfolgreich aufzurufen, benötigen Sie die folgenden Informationen zu Ihrer Azure OpenAI-Ressource:
Variable | Name | Wert |
---|---|---|
Endpunkt | api_base |
Der Endpunktwert befindet sich unter Schlüssel und Endpunkt für Ihre Ressource im Azure-Portal. Sie finden den Endpunkt auch über die Seite Bereitstellungen im Azure KI Foundry-Portal. Ein Beispielendpunkt ist https://docs-test-001.openai.azure.com/ . |
Schlüssel | api_key |
Den Schlüsselwert finden Sie ebenfalls unter Schlüssel und Endpunkt für Ihre Ressource im Azure-Portal. Azure generiert zwei Schlüssel für Ihre Ressource. Sie können beide Werte verwenden. |
Wechseln Sie zu Ihrer Ressource im Azure-Portal. Wählen Sie im Navigationsbereich unter Ressourcenverwaltung die Option Schlüssel und Endpunkt aus. Kopieren Sie den Wert unter Endpunkt und einen Zugriffsschlüsselwert. Sie können entweder den Wert unter SCHLÜSSEL 1 oder unter SCHLÜSSEL 2 verwenden. Wenn Sie jederzeit zwei Schlüssel zur Verfügung haben, können Sie die Schlüssel auf sichere Weise rotieren und neu generieren, ohne Dienstunterbrechungen zu verursachen.
Umgebungsvariablen
Erstellen und Zuweisen von beständigen Umgebungsvariablen für Ihren Schlüssel und Endpunkt.
Von Bedeutung
Wir empfehlen die Microsoft Entra ID-Authentifizierung mit verwalteten Identitäten für Azure-Ressourcen , um zu vermeiden, dass Anmeldeinformationen mit Ihren Anwendungen gespeichert werden, die in der Cloud ausgeführt werden.
Verwenden Sie API-Schlüssel mit Vorsicht. Fügen Sie den API-Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich. Wenn Sie API-Schlüssel verwenden, speichern Sie sie sicher in Azure Key Vault, rotieren Sie die Schlüssel regelmäßig, und beschränken Sie den Zugriff auf Azure Key Vault mithilfe von rollenbasierter Zugriffssteuerung und Netzwerkzugriffsbeschränkungen. Weitere Informationen zur sicheren Verwendung von API-Schlüsseln in Ihren Apps finden Sie unter API-Schlüssel mit Azure Key Vault.
Weitere Informationen zur Sicherheit von KI-Diensten finden Sie unter Authentifizieren von Anforderungen an Azure AI-Dienste.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Installieren des Python SDK
Öffnen Sie eine Eingabeaufforderung, und navigieren Sie zu Ihrem Projektordner. Installieren Sie das OpenAI Python SDK mithilfe des folgenden Befehls:
pip install openai
Installieren Sie auch die folgenden Bibliotheken:
pip install requests
pip install pillow
Generieren von Bildern mit DALL-E
Erstellen Sie eine neue Python-Datei mit dem Namen quickstart.py. Öffnen Sie sie in Ihrem bevorzugten Editor oder Ihrer bevorzugten IDE.
Ersetzen Sie den Inhalt von quickstart.py durch den folgenden Code.
from openai import AzureOpenAI
import os
import requests
from PIL import Image
import json
client = AzureOpenAI(
api_version="2024-02-01",
api_key=os.environ["AZURE_OPENAI_API_KEY"],
azure_endpoint=os.environ['AZURE_OPENAI_ENDPOINT']
)
result = client.images.generate(
model="dalle3", # the name of your DALL-E 3 deployment
prompt="a close-up of a bear walking throughthe forest",
n=1
)
json_response = json.loads(result.model_dump_json())
# Set the directory for the stored image
image_dir = os.path.join(os.curdir, 'images')
# If the directory doesn't exist, create it
if not os.path.isdir(image_dir):
os.mkdir(image_dir)
# Initialize the image path (note the filetype should be png)
image_path = os.path.join(image_dir, 'generated_image.png')
# Retrieve the generated image
image_url = json_response["data"][0]["url"] # extract image URL from response
generated_image = requests.get(image_url).content # download the image
with open(image_path, "wb") as image_file:
image_file.write(generated_image)
# Display the image in the default image viewer
image = Image.open(image_path)
image.show()
- Geben Sie Ihre Endpunkt-URL und ihren Schlüssel in die entsprechenden Felder ein.
- Ändern Sie den Wert von
prompt
in den gewünschten Text. - Ändern Sie den Wert von
model
in den Namen des bereitgestellten DALL-E 3-Modells.
Von Bedeutung
Denken Sie daran, den Schlüssel aus Ihrem Code zu entfernen, wenn Sie fertig sind, und ihn niemals zu veröffentlichen. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Weitere Informationen finden Sie unter Azure Key Vault.
Führen Sie die Anwendung mit Befehl python
aus:
python quickstart.py
Warten Sie einen Moment auf die Antwort.
Output
Azure OpenAI speichert das Ausgabeimage in der Datei generated_image.png im angegebenen Verzeichnis. Das Skript zeigt das Bild auch in der standardmäßigen Bildanzeige an.
Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihren Prompt als schädlichen Inhalt erkennt, generiert er kein Bild. Weitere Informationen dazu finden Sie unter Inhaltsfilterung.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.
Nächste Schritte
- Erkunden Sie die Image-APIs ausführlicher mit der Anleitung zur Image-API.
- Probieren Sie Beispiele im GitHub-Repository mit Azure OpenAI-Beispielen aus.
- Siehe die API-Referenz
Verwenden Sie diesen Leitfaden, um mit Azure OpenAI-SDK für C# Bilder zu generieren.
Quellcode der Bibliothek | Paket (NuGet) | Beispiele
Voraussetzungen
- Ein Azure-Abonnement – Kostenlos erstellen
- Das .NET 7 SDK
- Eine Azure OpenAI-Ressource, die in einer unterstützten Region erstellt wurde (siehe Regionale Verfügbarkeit). Weitere Informationen finden Sie unter Erstellen einer Ressource und Bereitstellen eines Modells mit Azure OpenAI.
Voraussetzungen für Microsoft Entra ID
Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:
- Installieren Sie die Azure CLI , die für die schlüssellose Authentifizierung mit der Microsoft Entra-ID verwendet wird.
- Weisen Sie Ihrem Benutzerkonto die
Cognitive Services User
-Rolle zu. Sie können Rollen im Azure-Portal unter Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen zuweisen.
Einrichten
Erstellen Sie einen neuen Ordner
vision-quickstart
, und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:mkdir vision-quickstart && cd vision-quickstart
Erstellen Sie eine neue Konsolenanwendung mit dem folgenden Befehl:
dotnet new console
Installieren Sie die OpenAI .NET-Clientbibliothek mit dem Befehl dotnet add package:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
Installieren Sie für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID das Paket Azure.Identity mit:
dotnet add package Azure.Identity
Melden Sie sich für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID mit dem folgenden Befehl bei Azure an:
az login
Abrufen von Ressourceninformationen
Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung bei Ihrer Azure OpenAI-Ressource zu authentifizieren:
Variablenname | Wert |
---|---|
AZURE_OPENAI_ENDPOINT |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Diesen Wert finden Sie unter Ressourcenverwaltung>Modellbereitstellungen im Azure-Portal. |
OPENAI_API_VERSION |
Erfahren Sie mehr über API-Versionen. Sie können die Version im Code ändern oder eine Umgebungsvariable verwenden. |
Erfahren Sie mehr über schlüssellose Authentifizierung und das Festlegen von Umgebungsvariablen.
Den Schnellstart ausführen
Der Beispielcode in diesem Schnellstart verwendet Microsoft Entra ID für die empfohlene schlüssellose Authentifizierung. Wenn Sie einen API-Schlüssel verwenden möchten, können Sie das DefaultAzureCredential
Objekt durch ein AzureKeyCredential
Objekt ersetzen.
AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
Führen Sie die folgenden Schritte aus, um die Schnellstartanleitung auszuführen:
Ersetzen Sie den Inhalt von
Program.cs
durch den folgenden Code, und aktualisieren Sie die Platzhalterwerte durch Ihren eigenen.using Azure; using Azure.AI.OpenAI; using OpenAI.Images; using static System.Environment; string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/"; string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>"; // Use the recommended keyless credential instead of the AzureKeyCredential credential. AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key)); // This must match the custom deployment name you chose for your model ImageClient chatClient = openAIClient.GetImageClient("dalle-3"); var imageGeneration = await chatClient.GenerateImageAsync( "a happy monkey sitting in a tree, in watercolor", new ImageGenerationOptions() { Size = GeneratedImageSize.W1024xH1024 } ); Console.WriteLine(imageGeneration.Value.ImageUri);
Führen Sie die Anwendung mit dem Befehl
dotnet run
oder der Schaltfläche „Ausführen“ oben in Visual Studio aus:dotnet run
Output
Die URL des generierten Bilds wird in der Konsole ausgegeben.
<SAS URL>
Hinweis
Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädlichen Inhalt erkennt, gibt er kein generiertes Image zurück. Weitere Informationen finden Sie im Artikel zu Inhaltsfiltern.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Vor dem Löschen der Ressource müssen Sie zunächst alle bereitgestellten Modelle löschen.
Nächste Schritte
- Erkunden Sie die Image-APIs ausführlicher mit der Anleitung zur Image-API.
- Weitere Beispiele finden Sie im GitHub-Repository für Azure OpenAI-Beispiele.
Verwenden Sie diesen Leitfaden, um mit dem Azure OpenAI-SDK für Java Bilder zu generieren.
Bibliothekquellcode | Artefakt (Maven) | Beispiele
Voraussetzungen
- Ein Azure-Abonnement – Kostenlos erstellen
- Aktuelle Version des Java Development Kit (JDK)
- Installieren Sie Apache Maven.
- Eine Azure OpenAI-Ressource, die in einer unterstützten Region erstellt wurde (siehe Regionale Verfügbarkeit). Weitere Informationen finden Sie unter Erstellen einer Ressource und Bereitstellen eines Modells mit Azure OpenAI.
Voraussetzungen für Microsoft Entra ID
Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:
- Installieren Sie die Azure CLI , die für die schlüssellose Authentifizierung mit der Microsoft Entra-ID verwendet wird.
- Weisen Sie Ihrem Benutzerkonto die
Cognitive Services User
-Rolle zu. Sie können Rollen im Azure-Portal unter Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen zuweisen.
Einrichten
Erstellen Sie einen neuen Ordner
vision-quickstart
, und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:mkdir vision-quickstart && cd vision-quickstart
Installieren Sie Apache Maven. Führen Sie dann
mvn -v
aus, um die erfolgreiche Installation zu bestätigen.Erstellen Sie im Stammverzeichnis Ihres Projekts eine neue Datei
pom.xml
, und kopieren Sie folgende Code in diese Datei:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.azure.samples</groupId> <artifactId>quickstart-dall-e</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.azure</groupId> <artifactId>azure-ai-openai</artifactId> <version>1.0.0-beta.3</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-core</artifactId> <version>1.53.0</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.15.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.9</version> </dependency> </dependencies> </project>
Installieren Sie das Azure OpenAI SDK und Abhängigkeiten.
mvn clean dependency:copy-dependencies
Melden Sie sich für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID mit dem folgenden Befehl bei Azure an:
az login
Abrufen von Ressourceninformationen
Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung bei Ihrer Azure OpenAI-Ressource zu authentifizieren:
Variablenname | Wert |
---|---|
AZURE_OPENAI_ENDPOINT |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Diesen Wert finden Sie unter Ressourcenverwaltung>Modellbereitstellungen im Azure-Portal. |
OPENAI_API_VERSION |
Erfahren Sie mehr über API-Versionen. Sie können die Version im Code ändern oder eine Umgebungsvariable verwenden. |
Erfahren Sie mehr über schlüssellose Authentifizierung und das Festlegen von Umgebungsvariablen.
App starten
Der Beispielcode in diesem Schnellstart verwendet Microsoft Entra ID für die empfohlene schlüssellose Authentifizierung. Wenn Sie einen API-Schlüssel verwenden möchten, können Sie das DefaultAzureCredential
Objekt durch ein AzureKeyCredential
Objekt ersetzen.
OpenAIAsyncClient client = new OpenAIClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Führen Sie die folgenden Schritte aus, um eine Konsolenanwendung für die Spracherkennung zu erstellen.
Erstellen Sie eine neue Datei mit dem Namen Quickstart.java im selben Projektstammverzeichnis.
Kopieren Sie den folgenden Code in Quickstart.java:
import com.azure.ai.openai.OpenAIAsyncClient; import com.azure.ai.openai.OpenAIClientBuilder; import com.azure.ai.openai.models.ImageGenerationOptions; import com.azure.ai.openai.models.ImageLocation; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.models.ResponseError; import java.util.concurrent.TimeUnit; public class Quickstart { public static void main(String[] args) throws InterruptedException { String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT"); // Use the recommended keyless credential instead of the AzureKeyCredential credential. OpenAIAsyncClient client = new OpenAIClientBuilder() .endpoint(endpoint) .credential(new DefaultAzureCredentialBuilder().build()) .buildAsyncClient(); ImageGenerationOptions imageGenerationOptions = new ImageGenerationOptions( "A drawing of the Seattle skyline in the style of Van Gogh"); client.getImages(imageGenerationOptions).subscribe( images -> { for (ImageLocation imageLocation : images.getData()) { ResponseError error = imageLocation.getError(); if (error != null) { System.out.printf("Image generation operation failed. Error code: %s, error message: %s.%n", error.getCode(), error.getMessage()); } else { System.out.printf( "Image ___location URL that provides temporary access to download the generated image is %s.%n", imageLocation.getUrl()); } } }, error -> System.err.println("There was an error getting images." + error), () -> System.out.println("Completed getImages.")); // The .subscribe() creation and assignment isn't a blocking call. // The thread sleeps so the program does not end before the send operation is complete. // Use .block() instead of .subscribe() for a synchronous call. TimeUnit.SECONDS.sleep(10); } }
Führen Sie die neue Konsolenanwendung aus, um ein Image zu generieren:
javac Quickstart.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" Quickstart
Output
Die URL des generierten Bilds wird in der Konsole ausgegeben.
Image ___location URL that provides temporary access to download the generated image is <SAS URL>.
Completed getImages.
Hinweis
Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädlichen Inhalt erkennt, gibt er kein generiertes Image zurück. Weitere Informationen finden Sie im Artikel zu Inhaltsfiltern.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Vor dem Löschen der Ressource müssen Sie zunächst alle bereitgestellten Modelle löschen.
Nächste Schritte
- Erkunden Sie die Image-APIs ausführlicher mit der Anleitung zur Image-API.
- Weitere Beispiele finden Sie im GitHub-Repository für Azure OpenAI-Beispiele
Verwenden Sie diesen Leitfaden, um mit dem Azure OpenAI-SDK für JavaScript Bilder zu generieren.
Referenzdokumentation | Quellcode | Paket (NPM) | Beispiele
Voraussetzungen
- Ein Azure-Abonnement – Kostenlos erstellen
- LTS-Versionen von Node.js
- Die Azure CLI wird für die kennwortlose Authentifizierung in einer lokalen Entwicklungsumgebung verwendet. Erstellen Sie den erforderlichen Kontext, indem Sie sich mit der Azure CLI anmelden.
- Eine Azure OpenAI-Ressource, die in einer unterstützten Region erstellt wurde (siehe Regionale Verfügbarkeit). Weitere Informationen finden Sie unter Erstellen einer Ressource und Bereitstellen eines Modells mit Azure OpenAI.
Voraussetzungen für Microsoft Entra ID
Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:
- Installieren Sie die Azure CLI , die für die schlüssellose Authentifizierung mit der Microsoft Entra-ID verwendet wird.
- Weisen Sie Ihrem Benutzerkonto die
Cognitive Services User
-Rolle zu. Sie können Rollen im Azure-Portal unter Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen zuweisen.
Einrichten
Erstellen Sie einen neuen Ordner
image-quickstart
, und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:mkdir image-quickstart && cd image-quickstart
Erstellen Sie
package.json
mit dem folgenden Befehl:npm init -y
Installieren Sie die OpenAI-Clientbibliothek für JavaScript mit:
npm install openai
Für die empfohlene kennwortlose Authentifizierung:
npm install @azure/identity
Abrufen von Ressourceninformationen
Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung bei Ihrer Azure OpenAI-Ressource zu authentifizieren:
Variablenname | Wert |
---|---|
AZURE_OPENAI_ENDPOINT |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Diesen Wert finden Sie unter Ressourcenverwaltung>Modellbereitstellungen im Azure-Portal. |
OPENAI_API_VERSION |
Erfahren Sie mehr über API-Versionen. Sie können die Version im Code ändern oder eine Umgebungsvariable verwenden. |
Erfahren Sie mehr über schlüssellose Authentifizierung und das Festlegen von Umgebungsvariablen.
Vorsicht
Um die empfohlene schlüssellose Authentifizierung mit dem SDK zu verwenden, stellen Sie sicher, dass die Umgebungsvariable AZURE_OPENAI_API_KEY
nicht festgelegt ist.
Generieren von Bildern mit DALL-E
Erstellen Sie die Datei
index.js
mit dem folgenden Code:const { AzureOpenAI } = require("openai"); const { DefaultAzureCredential, getBearerTokenProvider } = require("@azure/identity"); // You will need to set these environment variables or edit the following values const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "dall-e-3"; // The prompt to generate images from const prompt = "a monkey eating a banana"; const numberOfImagesToGenerate = 1; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); function getClient(): AzureOpenAI { return new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment: deploymentName, }); } async function main() { console.log("== Image Generation =="); const client = getClient(); const results = await client.images.generate({ prompt, size: "1024x1024", n: numberOfImagesToGenerate, model: "", style: "vivid", // or "natural" }); for (const image of results.data) { console.log(`Image generation result URL: ${image.url}`); } } main().catch((err) => { console.error("The sample encountered an error:", err); });
Melden Sie sich mithilfe des folgenden Befehls bei Azure an:
az login
Führen Sie die JavaScript-Datei aus.
node index.js
Output
Die URL des generierten Bilds wird in der Konsole ausgegeben.
== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>
Hinweis
Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädlichen Inhalt erkennt, gibt er kein generiertes Image zurück. Weitere Informationen finden Sie im Artikel zu Inhaltsfiltern.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Vor dem Löschen der Ressource müssen Sie zunächst alle bereitgestellten Modelle löschen.
Nächste Schritte
- Erkunden Sie die Image-APIs ausführlicher mit der Anleitung zur Image-API.
- Weitere Beispiele finden Sie im GitHub-Repository für Azure OpenAI-Beispiele.
Verwenden Sie diesen Leitfaden, um mit dem Azure OpenAI-SDK für JavaScript Bilder zu generieren.
Referenzdokumentation | Quellcode | Paket (NPM) | Beispiele
Voraussetzungen
- Ein Azure-Abonnement – Kostenlos erstellen
- LTS-Versionen von Node.js
- TypeScript
- Die Azure CLI wird für die kennwortlose Authentifizierung in einer lokalen Entwicklungsumgebung verwendet. Erstellen Sie den erforderlichen Kontext, indem Sie sich mit der Azure CLI anmelden.
- Eine Azure OpenAI-Ressource, die in einer unterstützten Region erstellt wurde (siehe Regionale Verfügbarkeit). Weitere Informationen finden Sie unter Erstellen einer Ressource und Bereitstellen eines Modells mit Azure OpenAI.
Voraussetzungen für Microsoft Entra ID
Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:
- Installieren Sie die Azure CLI , die für die schlüssellose Authentifizierung mit der Microsoft Entra-ID verwendet wird.
- Weisen Sie Ihrem Benutzerkonto die
Cognitive Services User
-Rolle zu. Sie können Rollen im Azure-Portal unter Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen zuweisen.
Einrichten
Erstellen Sie einen neuen Ordner
image-quickstart
, und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:mkdir image-quickstart && cd image-quickstart
Erstellen Sie
package.json
mit dem folgenden Befehl:npm init -y
Mit dem folgenden Befehl aktualisieren Sie
package.json
auf ECMAScript.npm pkg set type=module
Installieren Sie die OpenAI-Clientbibliothek für JavaScript mit:
npm install openai
Für die empfohlene kennwortlose Authentifizierung:
npm install @azure/identity
Abrufen von Ressourceninformationen
Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung bei Ihrer Azure OpenAI-Ressource zu authentifizieren:
Variablenname | Wert |
---|---|
AZURE_OPENAI_ENDPOINT |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Diesen Wert finden Sie unter Ressourcenverwaltung>Modellbereitstellungen im Azure-Portal. |
OPENAI_API_VERSION |
Erfahren Sie mehr über API-Versionen. Sie können die Version im Code ändern oder eine Umgebungsvariable verwenden. |
Erfahren Sie mehr über schlüssellose Authentifizierung und das Festlegen von Umgebungsvariablen.
Vorsicht
Um die empfohlene schlüssellose Authentifizierung mit dem SDK zu verwenden, stellen Sie sicher, dass die Umgebungsvariable AZURE_OPENAI_API_KEY
nicht festgelegt ist.
Generieren von Bildern mit DALL-E
Erstellen Sie die Datei
index.ts
mit dem folgenden Code:import { AzureOpenAI } from "openai"; import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity"; // You will need to set these environment variables or edit the following values const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "dall-e-3"; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); function getClient(): AzureOpenAI { return new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment: deploymentName, }); } async function main() { console.log("== Image Generation =="); const client = getClient(); const results = await client.images.generate({ prompt, size: "1024x1024", n: numberOfImagesToGenerate, model: "", style: "vivid", // or "natural" }); for (const image of results.data) { console.log(`Image generation result URL: ${image.url}`); } } main().catch((err) => { console.error("The sample encountered an error:", err); });
Erstellen Sie die Datei
tsconfig.json
, um den TypeScript-Code zu transpilieren, und kopieren Sie den folgenden Code für ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }
Transpilieren Sie aus TypeScript nach JavaScript.
tsc
Melden Sie sich mithilfe des folgenden Befehls bei Azure an:
az login
Führen Sie den Code mithilfe des folgenden Befehls aus:
node index.js
Output
Die URL des generierten Bilds wird in der Konsole ausgegeben.
== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>
Hinweis
Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädlichen Inhalt erkennt, gibt er kein generiertes Image zurück. Weitere Informationen finden Sie im Artikel zu Inhaltsfiltern.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Vor dem Löschen der Ressource müssen Sie zunächst alle bereitgestellten Modelle löschen.
Nächste Schritte
- Erkunden Sie die Image-APIs ausführlicher mit der Anleitung zur Image-API.
- Weitere Beispiele finden Sie im GitHub-Repository für Azure OpenAI-Beispiele.
Verwenden Sie diesen Leitfaden, um mit dem Azure OpenAI-SDK für Go Bilder zu generieren.
Quellcode der Bibliothek | Paket | Beispiele
Voraussetzungen
- Ein Azure-Abonnement – Kostenlos erstellen
- Go 1.8+
- Eine Azure OpenAI-Ressource, die in einer unterstützten Region erstellt wurde (siehe Regionale Verfügbarkeit). Weitere Informationen finden Sie unter Erstellen einer Ressource und Bereitstellen eines Modells mit Azure OpenAI.
Voraussetzungen für Microsoft Entra ID
Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:
- Installieren Sie die Azure CLI , die für die schlüssellose Authentifizierung mit der Microsoft Entra-ID verwendet wird.
- Weisen Sie Ihrem Benutzerkonto die
Cognitive Services User
-Rolle zu. Sie können Rollen im Azure-Portal unter Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen zuweisen.
Einrichten
Erstellen Sie einen neuen Ordner
dall-e-quickstart
, und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:mkdir dall-e-quickstart && cd dall-e-quickstart
Melden Sie sich für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID mit dem folgenden Befehl bei Azure an:
az login
Abrufen von Ressourceninformationen
Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung bei Ihrer Azure OpenAI-Ressource zu authentifizieren:
Variablenname | Wert |
---|---|
AZURE_OPENAI_ENDPOINT |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Diesen Wert finden Sie unter Ressourcenverwaltung>Modellbereitstellungen im Azure-Portal. |
OPENAI_API_VERSION |
Erfahren Sie mehr über API-Versionen. Sie können die Version im Code ändern oder eine Umgebungsvariable verwenden. |
Erfahren Sie mehr über schlüssellose Authentifizierung und das Festlegen von Umgebungsvariablen.
Den Schnellstart ausführen
Der Beispielcode in diesem Schnellstart verwendet Microsoft Entra ID für die empfohlene schlüssellose Authentifizierung. Wenn Sie einen API-Schlüssel verwenden möchten, können Sie die Implementierung von NewDefaultAzureCredential
durch NewKeyCredential
ersetzen.
azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
credential, err := azidentity.NewDefaultAzureCredential(nil)
client, err := azopenai.NewClient(azureOpenAIEndpoint, credential, nil)
So führen Sie das Beispiel aus:
Erstellen Sie eine neue Datei mit dem Namen "quickstart.go". Kopieren Sie den folgenden Code in die Datei "quickstart.go ".
package main import ( "context" "fmt" "net/http" "os" "log" "github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" ) func main() { azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT") modelDeploymentID := "dall-e-3" credential, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Printf("ERROR: %s", err) return } client, err := azopenai.NewClient( azureOpenAIEndpoint, credential, nil) if err != nil { log.Printf("ERROR: %s", err) return } resp, err := client.GetImageGenerations(context.TODO(), azopenai.ImageGenerationOptions{ Prompt: to.Ptr("A painting of a cat in the style of Dali."), ResponseFormat: to.Ptr(azopenai.ImageGenerationResponseFormatURL), DeploymentName: to.Ptr(modelDeploymentID), }, nil) if err != nil { // Implement application specific error handling logic. log.Printf("ERROR: %s", err) return } for _, generatedImage := range resp.Data { // The underlying type for the generatedImage is determined by the value of // ImageGenerationOptions.ResponseFormat. // In this example we use `azopenai.ImageGenerationResponseFormatURL`, // so the underlying type will be ImageLocation. resp, err := http.Head(*generatedImage.___URL) if err != nil { // Implement application specific error handling logic. log.Printf("ERROR: %s", err) return } fmt.Fprintf(os.Stderr, "Image generated, HEAD request on URL returned %d\nImage URL: %s\n", resp.StatusCode, *generatedImage.___URL) } }
Führen Sie den folgenden Befehl aus, um ein neues Go-Modul zu erstellen:
go mod init quickstart.go
Führen Sie
go mod tidy
aus, um die erforderlichen Abhängigkeiten zu installieren.go mod tidy
Führen Sie den folgenden Befehl aus, um das Beispiel auszuführen:
go run quickstart.go
Output
Die URL des generierten Bilds wird in der Konsole ausgegeben.
Image generated, HEAD request on URL returned 200
Image URL: <SAS URL>
Hinweis
Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihre Eingabeaufforderung als schädlichen Inhalt erkennt, gibt er kein generiertes Image zurück. Weitere Informationen finden Sie im Artikel zu Inhaltsfiltern.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.
Nächste Schritte
- Erkunden Sie die Image-APIs ausführlicher mit der Anleitung zur Image-API.
- Weitere Beispiele finden Sie im GitHub-Repository für Azure OpenAI-Beispiele.
Verwenden Sie dieses Handbuch, um mit dem Aufrufen von Azure OpenAI in Azure AI Foundry Models Image Generation APIs mit PowerShell zu beginnen.
Voraussetzungen
- Ein Azure-Abonnement. Erstellen Sie ein kostenloses Konto.
- Für diese Aufgabe sollten Sie die neueste Version von PowerShell 7 verwenden, da in den Beispielen neue Features verwendet werden, die in Windows PowerShell 5.1 nicht verfügbar sind.
- Eine Azure OpenAI-Ressource, die in einer unterstützten Region erstellt wurde (siehe Regionale Verfügbarkeit). Weitere Informationen finden Sie unter Erstellen einer Ressource und Bereitstellen eines Modells mit Azure OpenAI.
Voraussetzungen für Microsoft Entra ID
Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:
- Installieren Sie die Azure CLI , die für die schlüssellose Authentifizierung mit der Microsoft Entra-ID verwendet wird.
- Weisen Sie Ihrem Benutzerkonto die
Cognitive Services User
-Rolle zu. Sie können Rollen im Azure-Portal unter Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen zuweisen.
Abrufen von Ressourceninformationen
Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung bei Ihrer Azure OpenAI-Ressource zu authentifizieren:
Variablenname | Wert |
---|---|
AZURE_OPENAI_ENDPOINT |
Diesen Wert finden Sie im Abschnitt Schlüssel und Endpunkt, wenn Sie die Ressource über das Azure-Portal untersuchen. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Diesen Wert finden Sie unter Ressourcenverwaltung>Modellbereitstellungen im Azure-Portal. |
OPENAI_API_VERSION |
Erfahren Sie mehr über API-Versionen. Sie können die Version im Code ändern oder eine Umgebungsvariable verwenden. |
Erfahren Sie mehr über schlüssellose Authentifizierung und das Festlegen von Umgebungsvariablen.
Generieren von Bildern
Melden Sie sich für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID mit dem folgenden Befehl bei Azure an:
az login
Erstellen Sie eine neue PowerShell-Datei namensquickstart.ps1. Öffnen Sie diese anschließend in Ihrem bevorzugten Editor oder Ihrer bevorzugten IDE.
Ersetzen Sie den Inhalt von quickstart.ps1 durch den folgenden Code. Geben Sie Ihre Endpunkt-URL und ihren Schlüssel in die entsprechenden Felder ein. Ändern Sie den Wert von
prompt
in den gewünschten Text.# Azure OpenAI metadata variables $openai = @{ api_base = $Env:AZURE_OPENAI_ENDPOINT api_version = '2023-06-01-preview' # This can change in the future. } # Use the recommended keyless authentication via bearer token. $headers = [ordered]@{ #'api-key' = $Env:AZURE_OPENAI_API_KEY 'Authorization' = "Bearer $($Env:DEFAULT_AZURE_CREDENTIAL_TOKEN)" } # Text to describe image $prompt = 'A painting of a dog' # Adjust these values to fine-tune completions $body = [ordered]@{ prompt = $prompt size = '1024x1024' n = 1 } | ConvertTo-Json # Call the API to generate the image and retrieve the response $url = "$($openai.api_base)/openai/images/generations:submit?api-version=$($openai.api_version)" $submission = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json' -ResponseHeadersVariable submissionHeaders $operation_location = $submissionHeaders['operation-___location'][0] $status = '' while ($status -ne 'succeeded') { Start-Sleep -Seconds 1 $response = Invoke-RestMethod -Uri $operation_location -Headers $headers $status = $response.status } # Set the directory for the stored image $image_dir = Join-Path -Path $pwd -ChildPath 'images' # If the directory doesn't exist, create it if (-not(Resolve-Path $image_dir -ErrorAction Ignore)) { New-Item -Path $image_dir -ItemType Directory } # Initialize the image path (note the filetype should be png) $image_path = Join-Path -Path $image_dir -ChildPath 'generated_image.png' # Retrieve the generated image $image_url = $response.result.data[0].url # extract image URL from response $generated_image = Invoke-WebRequest -Uri $image_url -OutFile $image_path # download the image return $image_path
Von Bedeutung
Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie die PowerShell-Geheimnisverwaltung mit Azure Key Vault. Weitere Informationen zur Sicherheit von Anmeldeinformationen finden Sie in diesem Sicherheitsartikel .
Führen Sie das Skript mit PowerShell aus:
./quickstart.ps1
Das Skript durchläuft eine Schleife, bis das generierte Bild fertig ist.
Output
PowerShell fordert das Bild von Azure OpenAI an und speichert das ausgegebene Bild in der Datei generated_image.png im angegebenen Verzeichnis. Der Einfachheit halber wird der vollständige Pfad für die Datei am Ende des Skripts zurückgegeben.
Die Bild-APIs enthalten einen Inhaltsmoderationsfilter. Wenn der Dienst Ihren Prompt als schädlichen Inhalt erkennt, generiert er kein Bild. Weitere Informationen dazu finden Sie unter Inhaltsfilterung.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource selbst oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.
Nächste Schritte
- Erkunden Sie die Image-APIs ausführlicher mit der Anleitung zur Image-API.
- Probieren Sie Beispiele im GitHub-Repository mit Azure OpenAI-Beispielen aus.