Bagikan melalui


API Realtime GPT-4o untuk ucapan dan audio (Pratinjau)

Catatan

Fitur ini masih dalam pratinjau umum. Pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan kami tidak merekomendasikannya untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Azure OpenAI GPT-4o Realtime API untuk ucapan dan audio adalah bagian dari keluarga model GPT-4o yang mendukung interaksi percakapan latensi rendah, "ucapan masuk, ucapan keluar". API audio realtime GPT-4o dirancang untuk menangani interaksi percakapan latensi rendah real time, sehingga sangat cocok untuk kasus penggunaan yang melibatkan interaksi langsung antara pengguna dan model, seperti agen dukungan pelanggan, asisten suara, dan penerjemah real time.

Sebagian besar pengguna Realtime API perlu mengirimkan dan menerima audio dari pengguna akhir secara real time, termasuk aplikasi yang menggunakan WebRTC atau sistem telepon. API Realtime tidak dirancang untuk terhubung langsung ke perangkat pengguna akhir dan bergantung pada integrasi klien untuk mengakhiri aliran audio pengguna akhir.

Model yang didukung

Model real-time GPT 4o tersedia untuk penyebaran global.

  • gpt-4o-realtime-preview (versi 2024-12-17)
  • gpt-4o-mini-realtime-preview (versi 2024-12-17)
  • gpt-4o-realtime-preview (versi 2024-10-01)

Lihat dokumentasi model dan versi untuk informasi selengkapnya.

Dukungan API

Dukungan untuk Realtime API pertama kali ditambahkan dalam versi 2024-10-01-previewAPI . Gunakan versi model terbaru 2024-12-17 .

Menyebarkan model untuk audio real time

Untuk menyebarkan gpt-4o-mini-realtime-preview model di portal Azure AI Foundry:

  1. Buka halaman Layanan Azure OpenAI di portal Azure AI Foundry. Pastikan Anda masuk dengan langganan Azure yang memiliki sumber daya Azure OpenAI Service Anda (dengan atau tanpa penyebaran model.)
  2. Pilih taman bermain audio Real-time dari bawah Playgrounds di panel kiri.
  3. Pilih + Buat penyebaran>baru Dari model dasar untuk membuka jendela penyebaran.
  4. Cari dan pilih gpt-4o-mini-realtime-preview model lalu pilih Sebarkan ke sumber daya yang dipilih.
  5. Di wizard penyebaran, pilih 2024-12-17 versi model.
  6. Ikuti wizard untuk menyelesaikan penyebaran model.

Setelah anda memiliki penyebaran gpt-4o-mini-realtime-preview model, Anda dapat berinteraksi dengannya secara real time di portal Azure AI Foundry Real-time audio playground atau Realtime API.

Menggunakan audio real time GPT-4o

Untuk mengobrol dengan model yang Anda sebarkan gpt-4o-mini-realtime-preview di taman bermain audio Real-time Azure AI Foundry, ikuti langkah-langkah berikut:

  1. Buka halaman Layanan Azure OpenAI di portal Azure AI Foundry. Pastikan Anda masuk dengan langganan Azure yang memiliki sumber daya Azure OpenAI Service dan model yang disebarkan gpt-4o-mini-realtime-preview .

  2. Pilih taman bermain audio Real-time dari bawah Playgrounds di panel kiri.

  3. Pilih model yang Anda sebarkan gpt-4o-mini-realtime-preview dari menu dropdown Penyebaran .

  4. Pilih Aktifkan mikrofon untuk mengizinkan browser mengakses mikrofon Anda. Jika Anda sudah memberikan izin, Anda dapat melewati langkah ini.

    Cuplikan layar taman bermain audio real time dengan model yang disebarkan dipilih.

  5. Secara opsional, Anda dapat mengedit konten di kotak teks Berikan instruksi model dan konteks . Berikan instruksi model tentang bagaimana seharusnya perilakunya dan konteks apa pun yang harus dirujuknya saat menghasilkan respons. Anda dapat menjelaskan kepribadian asisten, memberi tahu apa yang harus dan tidak boleh dijawab, dan memberi tahunya cara memformat respons.

  6. Secara opsional, ubah pengaturan seperti ambang batas, padding awalan, dan durasi keheningan.

  7. Pilih Mulai mendengarkan untuk memulai sesi. Anda dapat berbicara ke mikrofon untuk memulai obrolan.

    Cuplikan layar taman bermain audio real time dengan tombol mulai mendengarkan dan akses mikrofon diaktifkan.

  8. Anda dapat mengganggu obrolan kapan saja dengan berbicara. Anda dapat mengakhiri obrolan dengan memilih tombol Berhenti mendengarkan .

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 ke Cognitive Services User akun pengguna Anda. Anda dapat menetapkan peran dalam portal Azure di bawah Kontrol akses (IAM)>Menambahkan penetapan peran.

