Bagikan melalui


Mulai cepat: Menghasilkan gambar dengan Azure OpenAI di Model Azure AI Foundry

Nota

API pembuatan gambar membuat gambar dari perintah teks. Ini tidak mengedit atau membuat variasi dari gambar yang ada.

Gunakan panduan ini untuk mulai menghasilkan gambar dengan Azure OpenAI di browser Anda dengan Azure AI Foundry.

Prasyarat

Pergi ke Azure AI Foundry

Telusuri ke Azure AI Foundry dan masuk dengan kredensial yang terkait dengan sumber daya Azure OpenAI Anda. Selama atau setelah alur kerja masuk, pilih direktori, langganan Azure, dan sumber daya Azure OpenAI yang sesuai.

Dari halaman arahan Azure AI Foundry, buat atau pilih proyek baru. Navigasi ke halaman Model + titik akhir di navigasi kiri. Pilih Sebarkan model lalu pilih salah satu model DALL-E dari daftar. Selesaikan proses penyebaran.

Pada halaman model, pilih Buka di taman bermain.

Mencoba pembuatan gambar

Mulai jelajahi kemampuan Azure OpenAI dengan pendekatan tanpa kode melalui taman bermain Gambar. Masukkan prompt gambar Anda ke dalam kotak teks dan pilih Buat. Saat gambar yang dihasilkan AI siap, gambar tersebut akan muncul di halaman.

Nota

API Gambar dilengkapi dengan filter moderasi konten. Jika Azure OpenAI mengenali permintaan Anda sebagai konten berbahaya, azure OpenAI tidak mengembalikan gambar yang dihasilkan. Untuk informasi selengkapnya, lihat Pemfilteran konten.

Di taman bermain Gambar, Anda juga dapat melihat sampel kode Python dan cURL, yang telah diisi sebelumnya sesuai dengan pengaturan Anda. Pilih Tampilkan kode di dekat bagian atas halaman. Anda dapat menggunakan kode ini untuk menulis aplikasi yang menyelesaikan tugas yang sama.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus kelompok sumber daya juga akan menghapus sumber daya lain yang terkait dengannya.

Langkah selanjutnya

Gunakan panduan ini untuk mulai memanggil Azure OpenAI di REST API pembuatan gambar Azure AI Foundry Models dengan menggunakan Python.

Prasyarat

Pengaturan

Ambil kunci dan titik akhir

Agar berhasil memanggil API Azure OpenAI, Anda memerlukan informasi berikut tentang sumber daya Azure OpenAI Anda:

Variabel Nama Nilai
Titik Akhir api_base Nilai titik akhir terletak di bawah Kunci dan Titik Akhir untuk sumber daya Anda di portal Azure. Anda juga dapat menemukan titik akhir melalui halaman Penyebaran di portal Azure AI Foundry. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/.
Kunci api_key Nilai kunci juga terletak di bawah Kunci dan Titik Akhir untuk sumber daya Anda di portal Azure. Azure menghasilkan dua kunci untuk sumber daya Anda. Anda dapat menggunakan salah satu nilai.

Buka sumber daya Anda di portal Azure. Pada panel navigasi, pilih Titik Akhir dan Kunci di bawah Manajemen Sumber Daya. Salin nilai Titik akhir dan nilai kunci akses. Anda dapat menggunakan nilai KEY 1 atau KEY 2 . Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.

Cuplikan layar yang memperlihatkan halaman Kunci dan Titik Akhir untuk sumber daya Azure OpenAI di portal Azure.

Variabel lingkungan

Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.

Penting

Kami merekomendasikan autentikasi ID Microsoft Entra dengan identitas terkelola untuk sumber daya Azure untuk menghindari penyimpanan kredensial dengan aplikasi Anda yang berjalan di cloud.

Gunakan kunci API dengan hati-hati. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik. Jika menggunakan kunci API, simpan dengan aman di Azure Key Vault, putar kunci secara teratur, dan batasi akses ke Azure Key Vault menggunakan kontrol akses berbasis peran dan pembatasan akses jaringan. Untuk informasi selengkapnya tentang menggunakan kunci API dengan aman di aplikasi Anda, lihat Kunci API dengan Azure Key Vault.

Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Membuat aplikasi Python baru

