Sdílet prostřednictvím


Rychlý start: Generování imagí pomocí Azure OpenAI v modelech Microsoft Foundry

Pomocí tohoto průvodce můžete začít volat REST API pro generování obrazů v modelech Microsoft Foundry Azure OpenAI pomocí Pythonu.

Požadavky

Nastavení

Načti klíč a koncový bod

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

Proměnná Název Hodnota
Koncový bod api_base Hodnota koncového bodu se nachází v části Klíče a koncový bod vašeho prostředku na webu Azure Portal. Koncový bod najdete také na stránce Nasazení na portálu Foundry. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
Klíč api_key Hodnota klíče se nachází také v části Klíče a koncový bod vašeho prostředku na webu Azure Portal. Azure vygeneruje dva klíče pro váš prostředek. Můžete použít kteroukoli hodnotu.

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

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

Proměnné prostředí

Vytvořte a přiřaďte trvalé systémové proměnné pro váš klíč a koncový bod.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Používejte klíče rozhraní API s opatrností. Nezahrnujte klíč API přímo do svého kódu a nikdy ho nezveřejňujte veřejně. Pokud používáte klíče rozhraní API, bezpečně je uložte ve službě Azure Key Vault, pravidelně je obměňujte a omezte přístup ke službě Azure Key Vault pomocí řízení přístupu na základě rolí a omezení přístupu k síti. Další informace o bezpečném používání klíčů ROZHRANÍ API ve vašich aplikacích najdete v tématu Klíče rozhraní API se službou Azure Key Vault.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Vytvoření nové aplikace v Pythonu

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

  1. Obsah quickstart.py nahraďte následujícím kódem. Změňte hodnotu prompt na upřednostňovaný text. Také nastavte deployment na název nasazení, který jste zvolili při nasazení modelu GPT-image-1.

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

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

    Důležité

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

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

    python quickstart.py
    

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

Výstup

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

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

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

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

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

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

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

Vyčistěte zdroje

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Smazání skupiny prostředků také smaže všechny ostatní prostředky s ní spojené.

Další kroky

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

kód knihovny | balíček | ukázky

Požadavky

Nastavení

Načti klíč a koncový bod

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

Proměnná Název Hodnota
Koncový bod api_base Hodnota koncového bodu se nachází v části Klíče a koncový bod vašeho prostředku na webu Azure Portal. Koncový bod najdete také na stránce Nasazení na portálu Microsoft Foundry. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
Klíč api_key Hodnota klíče se nachází také v části Klíče a koncový bod vašeho prostředku na webu Azure Portal. Azure vygeneruje dva klíče pro váš prostředek. Můžete použít kteroukoli hodnotu.

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

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

Proměnné prostředí

Vytvořte a přiřaďte trvalé systémové proměnné pro váš klíč a koncový bod.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Používejte klíče rozhraní API s opatrností. Nezahrnujte klíč API přímo do svého kódu a nikdy ho nezveřejňujte veřejně. Pokud používáte klíče rozhraní API, bezpečně je uložte ve službě Azure Key Vault, pravidelně je obměňujte a omezte přístup ke službě Azure Key Vault pomocí řízení přístupu na základě rolí a omezení přístupu k síti. Další informace o bezpečném používání klíčů ROZHRANÍ API ve vašich aplikacích najdete v tématu Klíče rozhraní API se službou Azure Key Vault.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Instalace sady Python SDK

Otevřete příkazový řádek a přejděte do složky projektu. Pomocí následujícího příkazu nainstalujte sadu OpenAI Python SDK:

pip install openai

Nainstalujte také následující knihovny:

pip install requests
pip install pillow 

Generování imagí pomocí DALL-E

Vytvořte nový soubor Pythonu quickstart.py. Otevřete ho v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE).

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

from openai import AzureOpenAI
import os
import requests
from PIL import Image
import json