Menyebarkan model untuk audio real time

Untuk menyebarkan gpt-4o-mini-realtime-preview model di portal Azure AI Foundry:

  1. Buka halaman Layanan Azure OpenAI di portal Azure AI Foundry. Pastikan Anda masuk dengan langganan Azure yang memiliki sumber daya Azure OpenAI Service Anda (dengan atau tanpa penyebaran model.)
  2. Pilih taman bermain audio Real-time dari bawah Playgrounds di panel kiri.
  3. Pilih + Buat penyebaran>baru Dari model dasar untuk membuka jendela penyebaran.
  4. Cari dan pilih gpt-4o-mini-realtime-preview model lalu pilih Sebarkan ke sumber daya yang dipilih.
  5. Di wizard penyebaran, pilih 2024-12-17 versi model.
  6. Ikuti wizard untuk menyelesaikan penyebaran model.

Setelah anda memiliki penyebaran gpt-4o-mini-realtime-preview model, Anda dapat berinteraksi dengannya secara real time di portal Azure AI Foundry Real-time audio playground atau Realtime API.

Penyiapan

  1. Buat folder realtime-audio-quickstart baru untuk berisi aplikasi dan buka Visual Studio Code di folder tersebut dengan perintah berikut:

    mkdir realtime-audio-quickstart && code realtime-audio-quickstart
    
  2. package.json Buat dengan perintah berikut:

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

    npm pkg set type=module
    
  4. Instal pustaka klien audio real time untuk JavaScript dengan:

    npm install https://github.com/Azure-Samples/aoai-realtime-audio-sdk/releases/download/js/v0.5.2/rt-client-0.5.2.tgz
    
  5. Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, instal @azure/identity paket dengan:

    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 Kunci dan Titik Akhir saat memeriksa sumber daya Anda dari portal Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Nilai ini akan sesuai dengan nama kustom yang Anda pilih untuk penyebaran pada saat Anda menyebarkan model. Nilai ini dapat ditemukan di bawah Penyebaran Model Manajemen>Sumber Daya di portal Azure.
OPENAI_API_VERSION Pelajari selengkapnya tentang Versi API.

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.

Teks dalam audio keluar

  1. text-in-audio-out.js Buat file dengan kode berikut:

    import { DefaultAzureCredential } from "@azure/identity";
    import { LowLevelRTClient } from "rt-client";
    import dotenv from "dotenv";
    dotenv.config();
    async function text_in_audio_out() {
        // Set environment variables or edit the corresponding values here.
        const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "yourEndpoint";
        const deployment = "gpt-4o-mini-realtime-preview";
        if (!endpoint || !deployment) {
            throw new Error("You didn't set the environment variables.");
        }
        const client = new LowLevelRTClient(new URL(endpoint), new DefaultAzureCredential(), { deployment: deployment });
        try {
            await client.send({
                type: "response.create",
                response: {
                    modalities: ["audio", "text"],
                    instructions: "Please assist the user."
                }
            });
            for await (const message of client.messages()) {
                switch (message.type) {
                    case "response.done": {
                        break;
                    }
                    case "error": {
                        console.error(message.error);
                        break;
                    }
                    case "response.audio_transcript.delta": {
                        console.log(`Received text delta: ${message.delta}`);
                        break;
                    }
                    case "response.audio.delta": {
                        const buffer = Buffer.from(message.delta, "base64");
                        console.log(`Received ${buffer.length} bytes of audio data.`);
                        break;
                    }
                }
                if (message.type === "response.done" || message.type === "error") {
                    break;
                }
            }
        }
        finally {
            client.close();
        }
    }
    await text_in_audio_out();
    
  2. Masuk ke Azure dengan perintah berikut:

    az login
    
  3. Jalankan file JavaScript.

    node text-in-audio-out.js
    

Tunggu beberapa saat untuk mendapatkan respons.

Output

Skrip mendapatkan respons dari model dan mencetak data transkrip dan audio yang diterima.

Output akan terlihat serupa seperti berikut:

Received text delta: Hello
Received text delta: !
Received text delta:  How
Received text delta:  can
Received text delta:  I
Received 4800 bytes of audio data.
Received 7200 bytes of audio data.
Received text delta:  help
Received 12000 bytes of audio data.
Received text delta:  you
Received text delta:  today
Received text delta: ?
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 24000 bytes of audio data.