Buat file Python baru bernama quickstart.py. Buka file baru di editor atau IDE pilihan Anda.

  1. Ganti konten quickstart.py dengan kode berikut. Ubah nilai prompt menjadi teks pilihan Anda. Juga atur deployment ke nama penyebaran yang Anda pilih saat menyebarkan model 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")
    

    Skrip membuat panggilan API pembuatan gambar yang sinkron.

    Penting

    Ingatlah untuk menghapus kunci dari kode Anda setelah selesai, dan jangan pernah memposting kunci Anda secara publik. Untuk produksi, gunakan metode yang aman dalam menyimpan dan mengakses kredensial Anda. Untuk informasi selengkapnya, lihat Azure Key Vault.

  2. Jalankan aplikasi dengan python perintah:

    python quickstart.py
    

    Tunggu beberapa saat untuk mendapatkan respons.

Keluaran

Output dari panggilan API pembuatan gambar yang berhasil terlihat seperti contoh berikut. Bidang url berisi URL tempat Anda dapat mengunduh gambar yang dihasilkan. URL tetap aktif selama 24 jam.

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

API Gambar dilengkapi dengan filter moderasi konten. Jika layanan mengenali permintaan Anda sebagai konten berbahaya, maka layanan tidak menghasilkan gambar. Untuk informasi selengkapnya, lihat Pemfilteran konten. Untuk contoh respons kesalahan, lihat panduan cara pembuatan gambar.

Sistem mengembalikan status Failed operasi dan error.code nilai dalam pesan diatur ke contentFilter. Berikut adalah sebuah contoh:

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

Ada kemungkinan juga bahwa gambar yang dihasilkan itu sendiri difilter. Dalam hal ini, pesan kesalahan diatur ke Generated image was filtered as a result of our safety system.. Berikut adalah sebuah contoh:

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

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus kelompok sumber daya juga akan menghapus sumber daya lain yang terkait dengannya.

Langkah selanjutnya

Gunakan panduan ini untuk mulai menghasilkan gambar dengan Azure OpenAI SDK untuk Python.

Kode sumber pustaka | Paket | Sampel

Prasyarat

Pengaturan

Ambil kunci dan titik akhir

Agar berhasil memanggil API Azure OpenAI, Anda memerlukan informasi berikut tentang sumber daya Azure OpenAI Anda:

Variabel Nama Nilai
Titik Akhir api_base Nilai titik akhir terletak di bawah Kunci dan Titik Akhir untuk sumber daya Anda di portal Azure. Anda juga dapat menemukan titik akhir melalui halaman Penyebaran di portal Azure AI Foundry. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/.
Kunci api_key Nilai kunci juga terletak di bawah Kunci dan Titik Akhir untuk sumber daya Anda di portal Azure. Azure menghasilkan dua kunci untuk sumber daya Anda. Anda dapat menggunakan salah satu nilai.

Buka sumber daya Anda di portal Azure. Pada panel navigasi, pilih Titik Akhir dan Kunci di bawah Manajemen Sumber Daya. Salin nilai Titik akhir dan nilai kunci akses. Anda dapat menggunakan nilai KEY 1 atau KEY 2 . Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.

Cuplikan layar yang memperlihatkan halaman Kunci dan Titik Akhir untuk sumber daya Azure OpenAI di portal Azure.

Variabel lingkungan

Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.

Penting

Kami merekomendasikan autentikasi ID Microsoft Entra dengan identitas terkelola untuk sumber daya Azure untuk menghindari penyimpanan kredensial dengan aplikasi Anda yang berjalan di cloud.

Gunakan kunci API dengan hati-hati. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik. Jika menggunakan kunci API, simpan dengan aman di Azure Key Vault, putar kunci secara teratur, dan batasi akses ke Azure Key Vault menggunakan kontrol akses berbasis peran dan pembatasan akses jaringan. Untuk informasi selengkapnya tentang menggunakan kunci API dengan aman di aplikasi Anda, lihat Kunci API dengan Azure Key Vault.

Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Menginstal Python SDK

Buka perintah dan telusuri folder proyek Anda. Instal OpenAI Python SDK dengan menggunakan perintah berikut:

pip install openai

Instal pustaka berikut juga:

pip install requests
pip install pillow 

Hasilkan gambar dengan DALL-E

Buat file python baru, quickstart.py. Buka file di editor atau IDE pilihan Anda.

