Megosztás a következőn keresztül:


Rövid útmutató: Képek létrehozása az Azure OpenAI-val a Microsoft Foundry-modellekben

Ezzel az útmutatóval megkezdheti az Azure OpenAI meghívását a Microsoft Foundry Models rendszerképgenerálási REST API-kban a Python használatával.

Előfeltételek

Beállítás

Kulcs és végpont lekérése

Az Azure OpenAI API-k sikeres meghívásához az alábbi információkra van szüksége az Azure OpenAI-erőforrásról:

Változó Név Érték
végpont api_base A végpont értéke az erőforrás kulcsai és végpontja alatt található az Azure Portalon. A végpontot az Foundry portál Üzembe helyezések lapján is megtalálhatja. Példavégpont: https://docs-test-001.openai.azure.com/.
Kulcs api_key A kulcsérték az erőforrás kulcsai és végpontja alatt is található az Azure Portalon. Az Azure két kulcsot hoz létre az erőforráshoz. Bármelyik értéket használhatja.

Nyissa meg az erőforrást az Azure portálon. A navigációs panelen válassza a Kulcsok és végpont lehetőséget az Erőforrás-kezelés területen. Másolja ki a végpont értékét és a hozzáférési kulcs értékét. Használhatja a KEY 1 vagy a KEY 2 értéket. A két kulcs mindig lehetővé teszi a kulcsok biztonságos elforgatását és újragenerálását anélkül, hogy szolgáltatáskimaradást okoz.

Képernyőkép egy Azure OpenAI-erőforrás Kulcsok és végpont lapjáról az Azure Portalon.

Környezeti változók

Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.

Fontos

Az Azure-erőforrásokhoz tartozó felügyelt identitásokkal rendelkező Microsoft Entra ID-hitelesítést javasoljuk, hogy ne tárolja a hitelesítő adatokat a felhőben futó alkalmazásokkal.

Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. API-kulcsok használata esetén biztonságosan tárolhatja őket az Azure Key Vaultban, rendszeresen elforgathatja a kulcsokat, és szerepköralapú hozzáférés-vezérléssel és hálózati hozzáférés-korlátozásokkal korlátozhatja az Azure Key Vaulthoz való hozzáférést. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.

Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Új Python-alkalmazás létrehozása

Hozzon létre egy quickstart.py nevű új Python-fájlt. Nyissa meg az új fájlt az előnyben részesített szerkesztőben vagy IDE-ben.

  1. Cserélje le a quickstart.py tartalmát a következő kódra. Módosítsa a kívánt szöveg értékét prompt . Állítsa be deployment a GPT-image-1 modell üzembe helyezésekor választott üzembe helyezési nevet is.

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

    A szkript szinkron képgenerálási API-hívást indít.

    Fontos

    Ne felejtse el eltávolítani a kulcsot a kódból, amikor elkészült, és soha ne tegye közzé nyilvánosan. A gyakorlatban használjon biztonságos módot a hitelesítő adatok tárolására és elérésére. További információ: Azure Key Vault.

  2. Futtassa az alkalmazást a python következő paranccsal:

    python quickstart.py
    

    Várjon néhány percet, hogy megkapja a választ.

Kimenet

A sikeres képgenerálási API-hívás kimenete az alábbi példához hasonlóan néz ki. A url mező egy URL-címet tartalmaz, ahová letöltheti a létrehozott lemezképet. Az URL-cím 24 órán át aktív marad.

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

A Kép API-k tartalommoderálási szűrőt tartalmaznak. Ha a szolgáltatás a kérést káros tartalomként ismeri fel, nem hoz létre képet. További információ: Tartalomszűrés. A hibaüzenetekre adott példákért tekintse meg a képgenerálás útmutatóját.

A rendszer a művelet állapotát Failed adja vissza, és az error.code üzenet értéke a következőre contentFiltervan állítva: . Íme egy példa:

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

Előfordulhat, hogy maga a létrehozott rendszerkép is szűrve van. Ebben az esetben a hibaüzenet a következőre Generated image was filtered as a result of our safety system.van állítva: . Íme egy példa:

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

Erőforrások tisztítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. A forráscsoport törlése azt is eredményezi, hogy bármely hozzá tartozó egyéb erőforrás is törlésre kerül.