Sampel aplikasi web

Sampel web JavaScript kami di GitHub menunjukkan cara menggunakan API Realtime GPT-4o untuk berinteraksi dengan model secara real time. Kode sampel mencakup antarmuka web sederhana yang mengambil audio dari mikrofon pengguna dan mengirimkannya ke model untuk diproses. Model merespons dengan teks dan audio, yang dirender kode sampel di antarmuka web.

Anda dapat menjalankan kode sampel secara lokal di komputer Anda dengan mengikuti langkah-langkah ini. Lihat repositori di GitHub untuk mendapatkan instruksi terbaru.

  1. Jika Anda belum menginstal Node.js, unduh dan instal versi LTS Node.js.

  2. Kloning repositori ke komputer lokal Anda:

    git clone https://github.com/Azure-Samples/aoai-realtime-audio-sdk.git
    
  3. javascript/samples/web Buka folder di editor kode pilihan Anda.

    cd ./javascript/samples
    
  4. Jalankan download-pkg.ps1 atau download-pkg.sh untuk mengunduh paket yang diperlukan.

  5. web Buka folder dari ./javascript/samples folder .

    cd ./web
    
  6. Jalankan npm install untuk menginstal dependensi paket.

  7. Jalankan npm run dev untuk memulai server web, menavigasi permintaan izin firewall apa pun sesuai kebutuhan.

  8. Buka salah satu URI yang disediakan dari output konsol (seperti http://localhost:5173/) di browser.

  9. Masukkan informasi berikut di antarmuka web:

    • Titik akhir: Titik akhir sumber daya sumber daya Azure OpenAI. Anda tidak perlu menambahkan /realtime jalur. Contoh struktur mungkin .https://my-azure-openai-resource-from-portal.openai.azure.com
    • Kunci API: Kunci API yang sesuai untuk sumber daya Azure OpenAI.
    • Penyebaran: Nama gpt-4o-mini-realtime-preview model yang Anda sebarkan di bagian sebelumnya.
    • Pesan Sistem: Secara opsional, Anda dapat memberikan pesan sistem seperti "Anda selalu berbicara seperti bajak laut yang ramah."
    • Suhu: Secara opsional, Anda dapat memberikan suhu kustom.
    • Suara: Secara opsional, Anda dapat memilih suara.
  10. Pilih tombol Rekam untuk memulai sesi. Terima izin untuk menggunakan mikrofon Anda jika diminta.

  11. Anda akan melihat << Session Started >> pesan di output utama. Kemudian Anda dapat berbicara ke mikrofon untuk memulai obrolan.

  12. Anda dapat mengganggu obrolan kapan saja dengan berbicara. Anda dapat mengakhiri obrolan dengan memilih tombol Hentikan .

Prasyarat

  • Langganan Azure. Buat akun gratis.
  • Python 3.8 atau versi yang lebih baru. Sebaiknya gunakan Python 3.10 atau yang lebih baru, tetapi diperlukan setidaknya Python 3.8. Jika Anda tidak memiliki versi Python yang sesuai yang terinstal, Anda dapat mengikuti instruksi dalam Tutorial Python Visual Studio Code untuk cara term mudah menginstal Python pada sistem operasi Anda.
  • Sumber daya Azure OpenAI dibuat di salah satu wilayah yang didukung. Untuk informasi selengkapnya tentang ketersediaan wilayah, lihat dokumentasi model dan versi.
  • Kemudian, Anda perlu menyebarkan gpt-4o-mini-realtime-preview model dengan sumber daya Azure OpenAI Anda. Untuk informasi selengkapnya, lihat Membuat sumber daya dan menyebarkan model dengan Azure OpenAI.

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 ke Cognitive Services User akun pengguna Anda. Anda dapat menetapkan peran dalam portal Azure di bawah Kontrol akses (IAM)>Menambahkan penetapan peran.

Menyebarkan model untuk audio real time

Untuk menyebarkan gpt-4o-mini-realtime-preview model di portal Azure AI Foundry:

  1. Buka halaman Layanan Azure OpenAI di portal Azure AI Foundry. Pastikan Anda masuk dengan langganan Azure yang memiliki sumber daya Azure OpenAI Service Anda (dengan atau tanpa penyebaran model.)
  2. Pilih taman bermain audio Real-time dari bawah Playgrounds di panel kiri.
  3. Pilih + Buat penyebaran>baru Dari model dasar untuk membuka jendela penyebaran.
  4. Cari dan pilih gpt-4o-mini-realtime-preview model lalu pilih Sebarkan ke sumber daya yang dipilih.
  5. Di wizard penyebaran, pilih 2024-12-17 versi model.
  6. Ikuti wizard untuk menyelesaikan penyebaran model.

Setelah anda memiliki penyebaran gpt-4o-mini-realtime-preview model, Anda dapat berinteraksi dengannya secara real time di portal Azure AI Foundry Real-time audio playground atau Realtime API.

Penyiapan

  1. Buat folder realtime-audio-quickstart baru untuk berisi aplikasi dan buka Visual Studio Code di folder tersebut dengan perintah berikut:

    mkdir realtime-audio-quickstart && code realtime-audio-quickstart
    
  2. Buat lingkungan virtual. Jika Anda sudah menginstal Python 3.10 atau yang lebih tinggi, Anda dapat membuat lingkungan virtual menggunakan perintah berikut:

    py -3 -m venv .venv
    .venv\scripts\activate
    

    Mengaktifkan lingkungan Python berarti bahwa ketika Anda menjalankan python atau pip dari baris perintah, Anda kemudian menggunakan interpreter Python yang terkandung dalam .venv folder aplikasi Anda. Anda dapat menggunakan deactivate perintah untuk keluar dari lingkungan virtual python, dan nantinya dapat mengaktifkannya kembali saat diperlukan.

    Tip

    Kami menyarankan agar Anda membuat dan mengaktifkan lingkungan Python baru untuk digunakan untuk menginstal paket yang Anda butuhkan untuk tutorial ini. Jangan instal paket ke dalam penginstalan python global Anda. Anda harus selalu menggunakan lingkungan virtual atau conda saat menginstal paket python, jika tidak, Anda dapat memutuskan penginstalan global Python Anda.

  3. Instal pustaka klien audio real time untuk Python dengan:

    pip install "https://github.com/Azure-Samples/aoai-realtime-audio-sdk/releases/download/py%2Fv0.5.3/rtclient-0.5.3.tar.gz"
    
  4. Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, instal azure-identity paket dengan:

    pip 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 Kunci dan Titik Akhir saat memeriksa sumber daya Anda dari portal Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Nilai ini akan sesuai dengan nama kustom yang Anda pilih untuk penyebaran pada saat Anda menyebarkan model. Nilai ini dapat ditemukan di bawah Penyebaran Model Manajemen>Sumber Daya di portal Azure.
OPENAI_API_VERSION Pelajari selengkapnya tentang Versi API.

Pelajari selengkapnya tentang autentikasi tanpa kunci dan mengatur variabel lingkungan.

Teks dalam audio keluar

  1. text-in-audio-out.py Buat file dengan kode berikut:

    import base64
    import asyncio
    from azure.identity.aio import DefaultAzureCredential
    from rtclient import (
        ResponseCreateMessage,
        RTLowLevelClient,
        ResponseCreateParams
    )
    
    # Set environment variables or edit the corresponding values here.
    endpoint = os.environ["AZURE_OPENAI_ENDPOINT"]
    deployment = "gpt-4o-mini-realtime-preview"
    
    async def text_in_audio_out():
        async with RTLowLevelClient(
            url=endpoint,
            azure_deployment=deployment,
            token_credential=DefaultAzureCredential(),
        ) as client:
            await client.send(
                ResponseCreateMessage(
                    response=ResponseCreateParams(
                        modalities={"audio", "text"}, 
                        instructions="Please assist the user."
                    )
                )
            )
            done = False
            while not done:
                message = await client.recv()
                match message.type:
                    case "response.done":
                        done = True
                    case "error":
                        done = True
                        print(message.error)
                    case "response.audio_transcript.delta":
                        print(f"Received text delta: {message.delta}")
                    case "response.audio.delta":
                        buffer = base64.b64decode(message.delta)
                        print(f"Received {len(buffer)} bytes of audio data.")
                    case _:
                        pass
    
    async def main():
        await text_in_audio_out()
    
    asyncio.run(main())
    
  2. Jalankan file Python.

    python text-in-audio-out.py
    

Tunggu beberapa saat untuk mendapatkan respons.

Output

Skrip mendapatkan respons dari model dan mencetak data transkrip dan audio yang diterima.

Output akan terlihat serupa seperti berikut:

Received text delta: Hello
Received text delta: !
Received text delta:  How
Received 4800 bytes of audio data.
Received 7200 bytes of audio data.
Received text delta:  can
Received 12000 bytes of audio data.
Received text delta:  I
Received text delta:  assist
Received text delta:  you
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received text delta:  today
Received text delta: ?
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 28800 bytes of audio data.

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 ke Cognitive Services User akun pengguna Anda. Anda dapat menetapkan peran dalam portal Azure di bawah Kontrol akses (IAM)>Menambahkan penetapan peran.

Menyebarkan model untuk audio real time

Untuk menyebarkan gpt-4o-mini-realtime-preview model di portal Azure AI Foundry:

  1. Buka halaman Layanan Azure OpenAI di portal Azure AI Foundry. Pastikan Anda masuk dengan langganan Azure yang memiliki sumber daya Azure OpenAI Service Anda (dengan atau tanpa penyebaran model.)
  2. Pilih taman bermain audio Real-time dari bawah Playgrounds di panel kiri.
  3. Pilih + Buat penyebaran>baru Dari model dasar untuk membuka jendela penyebaran.
  4. Cari dan pilih gpt-4o-mini-realtime-preview model lalu pilih Sebarkan ke sumber daya yang dipilih.
  5. Di wizard penyebaran, pilih 2024-12-17 versi model.
  6. Ikuti wizard untuk menyelesaikan penyebaran model.

Setelah anda memiliki penyebaran gpt-4o-mini-realtime-preview model, Anda dapat berinteraksi dengannya secara real time di portal Azure AI Foundry Real-time audio playground atau Realtime API.

Penyiapan

  1. Buat folder realtime-audio-quickstart baru untuk berisi aplikasi dan buka Visual Studio Code di folder tersebut dengan perintah berikut:

    mkdir realtime-audio-quickstart && code realtime-audio-quickstart
    
  2. package.json Buat dengan perintah berikut:

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

    npm pkg set type=module
    
  4. Instal pustaka klien audio real time untuk JavaScript dengan:

    npm install https://github.com/Azure-Samples/aoai-realtime-audio-sdk/releases/download/js/v0.5.2/rt-client-0.5.2.tgz
    
  5. Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, instal @azure/identity paket dengan:

    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 Kunci dan Titik Akhir saat memeriksa sumber daya Anda dari portal Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Nilai ini akan sesuai dengan nama kustom yang Anda pilih untuk penyebaran pada saat Anda menyebarkan model. Nilai ini dapat ditemukan di bawah Penyebaran Model Manajemen>Sumber Daya di portal Azure.
OPENAI_API_VERSION Pelajari selengkapnya tentang Versi API.

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.

Teks dalam audio keluar

  1. text-in-audio-out.ts Buat file dengan kode berikut:

    import { DefaultAzureCredential } from "@azure/identity";
    import { LowLevelRTClient } from "rt-client";
    import dotenv from "dotenv";
    dotenv.config();
    
    async function text_in_audio_out() {
        // Set environment variables or edit the corresponding values here.
        const endpoint: string = process.env["AZURE_OPENAI_ENDPOINT"] || "yourEndpoint";
        const deployment = "gpt-4o-mini-realtime-preview";
        if (!endpoint || !deployment) {
            throw new Error("You didn't set the environment variables.");
        }
        const client = new LowLevelRTClient(
            new URL(endpoint), 
            new DefaultAzureCredential(), 
            {deployment: deployment}
        );
        try {
            await client.send({
                type: "response.create",
                response: {
                    modalities: ["audio", "text"],
                    instructions: "Please assist the user."
                }
            });
    
            for await (const message of client.messages()) {
                switch (message.type) {
                    case "response.done": {
                        break;
                    }
                    case "error": {
                        console.error(message.error);
                        break;
                    }
                    case "response.audio_transcript.delta": {
                        console.log(`Received text delta: ${message.delta}`);
                        break;
                    }
                    case "response.audio.delta": {
                        const buffer = Buffer.from(message.delta, "base64");
                        console.log(`Received ${buffer.length} bytes of audio data.`);
                        break;
                    }
                }
                if (message.type === "response.done" || message.type === "error") {
                    break;
                }
            }
        } finally {
            client.close();
        }
    }
    
    await text_in_audio_out();
    
  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 text-in-audio-out.js
    

Tunggu beberapa saat untuk mendapatkan respons.

Output

Skrip mendapatkan respons dari model dan mencetak data transkrip dan audio yang diterima.

Output akan terlihat serupa seperti berikut:

Received text delta: Hello
Received text delta: !
Received text delta:  How
Received text delta:  can
Received text delta:  I
Received 4800 bytes of audio data.
Received 7200 bytes of audio data.
Received text delta:  help
Received 12000 bytes of audio data.
Received text delta:  you
Received text delta:  today
Received text delta: ?
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 24000 bytes of audio data.