Ganti konten quickstart.py dengan kode berikut.

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. Masukkan URL dan kunci titik akhir Anda di bidang yang sesuai.
  2. Ubah nilai prompt menjadi teks pilihan Anda.
  3. Ubah nilai model menjadi nama model DALL-E 3 anda yang disebarkan.

Penting

Ingatlah untuk menghapus kunci dari kode Anda setelah selesai, dan jangan pernah memposting kunci Anda secara publik. Untuk produksi, gunakan metode yang aman dalam menyimpan dan mengakses kredensial Anda. Untuk informasi selengkapnya, lihat Azure Key Vault.

Jalankan aplikasi dengan python perintah:

python quickstart.py

Tunggu beberapa saat untuk mendapatkan respons.

Keluaran

Azure OpenAI menyimpan gambar output dalam file generated_image.png di direktori yang Anda tentukan. Skrip juga menampilkan gambar di penampil gambar default Anda.

API Gambar dilengkapi dengan filter moderasi konten. Jika layanan mengenali permintaan Anda sebagai konten berbahaya, maka layanan tidak menghasilkan gambar. Untuk informasi selengkapnya, lihat Pemfilteran konten.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus kelompok sumber daya juga akan menghapus sumber daya lain yang terkait dengannya.

Langkah selanjutnya

Gunakan panduan ini untuk mulai menghasilkan gambar dengan Azure OpenAI SDK untuk C#.

Paket kode | sumber pustaka (NuGet) | Sampel

Prasyarat

Prasyarat ID Microsoft Entra

Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, Anda perlu:

  • Instal Azure CLI yang digunakan untuk autentikasi tanpa kunci dengan ID Microsoft Entra.
  • Tetapkan peran Cognitive Services User ke akun pengguna Anda. Anda dapat menetapkan peran di portal Microsoft Azure di bawah Kontrol akses (IAM)>Menambahkan penetapan peran.

Pengaturan

  1. Buat folder vision-quickstart baru dan buka folder mulai cepat dengan perintah berikut:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Buat aplikasi konsol baru dengan perintah berikut:

    dotnet new console
    
  3. Pasang pustaka klien OpenAI .NET dengan perintah 'dotnet add package':

    dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
    
  4. Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, instal paket Azure.Identity dengan:

    dotnet add package Azure.Identity
    
  5. Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, masuk ke Azure dengan perintah berikut:

    az login
    

Mengambil informasi sumber daya

Anda perlu mengambil informasi berikut untuk mengautentikasi aplikasi Anda dengan sumber daya Azure OpenAI Anda:

Nama variabel Nilai
AZURE_OPENAI_ENDPOINT Nilai ini dapat ditemukan di bagian Keys dan Endpoint saat memeriksa sumber daya Anda di portal Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Nilai ini akan sesuai dengan nama kustom yang Anda pilih ketika menerapkan model. Nilai ini dapat ditemukan di bawahPenyebaran Model Manajemen >Sumber Dayadi portal Microsoft Azure.
OPENAI_API_VERSION Pelajari selengkapnya tentang Versi API.

Anda dapat mengubah versi dalam kode atau menggunakan variabel lingkungan.

Pelajari selengkapnya tentang autentikasi tanpa kunci dan mengatur variabel lingkungan.

Jalankan mulai cepat

Kode sampel dalam panduan memulai cepat ini menggunakan Microsoft Entra ID untuk autentikasi tanpa kunci yang direkomendasikan. Jika Anda lebih suka menggunakan kunci API, Anda dapat mengganti DefaultAzureCredential objek dengan AzureKeyCredential objek.

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

Untuk menjalankan mulai cepat, ikuti langkah-langkah berikut:

  1. Gantilah isi Program.cs dengan kode berikut dan perbarui nilai placeholder dengan nilai Anda sendiri.

    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. Jalankan aplikasi menggunakan dotnet run perintah atau tombol jalankan di bagian atas Visual Studio:

    dotnet run
    

Keluaran

URL gambar yang dihasilkan dicetak ke konsol.

<SAS URL>

Nota

API Gambar dilengkapi dengan filter moderasi konten. Jika layanan mengenali permintaan Anda sebagai konten berbahaya, layanan tidak akan mengembalikan gambar yang dihasilkan. Untuk informasi selengkapnya, lihat artikel filter konten.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.

Langkah selanjutnya

  • Jelajahi API Gambar secara lebih mendalam dengan panduan penggunaan API Gambar.
  • Untuk contoh selengkapnya, lihat repositori GitHub Sampel Azure OpenAI.