Következő lépések

Ez az útmutató a Pythonhoz készült Azure OpenAI SDK-val való képek létrehozásának megkezdéséhez használható.

Kódtár forráskódja | Csomag | Minták

Előfeltételek

Beállítás

Kulcs és végpont lekérése

Az Azure OpenAI API-k sikeres meghívásához az alábbi információkra van szüksége az Azure OpenAI-erőforrásról:

Változó Név Érték
végpont api_base A végpont értéke az erőforrás kulcsai és végpontja alatt található az Azure Portalon. A végpontot a Microsoft Foundry portál Üzembe helyezések lapján is megtalálhatja. Példavégpont: https://docs-test-001.openai.azure.com/.
Kulcs api_key A kulcsérték az erőforrás kulcsai és végpontja alatt is található az Azure Portalon. Az Azure két kulcsot hoz létre az erőforráshoz. Bármelyik értéket használhatja.

Nyissa meg az erőforrást az Azure portálon. A navigációs panelen válassza a Kulcsok és végpont lehetőséget az Erőforrás-kezelés területen. Másolja ki a végpont értékét és a hozzáférési kulcs értékét. Használhatja a KEY 1 vagy a KEY 2 értéket. A két kulcs mindig lehetővé teszi a kulcsok biztonságos elforgatását és újragenerálását anélkül, hogy szolgáltatáskimaradást okoz.

Képernyőkép egy Azure OpenAI-erőforrás Kulcsok és végpont lapjáról az Azure Portalon.

Környezeti változók

Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.

Fontos

Az Azure-erőforrásokhoz tartozó felügyelt identitásokkal rendelkező Microsoft Entra ID-hitelesítést javasoljuk, hogy ne tárolja a hitelesítő adatokat a felhőben futó alkalmazásokkal.

Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. API-kulcsok használata esetén biztonságosan tárolhatja őket az Azure Key Vaultban, rendszeresen elforgathatja a kulcsokat, és szerepköralapú hozzáférés-vezérléssel és hálózati hozzáférés-korlátozásokkal korlátozhatja az Azure Key Vaulthoz való hozzáférést. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.

Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

A Python SDK telepítése

Nyisson meg egy parancssort, és keresse meg a projektmappát. Telepítse az OpenAI Python SDK-t a következő paranccsal:

pip install openai

Telepítse a következő kódtárakat is:

pip install requests
pip install pillow 

Képek létrehozása a DALL-E használatával

Hozzon létre egy új Python-fájlt, quickstart.py. Nyissa meg a kívánt szerkesztőben vagy IDE-ben.

Cserélje le a quickstart.py tartalmát a következő kódra.

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. Adja meg a végpont URL-címét és kulcsát a megfelelő mezőkben.
  2. Módosítsa a kívánt szöveg értékét prompt .
  3. Módosítsa az érték értékét model az üzembe helyezett DALL-E 3 modell nevére.

Fontos

Ne felejtse el eltávolítani a kulcsot a kódból, amikor elkészült, és soha ne tegye közzé nyilvánosan. A gyakorlatban használjon biztonságos módot a hitelesítő adatok tárolására és elérésére. További információ: Azure Key Vault.

Futtassa az alkalmazást a python következő paranccsal:

python quickstart.py

Várjon néhány percet, hogy megkapja a választ.

Kimenet

Az Azure OpenAI a kimeneti lemezképet a megadott könyvtárban lévő generated_image.png fájlban tárolja. A szkript az alapértelmezett képmegjelenítőben is megjeleníti a képet.

A Kép API-k tartalommoderálási szűrőt tartalmaznak. Ha a szolgáltatás a kérést káros tartalomként ismeri fel, nem hoz létre képet. További információ: Tartalomszűrés.

Erőforrások tisztítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. A forráscsoport törlése azt is eredményezi, hogy bármely hozzá tartozó egyéb erőforrás is törlésre kerül.

Következő lépések

Ez az útmutató az Azure OpenAI SDK for C# rendszerképeinek létrehozásának megkezdéséhez használható.

Kódtár forráskódcsomagja (NuGet) |

Előfeltételek

A Microsoft Entra ID előfeltételei