client = AzureOpenAI(
    api_version="2024-02-01",  
    api_key=os.environ["AZURE_OPENAI_API_KEY"],  
    azure_endpoint=os.environ['AZURE_OPENAI_ENDPOINT']
)

result = client.images.generate(
    model="dalle3", # the name of your DALL-E 3 deployment
    prompt="a close-up of a bear walking throughthe forest",
    n=1
)

json_response = json.loads(result.model_dump_json())

# Set the directory for the stored image
image_dir = os.path.join(os.curdir, 'images')

# If the directory doesn't exist, create it
if not os.path.isdir(image_dir):
    os.mkdir(image_dir)

# Initialize the image path (note the filetype should be png)
image_path = os.path.join(image_dir, 'generated_image.png')

# Retrieve the generated image
image_url = json_response["data"][0]["url"]  # extract image URL from response
generated_image = requests.get(image_url).content  # download the image
with open(image_path, "wb") as image_file:
    image_file.write(generated_image)

# Display the image in the default image viewer
image = Image.open(image_path)
image.show()
  1. Do příslušných polí zadejte adresu URL a klíč koncového bodu.
  2. Změňte hodnotu prompt na upřednostňovaný text.
  3. Změňte hodnotu model na název nasazeného modelu DALL-E 3.

Důležité

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

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

python quickstart.py

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

Výstup

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

Rozhraní API pro obrázky mají filtr moderování obsahu. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevygeneruje obrázek. Další informace najdete v tématu Filtrování obsahu.

Vyčistěte zdroje

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Smazání skupiny prostředků také smaže všechny ostatní prostředky s ní spojené.

Další kroky

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

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

Požadavky

Požadavky pro Microsoft Entra ID

Pro doporučené ověřování bez klíčů s ID Microsoft Entra musíte:

  • Nainstalujte Azure CLI, které se používá pro ověřování bez klíčů pomocí ID Microsoft Entra.
  • Přiřaďte k vašemu uživatelskému účtu roli Cognitive Services User. Role můžete přiřadit v portálu Azure v části Řízení přístupu (IAM)>Přidat přiřazení role.

Nastavení

  1. Vytvořte novou složku vision-quickstart a přejděte do složky průvodce rychlým začátkem pomocí následujícího příkazu:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Vytvořte novou konzolovou aplikaci pomocí následujícího příkazu:

    dotnet new console
    
  3. Nainstalujte klientskou knihovnu OpenAI .NET pomocí příkazu dotnet add package:

    dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
    
  4. Pro doporučené ověřování bez klíčů s ID Microsoft Entra nainstalujte balíček Azure.Identity pomocí:

    dotnet add package Azure.Identity
    
  5. Pro doporučené ověřování bez klíčů pomocí ID Microsoft Entra se přihlaste k Azure pomocí následujícího příkazu:

    az login
    

Získat informace o prostředcích

Abyste mohli aplikaci ověřit pomocí prostředku Azure OpenAI, musíte načíst následující informace:

Název proměnné Hodnota
AZURE_OPENAI_ENDPOINT Tuto hodnotu najdete v sekci Klíče a koncový bod při kontrole vašeho prostředku v Azure portálu.
AZURE_OPENAI_DEPLOYMENT_NAME Tato hodnota bude odpovídat vlastnímu názvu, který jste si zvolili při nasazování modelu. Tuto hodnotu najdete v části Nasazení modelu správy>prostředků na webu Azure Portal.

Přečtěte si další informace o ověřování bez klíčů a nastavení proměnných prostředí.

Spustit rychlý start

Ukázkový kód v tomto rychlém průvodci používá doporučené bezklíčové ověřování Microsoft Entra ID. Pokud dáváte přednost použití klíče rozhraní API, můžete objekt nahradit DefaultAzureCredential objektem AzureKeyCredential .

AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 