Gunakan panduan ini untuk mulai menghasilkan gambar dengan Azure OpenAI SDK for Java.

Artefak kode | sumber pustaka (Maven) | Sampel

Prasyarat

Prasyarat ID Microsoft Entra

Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, Anda perlu:

  • Instal Azure CLI yang digunakan untuk autentikasi tanpa kunci dengan ID Microsoft Entra.
  • Tetapkan peran Cognitive Services User ke akun pengguna Anda. Anda dapat menetapkan peran di portal Microsoft Azure di bawah Kontrol akses (IAM)>Menambahkan penetapan peran.

Pengaturan

  1. Buat folder vision-quickstart baru dan buka folder mulai cepat dengan perintah berikut:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Menginstal Apache Maven. Kemudian jalankan mvn -v untuk mengonfirmasi keberhasilan penginstalan.

  3. Buat file baru pom.xml di akar proyek Anda, dan salin kode berikut ke dalamnya:

    <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. Instal Azure OpenAI SDK dan dependensi.

    mvn clean dependency:copy-dependencies
    
  5. Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, masuk ke Azure dengan perintah berikut:

    az login
    

Mengambil informasi sumber daya

Anda perlu mengambil informasi berikut untuk mengautentikasi aplikasi Anda dengan sumber daya Azure OpenAI Anda:

Nama variabel Nilai
AZURE_OPENAI_ENDPOINT Nilai ini dapat ditemukan di bagian Keys dan Endpoint saat memeriksa sumber daya Anda di portal Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Nilai ini akan sesuai dengan nama kustom yang Anda pilih ketika menerapkan model. Nilai ini dapat ditemukan di bawahPenyebaran Model Manajemen >Sumber Dayadi portal Microsoft Azure.
OPENAI_API_VERSION Pelajari selengkapnya tentang Versi API.

Anda dapat mengubah versi dalam kode atau menggunakan variabel lingkungan.

Pelajari selengkapnya tentang autentikasi tanpa kunci dan mengatur variabel lingkungan.

Menjalankan aplikasi

Kode sampel dalam panduan memulai cepat ini menggunakan Microsoft Entra ID untuk autentikasi tanpa kunci yang direkomendasikan. Jika Anda lebih suka menggunakan kunci API, Anda dapat mengganti DefaultAzureCredential objek dengan AzureKeyCredential objek.

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

Ikuti langkah-langkah ini untuk membuat aplikasi konsol untuk pengenalan ucapan.

  1. Buat file baru bernama Quickstart.java di direktori akar proyek yang sama.

  2. Salin kode berikut ke 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. Jalankan aplikasi konsol baru Anda untuk menghasilkan gambar:

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

Keluaran

URL gambar yang dihasilkan dicetak ke konsol.

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

Nota

API Gambar dilengkapi dengan filter moderasi konten. Jika layanan mengenali permintaan Anda sebagai konten berbahaya, layanan tidak akan mengembalikan gambar yang dihasilkan. Untuk informasi selengkapnya, lihat artikel filter konten.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.

Langkah selanjutnya

Gunakan panduan ini untuk mulai menghasilkan gambar dengan Azure OpenAI SDK for JavaScript.

Dokumentasi referensi | Kode sumber | Paket (npm) | Sampel

Prasyarat

Prasyarat ID Microsoft Entra

Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, Anda perlu:

  • Instal Azure CLI yang digunakan untuk autentikasi tanpa kunci dengan ID Microsoft Entra.
  • Tetapkan peran Cognitive Services User ke akun pengguna Anda. Anda dapat menetapkan peran di portal Microsoft Azure di bawah Kontrol akses (IAM)>Menambahkan penetapan peran.

Pengaturan

  1. Buat folder image-quickstart baru dan buka folder mulai cepat dengan perintah berikut:

    mkdir image-quickstart && cd image-quickstart
    
  2. Buat package.json dengan perintah berikut:

    npm init -y
    
  3. Instal pustaka klien OpenAI untuk JavaScript dengan:

    npm install openai
    
  4. Untuk autentikasi tanpa kata sandi yang direkomendasikan :

    npm install @azure/identity
    

Mengambil informasi sumber daya

Anda perlu mengambil informasi berikut untuk mengautentikasi aplikasi Anda dengan sumber daya Azure OpenAI Anda:

Nama variabel Nilai
AZURE_OPENAI_ENDPOINT Nilai ini dapat ditemukan di bagian Keys dan Endpoint saat memeriksa sumber daya Anda di portal Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Nilai ini akan sesuai dengan nama kustom yang Anda pilih ketika menerapkan model. Nilai ini dapat ditemukan di bawahPenyebaran Model Manajemen >Sumber Dayadi portal Microsoft Azure.
OPENAI_API_VERSION Pelajari selengkapnya tentang Versi API.

Anda dapat mengubah versi dalam kode atau menggunakan variabel lingkungan.

Pelajari selengkapnya tentang autentikasi tanpa kunci dan mengatur variabel lingkungan.

Perhatian

Untuk menggunakan autentikasi tanpa kunci yang direkomendasikan dengan SDK, pastikan variabel AZURE_OPENAI_API_KEY lingkungan tidak diatur.

Hasilkan gambar dengan DALL-E

  1. index.js Buat file dengan kode berikut:

    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. Masuk ke Azure dengan perintah berikut:

    az login
    
  3. Jalankan file JavaScript.

    node index.js
    

Keluaran

URL gambar yang dihasilkan dicetak ke konsol.

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

Nota

API Gambar dilengkapi dengan filter moderasi konten. Jika layanan mengenali permintaan Anda sebagai konten berbahaya, layanan tidak akan mengembalikan gambar yang dihasilkan. Untuk informasi selengkapnya, lihat artikel filter konten.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.

Langkah selanjutnya

  • Jelajahi API Gambar secara lebih mendalam dengan panduan penggunaan API Gambar.
  • Untuk contoh selengkapnya, lihat repositori GitHub Sampel Azure OpenAI.

Gunakan panduan ini untuk mulai menghasilkan gambar dengan Azure OpenAI SDK for JavaScript.

Dokumentasi referensi | Kode sumber | Paket (npm) | Sampel

Prasyarat

Prasyarat ID Microsoft Entra

Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, Anda perlu:

  • Instal Azure CLI yang digunakan untuk autentikasi tanpa kunci dengan ID Microsoft Entra.
  • Tetapkan peran Cognitive Services User ke akun pengguna Anda. Anda dapat menetapkan peran di portal Microsoft Azure di bawah Kontrol akses (IAM)>Menambahkan penetapan peran.

Pengaturan

  1. Buat folder image-quickstart baru dan buka folder mulai cepat dengan perintah berikut:

    mkdir image-quickstart && cd image-quickstart
    
  2. Buat package.json dengan perintah berikut:

    npm init -y
    
  3. package.json Perbarui ke ECMAScript dengan perintah berikut:

    npm pkg set type=module
    
  4. Instal pustaka klien OpenAI untuk JavaScript dengan:

    npm install openai
    
  5. Untuk autentikasi tanpa kata sandi yang direkomendasikan :

    npm install @azure/identity
    

Mengambil informasi sumber daya

Anda perlu mengambil informasi berikut untuk mengautentikasi aplikasi Anda dengan sumber daya Azure OpenAI Anda:

Nama variabel Nilai
AZURE_OPENAI_ENDPOINT Nilai ini dapat ditemukan di bagian Keys dan Endpoint saat memeriksa sumber daya Anda di portal Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Nilai ini akan sesuai dengan nama kustom yang Anda pilih ketika menerapkan model. Nilai ini dapat ditemukan di bawahPenyebaran Model Manajemen >Sumber Dayadi portal Microsoft Azure.
OPENAI_API_VERSION Pelajari selengkapnya tentang Versi API.

Anda dapat mengubah versi dalam kode atau menggunakan variabel lingkungan.

Pelajari selengkapnya tentang autentikasi tanpa kunci dan mengatur variabel lingkungan.

Perhatian

Untuk menggunakan autentikasi tanpa kunci yang direkomendasikan dengan SDK, pastikan variabel AZURE_OPENAI_API_KEY lingkungan tidak diatur.

Hasilkan gambar dengan DALL-E

  1. index.ts Buat file dengan kode berikut:

    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 Buat file untuk menerjemahkan kode TypeScript dan salin kode berikut untuk 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. Transpile dari TypeScript ke JavaScript.

    tsc
    
  4. Masuk ke Azure dengan perintah berikut:

    az login
    
  5. Jalankan kode dengan perintah berikut:

    node index.js
    