A Microsoft Entra-azonosítóval javasolt kulcs nélküli hitelesítéshez a következőket kell elvégeznie:

  • Telepítse a Kulcs nélküli hitelesítéshez használt Azure CLI-t a Microsoft Entra-azonosítóval.
  • Rendelje hozzá a Cognitive Services User szerepkört a felhasználói fiókjához. Szerepköröket az Azure Portalon rendelhet hozzá a Hozzáférés-vezérlés (IAM)>Szerepkör-hozzárendelés hozzáadása területen.

Beállítás

  1. Hozzon létre egy új mappát vision-quickstart, és lépjen a rövid útmutató mappába a következő paranccsal:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Hozzon létre egy új konzolalkalmazást a következő paranccsal:

    dotnet new console
    
  3. Telepítse az OpenAI .NET ügyfélkódtárat a dotnet add package paranccsal:

    dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
    
  4. A Microsoft Entra ID-val javasolt kulcs nélküli hitelesítéshez telepítse az Azure.Identity csomagot a következőkkel:

    dotnet add package Azure.Identity
    
  5. A Microsoft Entra ID-val javasolt kulcs nélküli hitelesítéshez jelentkezzen be az Azure-ba a következő paranccsal:

    az login
    

Erőforrásadatok lekérése

Az alkalmazás Azure OpenAI-erőforrással való hitelesítéséhez le kell kérnie a következő adatokat:

Változó neve Érték
AZURE_OPENAI_ENDPOINT Ez az érték a Kulcsok és végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja.
AZURE_OPENAI_DEPLOYMENT_NAME Ez az érték a modell üzembe helyezésekor az üzembe helyezéshez választott egyéni névnek felel meg. Ez az érték az Azure Portal Resource Management Model Deployments ( Erőforrás-kezelési>modell üzembe helyezései) területén található.

További információ a kulcs nélküli hitelesítésről és a környezeti változók beállításáról.

A gyors kezdés futtatása

A rövid útmutatóban szereplő mintakód a Microsoft Entra-azonosítót használja az ajánlott kulcs nélküli hitelesítéshez. Ha inkább API-kulcsot szeretne használni, lecserélheti az DefaultAzureCredential objektumot egy AzureKeyCredential objektumra.

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

A gyorstalpaló futtatásához kövesse az alábbi lépéseket:

  1. Cserélje le a Program.cs tartalmát a következő kóddal és frissítse a helyőrző értékeket a sajátjára.

    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. Futtassa az alkalmazást a dotnet run Visual Studio tetején található paranccsal vagy futtatási gombbal:

    dotnet run
    

Kimenet

A létrehozott kép URL-címe a konzolra lesz nyomtatva.

<SAS URL>

Megjegyzés:

A Kép API-k tartalommoderálási szűrőt tartalmaznak. Ha a szolgáltatás káros tartalomként ismeri fel a kérést, nem ad vissza létrehozott képet. További információkért tekintse meg a tartalomszűrő cikket.

Erőforrások tisztítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást. Az erőforrás törlése előtt törölnie kell az üzembe helyezett modelleket.

Következő lépések

Ezzel az útmutatóval megkezdheti a képek létrehozásának megkezdését a Java-hoz készült Azure OpenAI SDK-val.

Előfeltételek

A Microsoft Entra ID előfeltételei

A Microsoft Entra-azonosítóval javasolt kulcs nélküli hitelesítéshez a következőket kell elvégeznie:

  • Telepítse a Kulcs nélküli hitelesítéshez használt Azure CLI-t a Microsoft Entra-azonosítóval.
  • Rendelje hozzá a Cognitive Services User szerepkört a felhasználói fiókjához. Szerepköröket az Azure Portalon rendelhet hozzá a Hozzáférés-vezérlés (IAM)>Szerepkör-hozzárendelés hozzáadása területen.

Beállítás

  1. Hozzon létre egy új mappát vision-quickstart, és lépjen a rövid útmutató mappába a következő paranccsal:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Telepítse az Apache Maven-t. Ezután futtassa mvn -v a sikeres telepítés megerősítéséhez.

  3. Hozzon létre egy új pom.xml fájlt a projekt gyökerében, és másolja bele a következő kódot:

    <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. Telepítse az Azure OpenAI SDK-t és a függőségeket.

    mvn clean dependency:copy-dependencies
    
  5. A Microsoft Entra ID-val javasolt kulcs nélküli hitelesítéshez jelentkezzen be az Azure-ba a következő paranccsal:

    az login
    