Pokud chcete spustit rychlý start, postupujte takto:

  1. Nahraďte obsah Program.cs následujícím kódem a aktualizujte zástupné hodnoty vlastními.

    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);
    
  2. Spusťte aplikaci pomocí dotnet run příkazu nebo tlačítka Spustit v horní části sady Visual Studio:

    dotnet run
    

Výstup

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

<SAS URL>

Poznámka:

Rozhraní API pro obrázky mají filtr moderování obsahu. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevrátí vygenerovaný obrázek. Další informace najdete v článku filtru obsahu.

Vyčistěte zdroje

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

Další kroky

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

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

Požadavky

Požadavky pro Microsoft Entra ID

Pro doporučené ověřování bez klíčů s ID Microsoft Entra musíte:

  • Nainstalujte Azure CLI, které se používá pro ověřování bez klíčů pomocí ID Microsoft Entra.
  • Přiřaďte k vašemu uživatelskému účtu roli Cognitive Services User. Role můžete přiřadit v portálu Azure v části Řízení přístupu (IAM)>Přidat přiřazení role.

Nastavení

  1. Vytvořte novou složku vision-quickstart a přejděte do složky průvodce rychlým začátkem pomocí následujícího příkazu:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Nainstalujte Apache Maven. Pak spusťte a potvrďte mvn -v úspěšnou instalaci.

  3. V kořenovém adresáři projektu vytvořte nový pom.xml soubor a zkopírujte do něj následující kód:

    <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>
    
  4. Nainstalujte Azure OpenAI SDK a jeho závislosti.

    mvn clean dependency:copy-dependencies
    
  5. Pro doporučené ověřování bez klíčů pomocí ID Microsoft Entra se přihlaste k Azure pomocí následujícího příkazu:

    az login
    

Získat informace o prostředcích

Abyste mohli aplikaci ověřit pomocí prostředku Azure OpenAI, musíte načíst následující informace:

Název proměnné Hodnota
AZURE_OPENAI_ENDPOINT Tuto hodnotu najdete v sekci Klíče a koncový bod při kontrole vašeho prostředku v Azure portálu.
AZURE_OPENAI_DEPLOYMENT_NAME Tato hodnota bude odpovídat vlastnímu názvu, který jste si zvolili při nasazování modelu. Tuto hodnotu najdete v části Nasazení modelu správy>prostředků na webu Azure Portal.

Přečtěte si další informace o ověřování bez klíčů a nastavení proměnných prostředí.

Spuštění aplikace

Ukázkový kód v tomto rychlém průvodci používá doporučené bezklíčové ověřování Microsoft Entra ID. Pokud dáváte přednost použití klíče rozhraní API, můžete objekt nahradit DefaultAzureCredential objektem AzureKeyCredential .

OpenAIAsyncClient client = new OpenAIClientBuilder()
    .endpoint(endpoint)
    .credential(new DefaultAzureCredentialBuilder().build())
    .buildAsyncClient();

Pokud chcete vytvořit konzolovou aplikaci pro rozpoznávání řeči, postupujte podle těchto kroků.

  1. Ve stejném kořenovém adresáři projektu vytvořte nový soubor s názvem Quickstart.java.

  2. Zkopírujte následující kód do 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);
        }
    }
    
  3. Spuštěním nové konzolové aplikace vygenerujte image:

    javac Quickstart.java -cp ".;target\dependency\*"
    java -cp ".;target\dependency\*" Quickstart
    

Výstup

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

Image location URL that provides temporary access to download the generated image is <SAS URL>.
Completed getImages.

Poznámka:

Rozhraní API pro obrázky mají filtr moderování obsahu. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevrátí vygenerovaný obrázek. Další informace najdete v článku filtru obsahu.

Vyčistěte zdroje

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

Další kroky

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

Referenční dokumentace | |

Požadavky

Požadavky pro Microsoft Entra ID