Keluaran

URL gambar yang dihasilkan dicetak ke konsol.

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

Nota

API Gambar dilengkapi dengan filter moderasi konten. Jika layanan mengenali permintaan Anda sebagai konten berbahaya, layanan tidak akan mengembalikan gambar yang dihasilkan. Untuk informasi selengkapnya, lihat artikel filter konten.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.

Langkah selanjutnya

  • Jelajahi API Gambar secara lebih mendalam dengan panduan penggunaan API Gambar.
  • Untuk contoh selengkapnya, lihat repositori GitHub Sampel Azure OpenAI.

Gunakan panduan ini untuk mulai menghasilkan gambar dengan Azure OpenAI SDK for Go.

Kode sumber pustaka | Paket | Sampel

Prasyarat

Prasyarat ID Microsoft Entra

Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, Anda perlu:

  • Instal Azure CLI yang digunakan untuk autentikasi tanpa kunci dengan ID Microsoft Entra.
  • Tetapkan peran Cognitive Services User ke akun pengguna Anda. Anda dapat menetapkan peran di portal Microsoft Azure di bawah Kontrol akses (IAM)>Menambahkan penetapan peran.

Pengaturan

  1. Buat folder dall-e-quickstart baru dan buka folder mulai cepat dengan perintah berikut:

    mkdir dall-e-quickstart && cd dall-e-quickstart
    
  2. Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, masuk ke Azure dengan perintah berikut:

    az login
    

Mengambil informasi sumber daya

Anda perlu mengambil informasi berikut untuk mengautentikasi aplikasi Anda dengan sumber daya Azure OpenAI Anda:

Nama variabel Nilai
AZURE_OPENAI_ENDPOINT Nilai ini dapat ditemukan di bagian Keys dan Endpoint saat memeriksa sumber daya Anda di portal Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Nilai ini akan sesuai dengan nama kustom yang Anda pilih ketika menerapkan model. Nilai ini dapat ditemukan di bawahPenyebaran Model Manajemen >Sumber Dayadi portal Microsoft Azure.
OPENAI_API_VERSION Pelajari selengkapnya tentang Versi API.

Anda dapat mengubah versi dalam kode atau menggunakan variabel lingkungan.

Pelajari selengkapnya tentang autentikasi tanpa kunci dan mengatur variabel lingkungan.

Jalankan mulai cepat

Kode sampel dalam panduan memulai cepat ini menggunakan Microsoft Entra ID untuk autentikasi tanpa kunci yang direkomendasikan. Jika Anda lebih suka menggunakan kunci API, Anda dapat mengganti NewDefaultAzureCredential implementasi dengan NewKeyCredential.

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

Untuk menjalankan sampel:

  1. Buat file baru bernama quickstart.go. Salin kode berikut ke dalam file quickstart.go .

     package main
    
    import (
    	"context"
    	"fmt"
    	"net/http"
    	"os"
    	"log"
    
    	"github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai"
    	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
    	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
    )
    
    func main() {
    	azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
    	modelDeploymentID := "dall-e-3"
    
    	credential, err := azidentity.NewDefaultAzureCredential(nil)
    	if err != nil {
    		log.Printf("ERROR: %s", err)
    		return
    	}
    
    	client, err := azopenai.NewClient(
    		azureOpenAIEndpoint, credential, nil)
    	if err != nil {
    		log.Printf("ERROR: %s", err)
    		return
    	}
    
    	resp, err := client.GetImageGenerations(context.TODO(), azopenai.ImageGenerationOptions{
    		Prompt:         to.Ptr("A painting of a cat in the style of Dali."),
    		ResponseFormat: to.Ptr(azopenai.ImageGenerationResponseFormatURL),
    		DeploymentName: to.Ptr(modelDeploymentID),
    	}, nil)
    
    	if err != nil {
    		// Implement application specific error handling logic.
    		log.Printf("ERROR: %s", err)
    		return
    	}
    
    	for _, generatedImage := range resp.Data {
    		// The underlying type for the generatedImage is determined by the value of
    		// ImageGenerationOptions.ResponseFormat. 
    		// In this example we use `azopenai.ImageGenerationResponseFormatURL`,
    		// so the underlying type will be ImageLocation.
    
    		resp, err := http.Head(*generatedImage.URL)
    
    		if err != nil {
    			// Implement application specific error handling logic.
    			log.Printf("ERROR: %s", err)
    			return
    		}
    
    		fmt.Fprintf(os.Stderr, "Image generated, HEAD request on URL returned %d\nImage URL: %s\n", resp.StatusCode, *generatedImage.URL)
    	}
    }
    
  2. Jalankan perintah berikut untuk membuat modul Go baru:

     go mod init quickstart.go
    
  3. Jalankan go mod tidy untuk menginstal dependensi yang diperlukan:

    go mod tidy
    
  4. Jalankan perintah berikut untuk menjalankan sampel:

     go run quickstart.go
    