Erőforrásadatok lekérése

Az alkalmazás Azure OpenAI-erőforrással való hitelesítéséhez le kell kérnie a következő adatokat:

Változó neve Érték
AZURE_OPENAI_ENDPOINT Ez az érték a Kulcsok és végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja.
AZURE_OPENAI_DEPLOYMENT_NAME Ez az érték a modell üzembe helyezésekor az üzembe helyezéshez választott egyéni névnek felel meg. Ez az érték az Azure Portal Resource Management Model Deployments ( Erőforrás-kezelési>modell üzembe helyezései) területén található.

További információ a kulcs nélküli hitelesítésről és a környezeti változók beállításáról.

Az alkalmazás futtatása

A rövid útmutatóban szereplő mintakód a Microsoft Entra-azonosítót használja az ajánlott kulcs nélküli hitelesítéshez. Ha inkább API-kulcsot szeretne használni, lecserélheti az DefaultAzureCredential objektumot egy AzureKeyCredential objektumra.

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

Az alábbi lépéseket követve hozzon létre egy konzolalkalmazást a beszédfelismeréshez.

  1. Hozzon létre egy Quickstart.java nevű új fájlt ugyanabban a projekt gyökérkönyvtárában.

  2. Másolja a következő kódot a 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. Lemezkép létrehozásához futtassa az új konzolalkalmazást:

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

Kimenet

A létrehozott kép URL-címe a konzolra lesz nyomtatva.

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

Megjegyzés:

A Kép API-k tartalommoderálási szűrőt tartalmaznak. Ha a szolgáltatás káros tartalomként ismeri fel a kérést, nem ad vissza létrehozott képet. További információkért tekintse meg a tartalomszűrő cikket.

Erőforrások tisztítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást. Az erőforrás törlése előtt törölnie kell az üzembe helyezett modelleket.

Következő lépések

Ezzel az útmutatóval megkezdheti a képek létrehozásának megkezdését a JavaScripthez készült Azure OpenAI SDK-val.

Referenciadokumentáció | Forráskód | Csomag (npm) | Példák

Előfeltételek

A Microsoft Entra ID előfeltételei

A Microsoft Entra-azonosítóval javasolt kulcs nélküli hitelesítéshez a következőket kell elvégeznie:

  • Telepítse a Kulcs nélküli hitelesítéshez használt Azure CLI-t a Microsoft Entra-azonosítóval.
  • Rendelje hozzá a Cognitive Services User szerepkört a felhasználói fiókjához. Szerepköröket az Azure Portalon rendelhet hozzá a Hozzáférés-vezérlés (IAM)>Szerepkör-hozzárendelés hozzáadása területen.

Beállítás

  1. Hozzon létre egy új mappát image-quickstart, és lépjen a rövid útmutató mappába a következő paranccsal:

    mkdir image-quickstart && cd image-quickstart
    
  2. Hozza létre a package.json következő paranccsal:

    npm init -y
    
  3. Telepítse a JavaScripthez készült OpenAI ügyfélkódtárat a következőkkel:

    npm install openai
    
  4. Az ajánlott jelszó nélküli hitelesítéshez:

    npm install @azure/identity
    

Erőforrásadatok lekérése

Az alkalmazás Azure OpenAI-erőforrással való hitelesítéséhez le kell kérnie a következő adatokat:

Változó neve Érték
AZURE_OPENAI_ENDPOINT Ez az érték a Kulcsok és végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja.
AZURE_OPENAI_DEPLOYMENT_NAME Ez az érték a modell üzembe helyezésekor az üzembe helyezéshez választott egyéni névnek felel meg. Ez az érték az Azure Portal Resource Management Model Deployments ( Erőforrás-kezelési>modell üzembe helyezései) területén található.

További információ a kulcs nélküli hitelesítésről és a környezeti változók beállításáról.

Figyelmeztetés