Pro doporučené ověřování bez klíčů s ID Microsoft Entra musíte:

  • Nainstalujte Azure CLI, které se používá pro ověřování bez klíčů pomocí ID Microsoft Entra.
  • Přiřaďte k vašemu uživatelskému účtu roli Cognitive Services User. Role můžete přiřadit v portálu Azure v části Řízení přístupu (IAM)>Přidat přiřazení role.

Nastavení

  1. Vytvořte novou složku image-quickstart a přejděte do složky průvodce rychlým začátkem pomocí následujícího příkazu:

    mkdir image-quickstart && cd image-quickstart
    
  2. Vytvořte package.json pomocí následujícího příkazu:

    npm init -y
    
  3. Nainstalujte klientskou knihovnu OpenAI pro JavaScript pomocí:

    npm install openai
    
  4. Pro doporučené ověřování bez hesla:

    npm install @azure/identity
    

Získat informace o prostředcích

Abyste mohli aplikaci ověřit pomocí prostředku Azure OpenAI, musíte načíst následující informace:

Název proměnné Hodnota
AZURE_OPENAI_ENDPOINT Tuto hodnotu najdete v sekci Klíče a koncový bod při kontrole vašeho prostředku v Azure portálu.
AZURE_OPENAI_DEPLOYMENT_NAME Tato hodnota bude odpovídat vlastnímu názvu, který jste si zvolili při nasazování modelu. Tuto hodnotu najdete v části Nasazení modelu správy>prostředků na webu Azure Portal.

Přečtěte si další informace o ověřování bez klíčů a nastavení proměnných prostředí.

Upozornění

Pokud chcete použít doporučované bezklíčové ověřování při použití sady SDK, ujistěte se, že proměnná prostředí AZURE_OPENAI_API_KEY není definovaná.

Generování imagí pomocí DALL-E

  1. index.js Vytvořte soubor s následujícím kódem:

    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);
    });
    
  2. Přihlaste se k Azure pomocí následujícího příkazu:

    az login
    
  3. Spusťte javascriptový soubor.

    node index.js
    

Výstup

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

== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>

Poznámka:

Rozhraní API pro obrázky mají filtr moderování obsahu. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevrátí vygenerovaný obrázek. Další informace najdete v článku filtru obsahu.

Vyčistěte zdroje

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

Další kroky

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

Referenční dokumentace | |

Požadavky

Požadavky pro Microsoft Entra ID

Pro doporučené ověřování bez klíčů s ID Microsoft Entra musíte:

  • Nainstalujte Azure CLI, které se používá pro ověřování bez klíčů pomocí ID Microsoft Entra.
  • Přiřaďte k vašemu uživatelskému účtu roli Cognitive Services User. Role můžete přiřadit v portálu Azure v části Řízení přístupu (IAM)>Přidat přiřazení role.

Nastavení

  1. Vytvořte novou složku image-quickstart a přejděte do složky průvodce rychlým začátkem pomocí následujícího příkazu:

    mkdir image-quickstart && cd image-quickstart
    
  2. Vytvořte package.json pomocí následujícího příkazu:

    npm init -y
    
  3. Aktualizujte package.json na ECMAScript následujícím příkazem:

    npm pkg set type=module
    
  4. Nainstalujte klientskou knihovnu OpenAI pro JavaScript pomocí:

    npm install openai
    
  5. Pro doporučené ověřování bez hesla:

    npm install @azure/identity
    

Získat informace o prostředcích

Abyste mohli aplikaci ověřit pomocí prostředku Azure OpenAI, musíte načíst následující informace:

Název proměnné Hodnota
AZURE_OPENAI_ENDPOINT Tuto hodnotu najdete v sekci Klíče a koncový bod při kontrole vašeho prostředku v Azure portálu.
AZURE_OPENAI_DEPLOYMENT_NAME Tato hodnota bude odpovídat vlastnímu názvu, který jste si zvolili při nasazování modelu. Tuto hodnotu najdete v části Nasazení modelu správy>prostředků na webu Azure Portal.