Keluaran

URL gambar yang dihasilkan dicetak ke konsol.

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

Nota

API Gambar dilengkapi dengan filter moderasi konten. Jika layanan mengenali permintaan Anda sebagai konten berbahaya, layanan tidak akan mengembalikan gambar yang dihasilkan. Untuk informasi selengkapnya, lihat artikel filter konten.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus kelompok sumber daya juga akan menghapus sumber daya lain yang terkait dengannya.

Langkah selanjutnya

  • Jelajahi API Gambar secara lebih mendalam dengan panduan penggunaan API Gambar.
  • Untuk contoh selengkapnya, lihat repositori GitHub Sampel Azure OpenAI.

Gunakan panduan ini untuk mulai memanggil Azure OpenAI di API pembuatan gambar Model Azure AI Foundry dengan PowerShell.

Prasyarat

Prasyarat ID Microsoft Entra

Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, Anda perlu:

  • Instal Azure CLI yang digunakan untuk autentikasi tanpa kunci dengan ID Microsoft Entra.
  • Tetapkan peran Cognitive Services User ke akun pengguna Anda. Anda dapat menetapkan peran di portal Microsoft Azure di bawah Kontrol akses (IAM)>Menambahkan penetapan peran.

Mengambil informasi sumber daya

Anda perlu mengambil informasi berikut untuk mengautentikasi aplikasi Anda dengan sumber daya Azure OpenAI Anda:

Nama variabel Nilai
AZURE_OPENAI_ENDPOINT Nilai ini dapat ditemukan di bagian Keys dan Endpoint saat memeriksa sumber daya Anda di portal Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Nilai ini akan sesuai dengan nama kustom yang Anda pilih ketika menerapkan model. Nilai ini dapat ditemukan di bawahPenyebaran Model Manajemen >Sumber Dayadi portal Microsoft Azure.
OPENAI_API_VERSION Pelajari selengkapnya tentang Versi API.

Anda dapat mengubah versi dalam kode atau menggunakan variabel lingkungan.

Pelajari selengkapnya tentang autentikasi tanpa kunci dan mengatur variabel lingkungan.

Membuat gambar

  1. Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, masuk ke Azure dengan perintah berikut:

    az login
    
  2. Buat file PowerShell baru yang disebut quickstart.ps1. Lalu buka file di editor atau IDE pilihan Anda.

  3. Ganti konten quickstart.ps1 dengan kode berikut. Masukkan URL dan kunci titik akhir Anda di bidang yang sesuai. Ubah nilai prompt menjadi teks pilihan Anda.

     # 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
    

    Penting

    Untuk produksi, gunakan cara aman untuk menyimpan dan mengakses kredensial Anda seperti Manajemen Rahasia PowerShell dengan Azure Key Vault. Untuk informasi selengkapnya tentang keamanan kredensial, lihat artikel keamanan ini.

  4. Jalankan skrip menggunakan PowerShell:

    ./quickstart.ps1
    

    Skrip mengulang hingga gambar yang dihasilkan siap.

Keluaran

PowerShell meminta gambar dari Azure OpenAI dan menyimpan gambar output dalam file generated_image.png di direktori yang Anda tentukan. Untuk kenyamanan, jalur lengkap untuk file dikembalikan di akhir skrip.

API Gambar dilengkapi dengan filter moderasi konten. Jika layanan mengenali permintaan Anda sebagai konten berbahaya, maka layanan tidak menghasilkan gambar. Untuk informasi selengkapnya, lihat Pemfilteran konten.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus kelompok sumber daya juga akan menghapus sumber daya lain yang terkait dengannya.

Langkah selanjutnya

  • Coba contoh di repositori GitHub Sampel Azure OpenAI.