Ha az ajánlott kulcs nélküli hitelesítést szeretné használni az SDK-val, győződjön meg arról, hogy a AZURE_OPENAI_API_KEY környezeti változó nincs beállítva.

Képek létrehozása a DALL-E használatával

  1. Hozza létre a index.js fájlt a következő kóddal:

    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. Jelentkezzen be az Azure-ba a következő paranccsal:

    az login
    
  3. Futtassa a JavaScript-fájlt.

    node index.js
    

Kimenet

A létrehozott kép URL-címe a konzolra lesz nyomtatva.

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

Megjegyzés:

A Kép API-k tartalommoderálási szűrőt tartalmaznak. Ha a szolgáltatás káros tartalomként ismeri fel a kérést, nem ad vissza létrehozott képet. További információkért tekintse meg a tartalomszűrő cikket.

Erőforrások tisztítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást. Az erőforrás törlése előtt törölnie kell az üzembe helyezett modelleket.

Következő lépések

Ezzel az útmutatóval megkezdheti a képek létrehozásának megkezdését a JavaScripthez készült Azure OpenAI SDK-val.

Referenciadokumentáció | Forráskód | Csomag (npm) | Példák

Előfeltételek

A Microsoft Entra ID előfeltételei

A Microsoft Entra-azonosítóval javasolt kulcs nélküli hitelesítéshez a következőket kell elvégeznie:

  • Telepítse a Kulcs nélküli hitelesítéshez használt Azure CLI-t a Microsoft Entra-azonosítóval.
  • Rendelje hozzá a Cognitive Services User szerepkört a felhasználói fiókjához. Szerepköröket az Azure Portalon rendelhet hozzá a Hozzáférés-vezérlés (IAM)>Szerepkör-hozzárendelés hozzáadása területen.

Beállítás

  1. Hozzon létre egy új mappát image-quickstart, és lépjen a rövid útmutató mappába a következő paranccsal:

    mkdir image-quickstart && cd image-quickstart
    
  2. Hozza létre a package.json következő paranccsal:

    npm init -y
    
  3. Frissítse a package.json ECMAScriptre a következő paranccsal:

    npm pkg set type=module
    
  4. Telepítse a JavaScripthez készült OpenAI ügyfélkódtárat a következőkkel:

    npm install openai
    
  5. Az ajánlott jelszó nélküli hitelesítéshez:

    npm install @azure/identity
    

Erőforrásadatok lekérése

Az alkalmazás Azure OpenAI-erőforrással való hitelesítéséhez le kell kérnie a következő adatokat:

Változó neve Érték
AZURE_OPENAI_ENDPOINT Ez az érték a Kulcsok és végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja.
AZURE_OPENAI_DEPLOYMENT_NAME Ez az érték a modell üzembe helyezésekor az üzembe helyezéshez választott egyéni névnek felel meg. Ez az érték az Azure Portal Resource Management Model Deployments ( Erőforrás-kezelési>modell üzembe helyezései) területén található.

További információ a kulcs nélküli hitelesítésről és a környezeti változók beállításáról.

Figyelmeztetés

Ha az ajánlott kulcs nélküli hitelesítést szeretné használni az SDK-val, győződjön meg arról, hogy a AZURE_OPENAI_API_KEY környezeti változó nincs beállítva.