Přečtěte si další informace o ověřování bez klíčů a nastavení proměnných prostředí.

Upozornění

Pokud chcete použít doporučované bezklíčové ověřování při použití sady SDK, ujistěte se, že proměnná prostředí AZURE_OPENAI_API_KEY není definovaná.

Generování imagí pomocí DALL-E

  1. index.ts Vytvořte soubor s následujícím kódem:

    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);
    });
    
  2. tsconfig.json Vytvořte soubor pro transpilování kódu TypeScript a zkopírujte následující kód pro 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"]
    }
    
  3. Transpilovat z TypeScriptu do JavaScriptu.

    tsc
    
  4. Přihlaste se k Azure pomocí následujícího příkazu:

    az login
    
  5. Spusťte kód pomocí následujícího příkazu:

    node index.js
    

Výstup

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

== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>

Poznámka:

Rozhraní API pro obrázky mají filtr moderování obsahu. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevrátí vygenerovaný obrázek. Další informace najdete v článku filtru obsahu.

Vyčistěte zdroje

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

Další kroky

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

kód knihovny | balíček | ukázky

Požadavky

Požadavky pro Microsoft Entra ID

Pro doporučené ověřování bez klíčů s ID Microsoft Entra musíte:

  • Nainstalujte Azure CLI, které se používá pro ověřování bez klíčů pomocí ID Microsoft Entra.
  • Přiřaďte k vašemu uživatelskému účtu roli Cognitive Services User. Role můžete přiřadit v portálu Azure v části Řízení přístupu (IAM)>Přidat přiřazení role.

Nastavení

  1. Vytvořte novou složku dall-e-quickstart a přejděte do složky průvodce rychlým začátkem pomocí následujícího příkazu:

    mkdir dall-e-quickstart && cd dall-e-quickstart
    
  2. Pro doporučené ověřování bez klíčů pomocí ID Microsoft Entra se přihlaste k Azure pomocí následujícího příkazu:

    az login
    

Získat informace o prostředcích

Abyste mohli aplikaci ověřit pomocí prostředku Azure OpenAI, musíte načíst následující informace:

Název proměnné Hodnota
AZURE_OPENAI_ENDPOINT Tuto hodnotu najdete v sekci Klíče a koncový bod při kontrole vašeho prostředku v Azure portálu.
AZURE_OPENAI_DEPLOYMENT_NAME Tato hodnota bude odpovídat vlastnímu názvu, který jste si zvolili při nasazování modelu. Tuto hodnotu najdete v části Nasazení modelu správy>prostředků na webu Azure Portal.

Přečtěte si další informace o ověřování bez klíčů a nastavení proměnných prostředí.

Spustit rychlý start

Ukázkový kód v tomto rychlém průvodci používá doporučené bezklíčové ověřování Microsoft Entra ID. Pokud dáváte přednost použití API klíče, můžete implementaci NewDefaultAzureCredential nahradit NewKeyCredential.

azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
credential, err := azidentity.NewDefaultAzureCredential(nil)
client, err := azopenai.NewClient(azureOpenAIEndpoint, credential, nil)

Chcete-li spustit ukázku:

  1. Vytvořte nový soubor s názvem quickstart.go. Do souboru quickstart.go zkopírujte následující kód.

     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)
    	}
    }
    
  2. Spuštěním následujícího příkazu vytvořte nový modul Go:

     go mod init quickstart.go
    
  3. Spusťte go mod tidy a nainstalujte požadované závislosti:

    go mod tidy
    
  4. Spuštěním následujícího příkazu spusťte ukázku:

     go run quickstart.go
    

Výstup

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

Image generated, HEAD request on URL returned 200
Image URL: <SAS URL>

Poznámka:

Rozhraní API pro obrázky mají filtr moderování obsahu. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevrátí vygenerovaný obrázek. Další informace najdete v článku filtru obsahu.

