Snabbstart: Generera avbildningar med Azure OpenAI Service
Kommentar
API:et för bildgenerering skapar en bild från en textprompt. Den redigerar eller skapar inte variationer från befintliga avbildningar.
Använd den här guiden för att komma igång med att generera avbildningar med Azure OpenAI i webbläsaren med Azure AI Foundry.
Förutsättningar
- En Azure-prenumeration. Skapa en kostnadsfritt.
- En Azure OpenAI-resurs som skapats i en region som stöds. Se Regiontillgänglighet. Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.
Gå till Azure AI Foundry
Bläddra till Azure AI Foundry och logga in med de autentiseringsuppgifter som är associerade med din Azure OpenAI-resurs. Under eller efter inloggningsarbetsflödet väljer du lämplig katalog, Azure-prenumeration och Azure OpenAI-resurs.
På landningssidan för Azure AI Foundry skapar eller väljer du ett nytt projekt. Gå till sidan Modeller + slutpunkter i det vänstra navigeringsfältet . Välj Distribuera modell och välj sedan en av DALL-E-modellerna i listan. Slutför distributionsprocessen.
På modellens sida väljer du Öppna på lekplatsen.
Prova bildgenerering
Börja utforska Azure OpenAI-funktioner med en metod utan kod via images playground. Ange din bildprompt i textrutan och välj Generera. När den AI-genererade avbildningen är klar visas den på sidan.
Kommentar
Api:erna för bildgenerering levereras med ett con tältläge ration-filter. Om Azure OpenAI identifierar din fråga som skadligt innehåll returnerar den inte en genererad avbildning. Mer information finns i Innehållsfiltrering.
I Images playground kan du också visa Python- och cURL-kodexempel, som är förfyllda enligt dina inställningar. Välj Visa kod längst upp på sidan. Du kan använda den här koden för att skriva ett program som slutför samma uppgift.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Nästa steg
Använd den här guiden för att komma igång med att anropa REST API:er för Azure OpenAI-tjänstens avbildningsgenerering med hjälp av Python.
Förutsättningar
- En Azure-prenumeration Skapa en kostnadsfritt.
- Python 3.8 eller senare version.
- Följande Python-bibliotek har installerats:
os
,requests
,json
. - En Azure OpenAI-resurs som skapats i en region som stöds. Se Regiontillgänglighet.
- Sedan måste du distribuera en
dalle3
modell med din Azure-resurs. Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.
Ställ in
Hämta nyckel och slutpunkt
Om du vill anropa Azure OpenAI-API:erna behöver du följande information om din Azure OpenAI-resurs:
Olika | Name | Värde |
---|---|---|
Slutpunkt | api_base |
Slutpunktsvärdet finns under Nycklar och slutpunkt för resursen i Azure Portal. Du hittar även slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
Tangent | api_key |
Nyckelvärdet finns också under Nycklar och slutpunkt för resursen i Azure Portal. Azure genererar två nycklar för din resurs. Du kan använda något av värdena. |
Gå till resursen i Azure Portal. I navigeringsfönstret väljer du Nycklar och slutpunkt under Resurshantering. Kopiera slutpunktsvärdet och ett åtkomstnyckelvärde. Du kan använda antingen värdet KEY 1 eller KEY 2 . Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Skapa ett nytt Python-program
Skapa en ny Python-fil med namnet quickstart.py. Öppna den nya filen i önskad redigerare eller IDE.
Ersätt innehållet i quickstart.py med följande kod. Ändra värdet
prompt
för till önskad text.Du måste också ersätta
<dalle3>
i URL:en med det distributionsnamn som du valde när du distribuerade DALL-E 3-modellen. Om du anger modellnamnet uppstår ett fel om du inte väljer ett distributionsnamn som är identiskt med det underliggande modellnamnet. Om du stöter på ett fel kontrollerar du att du inte har en fördubbling av/
vid separationen mellan slutpunkten och/openai/deployments
.import requests import time import os api_base = os.environ['AZURE_OPENAI_ENDPOINT'] # Enter your endpoint here api_key = os.environ['AZURE_OPENAI_API_KEY'] # Enter your API key here api_version = '2024-02-01' url = f"{api_base}/openai/deployments/<dalle3>/images/generations?api-version={api_version}" headers= { "api-key": api_key, "Content-Type": "application/json" } body = { # Enter your prompt text here "prompt": "A multi-colored umbrella on the beach, disposable camera", "size": "1024x1024", # supported values are “1792x1024”, “1024x1024” and “1024x1792” "n": 1, #The number of images to generate. Only n=1 is supported for DALL-E 3. "quality": "hd", # Options are “hd” and “standard”; defaults to standard "style": "vivid" # Options are “natural” and “vivid”; defaults to “vivid” } submission = requests.post(url, headers=headers, json=body) image_url = submission.json()['data'][0]['url'] print(image_url)
Skriptet gör ett synkront API-anrop för bildgenerering.
Viktigt!
Kom ihåg att ta bort nyckeln från koden när du är klar och publicera aldrig nyckeln offentligt. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter. Mer information finns i Azure Key Vault.
Kör programmet med
python
kommandot :python quickstart.py
Vänta en stund för att få svaret.
Output
Utdata från ett API-anrop för lyckad bildgenerering ser ut som i följande exempel. Fältet url
innehåller en URL där du kan ladda ned den genererade avbildningen. URL:en förblir aktiv i 24 timmar.
{
"created": 1698116662,
"data": [
{
"url": "<URL_to_generated_image>",
"revised_prompt": "<prompt_that_was_used>"
}
]
}
Api:erna för bildgenerering levereras med ett con tältläge ration-filter. Om tjänsten identifierar din fråga som skadligt innehåll genereras ingen avbildning. Mer information finns i Innehållsfiltrering. Exempel på felsvar finns i instruktioner för DALL-E.
Systemet returnerar en åtgärdsstatus för Failed
och error.code
värdet i meddelandet är inställt på contentFilter
. Här är ett exempel:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
Det är också möjligt att den genererade avbildningen filtreras. I det här fallet är felmeddelandet inställt på Generated image was filtered as a result of our safety system.
. Här är ett exempel:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Nästa steg
Använd den här guiden för att komma igång med att generera avbildningar med Azure OpenAI SDK för Python.
Paketexempel för bibliotekskällkod | |
Förutsättningar
- En Azure-prenumeration Skapa en kostnadsfritt.
- Python 3.8 eller senare version.
- En Azure OpenAI-resurs som skapats i en kompatibel region. Se Regiontillgänglighet.
- Sedan måste du distribuera en
dalle3
modell med din Azure-resurs. Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.
Ställ in
Hämta nyckel och slutpunkt
Om du vill anropa Azure OpenAI-API:erna behöver du följande information om din Azure OpenAI-resurs:
Olika | Name | Värde |
---|---|---|
Slutpunkt | api_base |
Slutpunktsvärdet finns under Nycklar och slutpunkt för resursen i Azure Portal. Du hittar även slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
Tangent | api_key |
Nyckelvärdet finns också under Nycklar och slutpunkt för resursen i Azure Portal. Azure genererar två nycklar för din resurs. Du kan använda något av värdena. |
Gå till resursen i Azure Portal. I navigeringsfönstret väljer du Nycklar och slutpunkt under Resurshantering. Kopiera slutpunktsvärdet och ett åtkomstnyckelvärde. Du kan använda antingen värdet KEY 1 eller KEY 2 . Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Installera Python SDK
Öppna en kommandotolk och bläddra till projektmappen. Installera OpenAI Python SDK med hjälp av följande kommando:
pip install openai
Installera även följande bibliotek:
pip install requests
pip install pillow
Generera avbildningar med DALL-E
Skapa en ny Python-fil, quickstart.py. Öppna den i önskad redigerare eller IDE.
Ersätt innehållet i quickstart.py med följande kod.
from openai import AzureOpenAI
import os
import requests
from PIL import Image
import json
client = AzureOpenAI(
api_version="2024-02-01",
api_key=os.environ["AZURE_OPENAI_API_KEY"],
azure_endpoint=os.environ['AZURE_OPENAI_ENDPOINT']
)
result = client.images.generate(
model="dalle3", # the name of your DALL-E 3 deployment
prompt="a close-up of a bear walking throughthe forest",
n=1
)
json_response = json.loads(result.model_dump_json())
# Set the directory for the stored image
image_dir = os.path.join(os.curdir, 'images')
# If the directory doesn't exist, create it
if not os.path.isdir(image_dir):
os.mkdir(image_dir)
# Initialize the image path (note the filetype should be png)
image_path = os.path.join(image_dir, 'generated_image.png')
# Retrieve the generated image
image_url = json_response["data"][0]["url"] # extract image URL from response
generated_image = requests.get(image_url).content # download the image
with open(image_path, "wb") as image_file:
image_file.write(generated_image)
# Display the image in the default image viewer
image = Image.open(image_path)
image.show()
- Ange din slutpunkts-URL och nyckel i lämpliga fält.
- Ändra värdet
prompt
för till önskad text. - Ändra värdet
model
för till namnet på din distribuerade DALL-E 3-modell.
Viktigt!
Kom ihåg att ta bort nyckeln från koden när du är klar och publicera aldrig nyckeln offentligt. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter. Mer information finns i Azure Key Vault.
Kör programmet med python
kommandot :
python quickstart.py
Vänta en stund för att få svaret.
Output
Azure OpenAI lagrar utdatabilden i den generated_image.png filen i den angivna katalogen. Skriptet visar även bilden i standardvisningsprogrammet.
Api:erna för bildgenerering levereras med ett con tältläge ration-filter. Om tjänsten identifierar din fråga som skadligt innehåll genereras ingen avbildning. Mer information finns i Innehållsfiltrering.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Nästa steg
Använd den här guiden för att komma igång med att generera avbildningar med Azure OpenAI SDK för C#.
NuGet-exempel (Library Source Code | Package) |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- .NET 7 SDK
- En Azure OpenAI-resurs som skapats i en region som stöds (se Regiontillgänglighet). Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.
Ställ in
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Skapa en ny .NET Core-app
I ett konsolfönster (till exempel cmd, PowerShell eller Bash) använder du dotnet new
kommandot för att skapa en ny konsolapp med namnet azure-openai-quickstart
. Det här kommandot skapar ett enkelt "Hello World"-projekt med en enda C#-källfil: Program.cs.
dotnet new console -n azure-openai-quickstart
Ändra katalogen till den nyligen skapade appmappen. Du kan skapa programmet med:
dotnet build
Kompileringsutdata får inte innehålla några varningar eller fel.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Installera OpenAI .NET SDK
Installera klientbiblioteket med:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
Generera avbildningar med DALL-E
Öppna filen program.cs från projektkatalogen och ersätt innehållet med följande kod:
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);
Skapa och kör programmet från programkatalogen med följande kommandon:
dotnet build
dotnet run
Output
URL:en för den genererade avbildningen skrivs ut till konsolen.
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
Kommentar
Api:erna för bildgenerering levereras med ett con tältläge ration-filter. Om tjänsten identifierar din fråga som skadligt innehåll returnerar den inte en genererad avbildning. Mer information finns i artikeln om innehållsfilter .
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.
Nästa steg
- Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples.
Använd den här guiden för att komma igång med att generera avbildningar med Azure OpenAI SDK för Java.
Exempel på bibliotekskällkod (Maven) | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Den aktuella versionen av Java Development Kit (JDK)
- Build-verktyget Gradle eller en annan beroendehanterare.
- En Azure OpenAI-resurs som skapats i en region som stöds (se Regiontillgänglighet). Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.
Ställ in
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Skapa ett nytt Java-program
Skapa ett nytt Gradle-projekt.
Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den.
mkdir myapp && cd myapp
Kör kommandot från arbetskatalogen gradle init
. Det här kommandot skapar viktiga byggfiler för Gradle, inklusive build.gradle.kts, som används vid körning för att skapa och konfigurera ditt program.
gradle init --type basic
Välj en DSL när du uppmanas till det och välj Kotlin.
Installera Java SDK
Den här snabbstarten använder Gradle-beroendehanteraren. Du hittar klientbiblioteket och information för andra beroendehanterare på Den centrala Maven-lagringsplatsen.
Leta upp build.gradle.kts och öppna det med önskad IDE eller textredigerare . Kopiera sedan i följande byggkonfiguration. Den här konfigurationen definierar projektet som ett Java-program vars startpunkt är klassen OpenAIQuickstart. Den importerar Azure AI Vision-biblioteket.
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")
}
Generera avbildningar med DALL-E
Skapa en Java-fil.
Från arbetskatalogen kör du följande kommando för att skapa en projektkällmapp:
mkdir -p src/main/java
Gå till den nya mappen och skapa en fil med namnet OpenAIQuickstart.java.
Öppna OpenAIQuickstart.java i önskad redigerare eller IDE och klistra in följande 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); } }
Gå tillbaka till projektrotmappen och skapa appen med:
gradle build
Kör den sedan med
gradle run
kommandot :gradle run
Output
URL:en för den genererade avbildningen skrivs ut till konsolen.
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.
Kommentar
Api:erna för bildgenerering levereras med ett con tältläge ration-filter. Om tjänsten identifierar din fråga som skadligt innehåll returnerar den inte en genererad avbildning. Mer information finns i artikeln om innehållsfilter .
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.
Nästa steg
- Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples
Använd den här guiden för att komma igång med att generera bilder med Azure OpenAI SDK för JavaScript.
Referensdokumentation Källkodspaket | (npm)Exempel | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- LTS-versioner av Node.js
- Azure CLI används för lösenordslös autentisering i en lokal utvecklingsmiljö och skapar den nödvändiga kontexten genom att logga in med Azure CLI.
- En Azure OpenAI-resurs som skapats i en region som stöds (se Regiontillgänglighet). Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.
Krav för Microsoft Entra-ID
För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:
- Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
Cognitive Services User
Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.
Hämta resursinformation
Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:
Variabelnamn | Värde |
---|---|
AZURE_OPENAI_ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal. |
OPENAI_API_VERSION |
Läs mer om API-versioner. |
Läs mer om nyckellös autentisering och inställning av miljövariabler.
Varning
Om du vill använda den rekommenderade nyckellösa autentiseringen med SDK:t kontrollerar du att AZURE_OPENAI_API_KEY
miljövariabeln inte har angetts.
Skapa ett Node-program
Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den. Kör npm init
sedan kommandot för att skapa ett nodprogram med en package.json fil.
npm init
Installera klientbiblioteket
Installera klientbiblioteken med:
npm install openai @azure/identity
Appens package.json-fil uppdateras med beroendena.
Generera avbildningar med DALL-E
Skapa en ny fil med namnet ImageGeneration.js och öppna den i önskad kodredigerare. Kopiera följande kod till filen 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);
});
Kör skriptet med följande kommando:
node ImageGeneration.js
Output
URL:en för den genererade avbildningen skrivs ut till konsolen.
== 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
Kommentar
Api:erna för bildgenerering levereras med ett con tältläge ration-filter. Om tjänsten identifierar din fråga som skadligt innehåll returnerar den inte en genererad avbildning. Mer information finns i artikeln om innehållsfilter .
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.
Nästa steg
- Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples.
Använd den här guiden för att komma igång med att generera bilder med Azure OpenAI SDK för JavaScript.
Referensdokumentation Källkodspaket | (npm)Exempel | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- LTS-versioner av Node.js
- TypeScript
- Azure CLI används för lösenordslös autentisering i en lokal utvecklingsmiljö och skapar den nödvändiga kontexten genom att logga in med Azure CLI.
- En Azure OpenAI-resurs som skapats i en region som stöds (se Regiontillgänglighet). Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.
Krav för Microsoft Entra-ID
För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:
- Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
Cognitive Services User
Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.
Hämta resursinformation
Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:
Variabelnamn | Värde |
---|---|
AZURE_OPENAI_ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal. |
OPENAI_API_VERSION |
Läs mer om API-versioner. |
Läs mer om nyckellös autentisering och inställning av miljövariabler.
Varning
Om du vill använda den rekommenderade nyckellösa autentiseringen med SDK:t kontrollerar du att AZURE_OPENAI_API_KEY
miljövariabeln inte har angetts.
Skapa ett Node-program
Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den. Kör npm init
sedan kommandot för att skapa ett nodprogram med en package.json fil.
npm init
Installera klientbiblioteket
Installera klientbiblioteken med:
npm install openai @azure/identity
Appens package.json-fil uppdateras med beroendena.
Generera avbildningar med DALL-E
Skapa en ny fil med namnet ImageGeneration.ts och öppna den i önskad kodredigerare. Kopiera följande kod till ImageGeneration.ts-filen:
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);
});
Skapa programmet med följande kommando:
tsc
Kör programmet med följande kommando:
node ImageGeneration.js
Output
URL:en för den genererade avbildningen skrivs ut till konsolen.
== 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
Kommentar
Api:erna för bildgenerering levereras med ett con tältläge ration-filter. Om tjänsten identifierar din fråga som skadligt innehåll returnerar den inte en genererad avbildning. Mer information finns i artikeln om innehållsfilter .
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.
Nästa steg
- Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples.
Använd den här guiden för att komma igång med att generera avbildningar med Azure OpenAI SDK för Go.
Paketexempel för bibliotekskällkod | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Go 1.8+
- En Azure OpenAI-resurs som skapats i en region som stöds (se Regiontillgänglighet). Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.
Ställ in
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Skapa ett nytt Go-program
Öppna kommandotolken och gå till projektmappen. Skapa en ny fil sample.go.
Installera Go SDK
Installera OpenAI Go SDK med följande kommando:
go get github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai@latest
Eller, om du använder dep
, inom din lagringsplatskörning:
dep ensure -add github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai
Generera avbildningar med DALL-E
Öppna sample.go i önskad kodredigerare.
Lägg till följande kod i skriptet:
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)
}
}
Kör skriptet med go run
kommandot :
go run sample.go
Output
URL:en för den genererade avbildningen skrivs ut till konsolen.
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
Kommentar
Api:erna för bildgenerering levereras med ett con tältläge ration-filter. Om tjänsten identifierar din fråga som skadligt innehåll returnerar den inte en genererad avbildning. Mer information finns i artikeln om innehållsfilter .
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Nästa steg
- Utforska bildgenererings-API:erna mer ingående med vägledningen för DALL-E.
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples.
Använd den här guiden för att komma igång med att anropa Api:er för Azure OpenAI Service-avbildningsgenerering med PowerShell.
Kommentar
API:et för bildgenerering skapar en bild från en textprompt. Den redigerar eller skapar inte varianter av befintliga avbildningar.
Förutsättningar
- En Azure-prenumeration. Skapa en kostnadsfritt.
- För den här uppgiften rekommenderas den senaste versionen av PowerShell 7 eftersom exemplen använder nya funktioner som inte är tillgängliga i Windows PowerShell 5.1.
- En Azure OpenAI-resurs som skapats i en region som stöds (se Regiontillgänglighet). Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.
Ställ in
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Generera avbildningar med DALL-E 2
Skapa en ny PowerShell-fil med namnet quickstart.ps1. Öppna den nya filen i önskad redigerare eller IDE.
Ersätt innehållet i quickstart.ps1 med följande kod. Ange din slutpunkts-URL och nyckel i lämpliga fält. Ändra värdet
prompt
för till önskad text.# Azure OpenAI metadata variables $openai = @{ api_key = $Env:AZURE_OPENAI_API_KEY api_base = $Env:AZURE_OPENAI_ENDPOINT # your endpoint should look like the following https://YOUR_RESOURCE_NAME.openai.azure.com/ api_version = '2023-06-01-preview' # this may change in the future } # Text to describe image $prompt = 'A painting of a dog' # Header for authentication $headers = [ordered]@{ 'api-key' = $openai.api_key } # Adjust these values to fine-tune completions $body = [ordered]@{ prompt = $prompt size = '1024x1024' n = 1 } | ConvertTo-Json # Call the API to generate the image and retrieve the response $url = "$($openai.api_base)/openai/images/generations:submit?api-version=$($openai.api_version)" $submission = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json' -ResponseHeadersVariable submissionHeaders $operation_location = $submissionHeaders['operation-location'][0] $status = '' while ($status -ne 'succeeded') { Start-Sleep -Seconds 1 $response = Invoke-RestMethod -Uri $operation_location -Headers $headers $status = $response.status } # Set the directory for the stored image $image_dir = Join-Path -Path $pwd -ChildPath 'images' # If the directory doesn't exist, create it if (-not(Resolve-Path $image_dir -ErrorAction Ignore)) { New-Item -Path $image_dir -ItemType Directory } # Initialize the image path (note the filetype should be png) $image_path = Join-Path -Path $image_dir -ChildPath 'generated_image.png' # Retrieve the generated image $image_url = $response.result.data[0].url # extract image URL from response $generated_image = Invoke-WebRequest -Uri $image_url -OutFile $image_path # download the image return $image_path
Viktigt!
För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som PowerShell Secret Management med Azure Key Vault. Mer information om säkerhet för autentiseringsuppgifter finns i artikeln om Säkerhet för Azure AI-tjänster.
Kör skriptet med PowerShell:
./quickstart.ps1
Skriptet loopar tills den genererade avbildningen är klar.
Output
PowerShell begär avbildningen från Azure OpenAI och lagrar utdatabilden i den generated_image.png filen i den angivna katalogen. För enkelhetens skull returneras den fullständiga sökvägen för filen i slutet av skriptet.
Api:erna för bildgenerering levereras med ett con tältläge ration-filter. Om tjänsten identifierar din fråga som skadligt innehåll genereras ingen avbildning. Mer information finns i Innehållsfiltrering.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.