Képek létrehozása a DALL-E használatával

  1. Hozza létre a index.ts fájlt a következő kóddal:

    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. Hozza létre a fájlt a tsconfig.json TypeScript-kód fordításához, és másolja a következő kódot az ECMAScripthez.

    {
        "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. Transpilálás TypeScriptről JavaScriptre.

    tsc
    
  4. Jelentkezzen be az Azure-ba a következő paranccsal:

    az login
    
  5. Futtassa a kódot a következő paranccsal:

    node index.js
    

Kimenet

A létrehozott kép URL-címe a konzolra lesz nyomtatva.

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

Megjegyzés:

A Kép API-k tartalommoderálási szűrőt tartalmaznak. Ha a szolgáltatás káros tartalomként ismeri fel a kérést, nem ad vissza létrehozott képet. További információkért tekintse meg a tartalomszűrő cikket.

Erőforrások tisztítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást. Az erőforrás törlése előtt törölnie kell az üzembe helyezett modelleket.

Következő lépések

Ez az útmutató az Azure OpenAI SDK for Go rendszerképeinek létrehozásának megkezdéséhez használható.

Kódtár forráskódja | Csomag | Minták

Előfeltételek

A Microsoft Entra ID előfeltételei

A Microsoft Entra-azonosítóval javasolt kulcs nélküli hitelesítéshez a következőket kell elvégeznie:

  • Telepítse a Kulcs nélküli hitelesítéshez használt Azure CLI-t a Microsoft Entra-azonosítóval.
  • Rendelje hozzá a Cognitive Services User szerepkört a felhasználói fiókjához. Szerepköröket az Azure Portalon rendelhet hozzá a Hozzáférés-vezérlés (IAM)>Szerepkör-hozzárendelés hozzáadása területen.

Beállítás

  1. Hozzon létre egy új mappát dall-e-quickstart, és lépjen a rövid útmutató mappába a következő paranccsal:

    mkdir dall-e-quickstart && cd dall-e-quickstart
    
  2. A Microsoft Entra ID-val javasolt kulcs nélküli hitelesítéshez jelentkezzen be az Azure-ba a következő paranccsal:

    az login
    

Erőforrásadatok lekérése

Az alkalmazás Azure OpenAI-erőforrással való hitelesítéséhez le kell kérnie a következő adatokat:

Változó neve Érték
AZURE_OPENAI_ENDPOINT Ez az érték a Kulcsok és végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja.
AZURE_OPENAI_DEPLOYMENT_NAME Ez az érték a modell üzembe helyezésekor az üzembe helyezéshez választott egyéni névnek felel meg. Ez az érték az Azure Portal Resource Management Model Deployments ( Erőforrás-kezelési>modell üzembe helyezései) területén található.

További információ a kulcs nélküli hitelesítésről és a környezeti változók beállításáról.

A gyors kezdés futtatása

A rövid útmutatóban szereplő mintakód a Microsoft Entra-azonosítót használja az ajánlott kulcs nélküli hitelesítéshez. Ha inkább API-kulcsot szeretne használni, lecserélheti az implementációt a NewDefaultAzureCredential következőre NewKeyCredential: .

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

A minta futtatásához:

  1. Hozzon létre egy quickstart.go nevű új fájlt. Másolja a következő kódot a quickstart.go fájlba .

     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. Futtassa a következő parancsot egy új Go-modul létrehozásához:

     go mod init quickstart.go
    
  3. A szükséges függőségek telepítéséhez futtassa go mod tidy.

    go mod tidy
    
  4. Futtassa a következő parancsot a minta futtatásához:

     go run quickstart.go
    

Kimenet

A létrehozott kép URL-címe a konzolra lesz nyomtatva.

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

Megjegyzés:

A Kép API-k tartalommoderálási szűrőt tartalmaznak. Ha a szolgáltatás káros tartalomként ismeri fel a kérést, nem ad vissza létrehozott képet. További információkért tekintse meg a tartalomszűrő cikket.

Erőforrások tisztítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. A forráscsoport törlése azt is eredményezi, hogy bármely hozzá tartozó egyéb erőforrás is törlésre kerül.

Következő lépések

Ezzel az útmutatóval megkezdheti az Azure OpenAI meghívását a Microsoft Foundry Models rendszerképgenerálási API-kban a PowerShell használatával.

Előfeltételek

A Microsoft Entra ID előfeltételei

A Microsoft Entra-azonosítóval javasolt kulcs nélküli hitelesítéshez a következőket kell elvégeznie:

  • Telepítse a Kulcs nélküli hitelesítéshez használt Azure CLI-t a Microsoft Entra-azonosítóval.
  • Rendelje hozzá a Cognitive Services User szerepkört a felhasználói fiókjához. Szerepköröket az Azure Portalon rendelhet hozzá a Hozzáférés-vezérlés (IAM)>Szerepkör-hozzárendelés hozzáadása területen.

Erőforrásadatok lekérése

Az alkalmazás Azure OpenAI-erőforrással való hitelesítéséhez le kell kérnie a következő adatokat:

Változó neve Érték
AZURE_OPENAI_ENDPOINT Ez az érték a Kulcsok és végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja.
AZURE_OPENAI_DEPLOYMENT_NAME Ez az érték a modell üzembe helyezésekor az üzembe helyezéshez választott egyéni névnek felel meg. Ez az érték az Azure Portal Resource Management Model Deployments ( Erőforrás-kezelési>modell üzembe helyezései) területén található.

További információ a kulcs nélküli hitelesítésről és a környezeti változók beállításáról.

Képek létrehozása

  1. A Microsoft Entra ID-val javasolt kulcs nélküli hitelesítéshez jelentkezzen be az Azure-ba a következő paranccsal:

    az login
    
  2. Hozzon létre egy új, quickstart.ps1nevű PowerShell-fájlt. Ezután nyissa meg a kívánt szerkesztőben vagy IDE-ben.

  3. Cserélje le a quickstart.ps1 tartalmát a következő kódra. Adja meg a végpont URL-címét és kulcsát a megfelelő mezőkben. Módosítsa a kívánt szöveg értékét prompt .

     # 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
    

    Fontos

    Éles környezetben használjon biztonságos módszert a hitelesítő adatok tárolására és elérésére, például a PowerShell Secret Management az Azure Key Vaulttal. A hitelesítő adatok biztonságáról további információt ebben a biztonsági cikkben talál.

  4. Futtassa a szkriptet a PowerShell használatával:

    ./quickstart.ps1
    

    A szkript addig hurkol, amíg a létrehozott rendszerkép el nem készül.

Kimenet

A PowerShell lekéri a rendszerképet az Azure OpenAI-ból, és a kimeneti lemezképet a megadott könyvtárban lévő generated_image.png fájlban tárolja. Az egyszerűség kedvéért a fájl teljes elérési útja a szkript végén lesz visszaadva.

A Kép API-k tartalommoderálási szűrőt tartalmaznak. Ha a szolgáltatás a kérést káros tartalomként ismeri fel, nem hoz létre képet. További információ: Tartalomszűrés.

Erőforrások tisztítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. A forráscsoport törlése azt is eredményezi, hogy bármely hozzá tartozó egyéb erőforrás is törlésre kerül.

Következő lépések

  • Az Image API útmutatójával részletesebben is megismerheti a Kép API-kat.

Ezzel az útmutatóval megkezdheti a képek generálását az Azure OpenAI-val a Microsoft Foundry böngészőben.

Előfeltételek

Ugrás az Foundryre

Keresse meg az Foundryt , és jelentkezzen be az Azure OpenAI-erőforráshoz társított hitelesítő adatokkal. A bejelentkezési munkafolyamat során vagy után válassza ki a megfelelő könyvtárat, Azure-előfizetést és Azure OpenAI-erőforrást.

Az Foundry kezdőlapján hozzon létre vagy válasszon ki egy új projektet. Navigáljon a bal oldali navigációs sáv Modellek + végpontok lapjára. Válassza a Modell üzembe helyezése lehetőséget, majd válasszon egy DALL-E modellt a listából. Végezze el az üzembe helyezési folyamatot.

A modell oldalán válassza a Megnyitás a játszótéren lehetőséget.

Képgenerálás kipróbálása

Az Azure OpenAI képességeinek felfedezése kód nélküli megközelítéssel az Images-játszótéren keresztül. Írja be a kép parancssorát a szövegmezőbe, és válassza a Létrehozás lehetőséget. Amikor az AI által létrehozott rendszerkép készen áll, megjelenik az oldalon.

Megjegyzés:

A Kép API-k tartalommoderálási szűrőt tartalmaznak. Ha az Azure OpenAI káros tartalomként ismeri fel a kérést, nem ad vissza létrehozott rendszerképet. További információ: Tartalomszűrés.

A Képek játszótéren a Beállítások szerint előre kitöltött Python- és cURL-kódmintákat is megtekintheti. Válassza a Kód megtekintése a lap tetején lehetőséget. Ezzel a kóddal olyan alkalmazást írhat, amely ugyanazt a feladatot hajtja végre.

Erőforrások tisztítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. A forráscsoport törlése azt is eredményezi, hogy bármely hozzá tartozó egyéb erőforrás is törlésre kerül.

Következő lépések