Vyčistěte zdroje

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Smazání skupiny prostředků také smaže všechny ostatní prostředky s ní spojené.

Další kroky

V této příručce se dozvíte, jak začít volat API pro generování obrázků pomocí Azure OpenAI Modelů v prostředí Microsoft Foundry za použití PowerShellu.

Požadavky

Požadavky pro Microsoft Entra ID

Pro doporučené ověřování bez klíčů s ID Microsoft Entra musíte:

  • Nainstalujte Azure CLI, které se používá pro ověřování bez klíčů pomocí ID Microsoft Entra.
  • Přiřaďte k vašemu uživatelskému účtu roli Cognitive Services User. Role můžete přiřadit v portálu Azure v části Řízení přístupu (IAM)>Přidat přiřazení role.

Získat informace o prostředcích

Abyste mohli aplikaci ověřit pomocí prostředku Azure OpenAI, musíte načíst následující informace:

Název proměnné Hodnota
AZURE_OPENAI_ENDPOINT Tuto hodnotu najdete v sekci Klíče a koncový bod při kontrole vašeho prostředku v Azure portálu.
AZURE_OPENAI_DEPLOYMENT_NAME Tato hodnota bude odpovídat vlastnímu názvu, který jste si zvolili při nasazování modelu. Tuto hodnotu najdete v části Nasazení modelu správy>prostředků na webu Azure Portal.

Přečtěte si další informace o ověřování bez klíčů a nastavení proměnných prostředí.

Generování imagí

  1. Pro doporučené ověřování bez klíčů pomocí ID Microsoft Entra se přihlaste k Azure pomocí následujícího příkazu:

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

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

     # Azure OpenAI metadata variables
     $openai = @{
         api_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
    

    Důležité

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

  4. Spusťte skript pomocí PowerShellu:

    ./quickstart.ps1
    

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

Výstup

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

Rozhraní API pro obrázky mají filtr moderování obsahu. Pokud služba rozpozná vaši výzvu jako škodlivý obsah, nevygeneruje obrázek. Další informace najdete v tématu Filtrování obsahu.

Vyčistěte zdroje

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Smazání skupiny prostředků také smaže všechny ostatní prostředky s ní spojené.

Další kroky

  • Vyzkoušejte příklady v úložišti GitHub ukázek Azure OpenAI.

V tomto průvodci můžete začít generovat obrázky pomocí Azure OpenAI v prohlížeči pomocí Microsoft Foundry.

Požadavky

Přejít na Foundry

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

Na cílové stránce Foundry vytvořte nebo vyberte nový projekt. V levém navigačním panelu přejděte na stránku Modely a koncové body . Vyberte Nasadit model a pak ze seznamu zvolte jeden z modelů DALL-E. Dokončete proces nasazení.

Na stránce modelu vyberte Otevřít v dětském hřišti.

Vyzkoušení generování imagí

Začněte zkoumat možnosti Azure OpenAI s přístupem bez kódu prostřednictvím dětského hřiště Images. Do textového pole zadejte výzvu k zadání obrázku a vyberte Generovat. Až bude image generovaná AI připravená, zobrazí se na stránce.

Poznámka:

Rozhraní API pro obrázky mají filtr moderování obsahu. Pokud Azure OpenAI rozpozná vaši výzvu jako škodlivý obsah, nevrátí vygenerovaný obrázek. Další informace najdete v tématu Filtrování obsahu.

Na dětském hřišti Obrázků si také můžete prohlédnout ukázky kódu Pythonu a cURL, které jsou předem vyplněné podle vašeho nastavení. Vyberte Zobrazit kód v horní části stránky. Tento kód můžete použít k napsání aplikace, která dokončí stejnou úlohu.

Vyčistěte zdroje

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Smazání skupiny prostředků také smaže všechny ostatní prostředky s ní spojené.

Další kroky