Aracılığıyla paylaş


Konuşma ve ses için GPT-4o Gerçek Zamanlı API (Önizleme)

Uyarı

Bu özellik şu anda genel önizlemededir. Bu önizleme, hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.

Konuşma ve ses için Azure OpenAI GPT-4o Realtime API,düşük gecikme süresi, "konuşma, konuşma çıkışı" konuşma etkileşimlerini destekleyen GPT-4o model ailesinin bir parçasıdır.

Modele ses girişi göndermek ve gerçek zamanlı olarak ses yanıtları almak için WebRTC veya WebSocket aracılığıyla Gerçek Zamanlı API'yi kullanabilirsiniz.

WebSockets aracılığıyla Gerçek Zamanlı API'yi kullanmaya başlamak için bu makaledeki yönergeleri izleyin. Düşük gecikme süresinin gerekli olmadığı sunucudan sunucuya senaryolarda WebSockets aracılığıyla Gerçek Zamanlı API'yi kullanın.

Tavsiye

Çoğu durumda, web uygulaması veya mobil uygulama gibi istemci tarafı uygulamalarda gerçek zamanlı ses akışı için WebRTC aracılığıyla Gerçek Zamanlı API'yi kullanmanızı öneririz. WebRTC, düşük gecikme süreli, gerçek zamanlı ses akışı için tasarlanmıştır ve çoğu kullanım örneği için en iyi seçenektir.

Desteklenen modeller

GPT 4o gerçek zamanlı modelleri genel dağıtımlar için kullanılabilir.

  • gpt-4o-realtime-preview (sürüm 2024-12-17)
  • gpt-4o-mini-realtime-preview (sürüm 2024-12-17)

Daha fazla bilgi için modeller ve sürümler belgelerine bakın.

API desteği

Gerçek Zamanlı API desteği ilk olarak API sürümünde 2024-10-01-preview eklendi (kullanımdan kaldırıldı). En son Gerçek Zamanlı API özelliklerine erişmek için sürümü 2025-04-01-preview kullanın.

Gerçek zamanlı ses için model dağıtma

Modeli Azure AI Foundry portalında dağıtmak gpt-4o-mini-realtime-preview için:

  1. Azure AI Foundry portalına gidin ve projenizi oluşturun veya seçin.
  2. Sol bölmedeki Varlıklarım'ın altından Modeller + uç noktalar'ı seçin.
  3. Dağıtım penceresini açmak için + Model Dağıt>Temel Modeli Dağıt seçin.
  4. Modeli arayıp seçin ve ardından Onayla'yı gpt-4o-mini-realtime-previewseçin.
  5. Dağıtım ayrıntılarını gözden geçirin ve Dağıt'ı seçin.
  6. Modeli dağıtma işlemini tamamlamak için sihirbazı izleyin.

Artık modelin dağıtımına sahip olduğunuz için gpt-4o-mini-realtime-preview Azure AI Foundry portalı Ses oyun alanı veya Gerçek Zamanlı API'de bu modelle etkileşim kurabilirsiniz.

GPT-4o gerçek zamanlı sesi kullanma

Azure AI Foundry gpt-4o-mini-realtime-preview oyun alanında dağıtılan modelinizle sohbet etmek için şu adımları izleyin:

  1. Azure AI Foundry portalına gidin ve dağıtılan gpt-4o-mini-realtime-preview modelinizin bulunduğu projenizi seçin.

  2. Sol bölmeden Oyun Alanları'nı seçin.

  3. Ses oyun alanı>Ses oyun alanını deneyin seçin.

    Uyarı

    Sohbet oyun alanı modeli desteklemezgpt-4o-mini-realtime-preview. Bu bölümde açıklandığı gibi Ses oyun alanı'nı kullanın.

  4. gpt-4o-mini-realtime-preview açılan listesinden dağıtılan modelinizi seçin.

    Dağıtılan modelin seçili olduğu ses oyun alanının ekran görüntüsü.

  5. İsteğe bağlı olarak, Model yönergelerini ve bağlam metin kutusunu kullanarak içeriği düzenleyebilirsiniz. Modele nasıl davranması gerektiği ve yanıt oluştururken başvurması gereken bağlamlar hakkında yönergeler verin. Yardımcının kişiliğini açıklayabilir, neye cevap verip vermemesi gerektiğini söyleyebilir ve yanıtları nasıl biçimlendireceğini anlatabilirsiniz.

  6. İsteğe bağlı olarak eşik, ön ek doldurma ve sessizlik süresi gibi ayarları değiştirin.

  7. Oturumu başlatmak için Dinlemeye başla'ya tıklayın. Sohbet başlatmak için mikrofona konuşabilirsiniz.

  8. Sohbeti istediğiniz zaman konuşarak kesebilirsiniz. Dinlemeyi durdur düğmesini seçerek sohbeti sonlandırabilirsiniz.

Önkoşullar

Microsoft Entra Id önkoşulları

Microsoft Entra Id ile önerilen anahtarsız kimlik doğrulaması için şunları yapmanız gerekir:

Gerçek zamanlı ses için model dağıtma

Modeli Azure AI Foundry portalında dağıtmak gpt-4o-mini-realtime-preview için:

  1. Azure AI Foundry portalına gidin ve projenizi oluşturun veya seçin.
  2. Sol bölmedeki Varlıklarım'ın altından Modeller + uç noktalar'ı seçin.
  3. Dağıtım penceresini açmak için + Model Dağıt>Temel Modeli Dağıt seçin.
  4. Modeli arayıp seçin ve ardından Onayla'yı gpt-4o-mini-realtime-previewseçin.
  5. Dağıtım ayrıntılarını gözden geçirin ve Dağıt'ı seçin.
  6. Modeli dağıtma işlemini tamamlamak için sihirbazı izleyin.

Artık modelin dağıtımına sahip olduğunuz için gpt-4o-mini-realtime-preview Azure AI Foundry portalı Ses oyun alanı veya Gerçek Zamanlı API'de bu modelle etkileşim kurabilirsiniz.

Kurulum

  1. Yeni bir klasör realtime-audio-quickstart oluşturun ve aşağıdaki komutu kullanarak hızlı başlangıç klasörüne gidin:

    mkdir realtime-audio-quickstart && cd realtime-audio-quickstart
    
  2. Aşağıdaki komutla package.json oluşturun:

    npm init -y
    
  3. JavaScript için OpenAI istemci kitaplığını şu şekilde yükleyin:

    npm install openai
    
  4. Microsoft Entra ID ile önerilen anahtarsız kimlik doğrulaması için paketi şu şekilde yükleyin @azure/identity :

    npm install @azure/identity
    

Kaynak bilgilerini alma

Azure OpenAI kaynağınızla uygulamanızın kimliğini doğrulamak için aşağıdaki bilgileri almanız gerekir:

Değişken adı Değer
AZURE_OPENAI_ENDPOINT Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir.
AZURE_OPENAI_DEPLOYMENT_NAME Dağıttığınız bir model için dağıtımınıza özel verdiğiniz isme bu değer karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi>Modeli Dağıtımları altında bulunabilir.
OPENAI_API_VERSION API Sürümleri hakkında daha fazla bilgi edinin.

Koddaki sürümü değiştirebilir veya bir ortam değişkeni kullanabilirsiniz.

Anahtarsız kimlik doğrulaması ve ortam değişkenlerini ayarlama hakkında daha fazla bilgi edinin.

Dikkat

SDK ile önerilen anahtarsız kimlik doğrulamasını kullanmak için ortam değişkeninin AZURE_OPENAI_API_KEY ayarlanmamış olduğundan emin olun.

Ses çıkışında metin

  1. index.js Dosyayı aşağıdaki kodla oluşturun:

    import { OpenAIRealtimeWS } from "openai/beta/realtime/ws";
    import { AzureOpenAI } from "openai";
    import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
    async function main() {
        // You will need to set these environment variables or edit the following values
        const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "AZURE_OPENAI_ENDPOINT";
        // Required Azure OpenAI deployment name and API version
        const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4o-mini-realtime-preview";
        const apiVersion = process.env.OPENAI_API_VERSION || "2025-04-01-preview";
        // Keyless authentication 
        const credential = new DefaultAzureCredential();
        const scope = "https://cognitiveservices.azure.com/.default";
        const azureADTokenProvider = getBearerTokenProvider(credential, scope);
        const azureOpenAIClient = new AzureOpenAI({
            azureADTokenProvider,
            apiVersion: apiVersion,
            deployment: deploymentName,
            endpoint: endpoint,
        });
        const realtimeClient = await OpenAIRealtimeWS.azure(azureOpenAIClient);
        realtimeClient.socket.on("open", () => {
            console.log("Connection opened!");
            realtimeClient.send({
                type: "session.update",
                session: {
                    modalities: ["text", "audio"],
                    model: "gpt-4o-mini-realtime-preview",
                },
            });
            realtimeClient.send({
                type: "conversation.item.create",
                item: {
                    type: "message",
                    role: "user",
                    content: [{ type: "input_text", text: "Please assist the user" }],
                },
            });
            realtimeClient.send({ type: "response.create" });
        });
        realtimeClient.on("error", (err) => {
            // Instead of throwing the error, you can log it
            // and continue processing events.
            throw err;
        });
        realtimeClient.on("session.created", (event) => {
            console.log("session created!", event.session);
            console.log();
        });
        realtimeClient.on("response.text.delta", (event) => process.stdout.write(event.delta));
        realtimeClient.on("response.audio.delta", (event) => {
            const buffer = Buffer.from(event.delta, "base64");
            console.log(`Received ${buffer.length} bytes of audio data.`);
        });
        realtimeClient.on("response.audio_transcript.delta", (event) => {
            console.log(`Received text delta:${event.delta}.`);
        });
        realtimeClient.on("response.text.done", () => console.log());
        realtimeClient.on("response.done", () => realtimeClient.close());
        realtimeClient.socket.on("close", () => console.log("\nConnection closed!"));
    }
    main().catch((err) => {
        console.error("The sample encountered an error:", err);
    });
    export { main };
    
  2. Aşağıdaki komutla Azure'da oturum açın:

    az login
    
  3. JavaScript dosyasını çalıştırın.

    node index.js
    

Yanıtı almak için birkaç dakika bekleyin.

Çıktı

Betik modelden bir yanıt alır ve alınan transkript ve ses verilerini yazdırır.

Çıkış aşağıdakine benzer olacaktır:

Received text delta:Of.
Received text delta: course.
Received text delta:!.
Received text delta: How.
Received text delta: can.
Received 4800 bytes of audio data.
Received 7200 bytes of audio data.
Received text delta: I.
Received 12000 bytes of audio data.
Received text delta: help.
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 26400 bytes of audio data.

Connection closed!

Önkoşullar

  • Bir Azure aboneliği. Ücretsiz bir tane oluşturun.
  • Python 3.8 veya sonraki bir sürümü. Python 3.10 veya üzerini kullanmanızı öneririz, ancak en az Python 3.8'e sahip olmak gerekir. Python'ın uygun bir sürümü yüklü değilse, işletim sisteminize Python yüklemenin en kolay yolu için VS Code Python Öğreticisi'ndeki yönergeleri izleyebilirsiniz.
  • Desteklenen bölgelerden birinde oluşturulan bir Azure OpenAI kaynağı. Bölge kullanılabilirliği hakkında daha fazla bilgi için modeller ve sürümler belgelerine bakın.
  • Ardından Azure OpenAI kaynağınızla bir gpt-4o-mini-realtime-preview model dağıtmanız gerekir. Daha fazla bilgi için bkz. Azure OpenAI ile kaynak oluşturma ve model dağıtma.

Microsoft Entra Id önkoşulları

Microsoft Entra Id ile önerilen anahtarsız kimlik doğrulaması için şunları yapmanız gerekir:

Gerçek zamanlı ses için model dağıtma

Modeli Azure AI Foundry portalında dağıtmak gpt-4o-mini-realtime-preview için:

  1. Azure AI Foundry portalına gidin ve projenizi oluşturun veya seçin.
  2. Sol bölmedeki Varlıklarım'ın altından Modeller + uç noktalar'ı seçin.
  3. Dağıtım penceresini açmak için + Model Dağıt>Temel Modeli Dağıt seçin.
  4. Modeli arayıp seçin ve ardından Onayla'yı gpt-4o-mini-realtime-previewseçin.
  5. Dağıtım ayrıntılarını gözden geçirin ve Dağıt'ı seçin.
  6. Modeli dağıtma işlemini tamamlamak için sihirbazı izleyin.

Artık modelin dağıtımına sahip olduğunuz için gpt-4o-mini-realtime-preview Azure AI Foundry portalı Ses oyun alanı veya Gerçek Zamanlı API'de bu modelle etkileşim kurabilirsiniz.

Kurulum

  1. Yeni bir klasör realtime-audio-quickstart oluşturun ve aşağıdaki komutu kullanarak hızlı başlangıç klasörüne gidin:

    mkdir realtime-audio-quickstart && cd realtime-audio-quickstart
    
  2. Sanal ortam oluşturma. Python 3.10 veya üzeri yüklüyse aşağıdaki komutları kullanarak bir sanal ortam oluşturabilirsiniz:

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

    Python ortamını etkinleştirmek, komut satırını çalıştırdığınızda veya python komut satırından çalıştırdığınızda pip uygulamanızın klasöründe bulunan Python yorumlayıcısını .venv kullanacağınız anlamına gelir. komutunu kullanarak deactivate Python sanal ortamından çıkabilirsiniz ve daha sonra gerektiğinde yeniden etkinleştirebilirsiniz.

    Tavsiye

    Bu öğretici için ihtiyacınız olan paketleri yüklemek üzere kullanmak üzere yeni bir Python ortamı oluşturmanızı ve etkinleştirmenizi öneririz. Paketleri genel Python yüklemenize yüklemeyin. Python paketlerini yüklerken her zaman bir sanal veya conda ortamı kullanmanız gerekir, aksi takdirde Python'ın genel yüklemesini bozabilirsiniz.

  3. OpenAI Python istemci kitaplığını şu şekilde yükleyin:

    pip install openai[realtime]
    

    Uyarı

    Bu kitaplık OpenAI tarafından korunur. Kitaplığın en son güncelleştirmelerini izlemek için sürüm geçmişine bakın.

  4. Microsoft Entra ID ile önerilen anahtarsız kimlik doğrulaması için paketi şu şekilde yükleyin azure-identity :

    pip install azure-identity
    

Kaynak bilgilerini alma

Azure OpenAI kaynağınızla uygulamanızın kimliğini doğrulamak için aşağıdaki bilgileri almanız gerekir:

Değişken adı Değer
AZURE_OPENAI_ENDPOINT Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir.
AZURE_OPENAI_DEPLOYMENT_NAME Dağıttığınız bir model için dağıtımınıza özel verdiğiniz isme bu değer karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi>Modeli Dağıtımları altında bulunabilir.
OPENAI_API_VERSION API Sürümleri hakkında daha fazla bilgi edinin.

Koddaki sürümü değiştirebilir veya bir ortam değişkeni kullanabilirsiniz.

Anahtarsız kimlik doğrulaması ve ortam değişkenlerini ayarlama hakkında daha fazla bilgi edinin.

Dikkat

SDK ile önerilen anahtarsız kimlik doğrulamasını kullanmak için ortam değişkeninin AZURE_OPENAI_API_KEY ayarlanmamış olduğundan emin olun.

Ses çıkışında metin

  1. text-in-audio-out.py Dosyayı aşağıdaki kodla oluşturun:

    import os
    import base64
    import asyncio
    from openai import AsyncAzureOpenAI
    from azure.identity.aio import DefaultAzureCredential, get_bearer_token_provider
    
    async def main() -> None:
        """
        When prompted for user input, type a message and hit enter to send it to the model.
        Enter "q" to quit the conversation.
        """
    
        credential = DefaultAzureCredential()
        token_provider=get_bearer_token_provider(credential, "https://cognitiveservices.azure.com/.default")
        client = AsyncAzureOpenAI(
            azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
            azure_ad_token_provider=token_provider,
            api_version="2025-04-01-preview",
        )
        async with client.beta.realtime.connect(
            model="gpt-4o-realtime-preview",  # name of your deployment
        ) as connection:
            await connection.session.update(session={"modalities": ["text", "audio"]})  
            while True:
                user_input = input("Enter a message: ")
                if user_input == "q":
                    break
    
                await connection.conversation.item.create(
                    item={
                        "type": "message",
                        "role": "user",
                        "content": [{"type": "input_text", "text": user_input}],
                    }
                )
                await connection.response.create()
                async for event in connection:
                    if event.type == "response.text.delta":
                        print(event.delta, flush=True, end="")
                    elif event.type == "response.audio.delta":
    
                        audio_data = base64.b64decode(event.delta)
                        print(f"Received {len(audio_data)} bytes of audio data.")
                    elif event.type == "response.audio_transcript.delta":
                        print(f"Received text delta: {event.delta}")
                    elif event.type == "response.text.done":
                        print()
                    elif event.type == "response.done":
                        break
    
        await credential.close()
    
    asyncio.run(main())
    
  2. Aşağıdaki komutla Azure'da oturum açın:

    az login
    
  3. Python dosyasını çalıştırın.

    python text-in-audio-out.py
    
  4. Kullanıcı girişi istendiğinde, bir ileti yazın ve modele göndermek için Enter tuşuna basın. Konuşmadan çıkmak için "q" girin.

Yanıtı almak için birkaç dakika bekleyin.

Çıktı

Betik modelden bir yanıt alır ve alınan transkript ve ses verilerini yazdırır.

Çıktı, aşağıdaki gibi görünür:

Enter a message: Please assist the user
Received text delta: Of
Received text delta:  course
Received text delta: !
Received text delta:  How
Received 4800 bytes of audio data.
Received 7200 bytes of audio data.
Received 12000 bytes of audio data.
Received text delta:  can
Received text delta:  I
Received text delta:  assist
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received text delta:  you
Received text delta:  today
Received text delta: ?
Received 12000 bytes of audio data.
Received 24000 bytes of audio data.
Received 36000 bytes of audio data.
Enter a message: q

Önkoşullar

Microsoft Entra Id önkoşulları

Microsoft Entra Id ile önerilen anahtarsız kimlik doğrulaması için şunları yapmanız gerekir:

Gerçek zamanlı ses için model dağıtma

Modeli Azure AI Foundry portalında dağıtmak gpt-4o-mini-realtime-preview için:

  1. Azure AI Foundry portalına gidin ve projenizi oluşturun veya seçin.
  2. Sol bölmedeki Varlıklarım'ın altından Modeller + uç noktalar'ı seçin.
  3. Dağıtım penceresini açmak için + Model Dağıt>Temel Modeli Dağıt seçin.
  4. Modeli arayıp seçin ve ardından Onayla'yı gpt-4o-mini-realtime-previewseçin.
  5. Dağıtım ayrıntılarını gözden geçirin ve Dağıt'ı seçin.
  6. Modeli dağıtma işlemini tamamlamak için sihirbazı izleyin.

Artık modelin dağıtımına sahip olduğunuz için gpt-4o-mini-realtime-preview Azure AI Foundry portalı Ses oyun alanı veya Gerçek Zamanlı API'de bu modelle etkileşim kurabilirsiniz.

Kurulum

  1. Yeni bir klasör realtime-audio-quickstart oluşturun ve aşağıdaki komutu kullanarak hızlı başlangıç klasörüne gidin:

    mkdir realtime-audio-quickstart && cd realtime-audio-quickstart
    
  2. Aşağıdaki komutla package.json oluşturun:

    npm init -y
    
  3. package.json aşağıdaki komut ile ECMAScript olarak güncelleyin:

    npm pkg set type=module
    
  4. JavaScript için OpenAI istemci kitaplığını şu şekilde yükleyin:

    npm install openai
    
  5. Microsoft Entra ID ile önerilen anahtarsız kimlik doğrulaması için paketi şu şekilde yükleyin @azure/identity :

    npm install @azure/identity
    

Kaynak bilgilerini alma

Azure OpenAI kaynağınızla uygulamanızın kimliğini doğrulamak için aşağıdaki bilgileri almanız gerekir:

Değişken adı Değer
AZURE_OPENAI_ENDPOINT Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir.
AZURE_OPENAI_DEPLOYMENT_NAME Dağıttığınız bir model için dağıtımınıza özel verdiğiniz isme bu değer karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi>Modeli Dağıtımları altında bulunabilir.
OPENAI_API_VERSION API Sürümleri hakkında daha fazla bilgi edinin.

Koddaki sürümü değiştirebilir veya bir ortam değişkeni kullanabilirsiniz.

Anahtarsız kimlik doğrulaması ve ortam değişkenlerini ayarlama hakkında daha fazla bilgi edinin.

Dikkat

SDK ile önerilen anahtarsız kimlik doğrulamasını kullanmak için ortam değişkeninin AZURE_OPENAI_API_KEY ayarlanmamış olduğundan emin olun.

Ses çıkışında metin

  1. index.ts Dosyayı aşağıdaki kodla oluşturun:

    import { OpenAIRealtimeWS } from "openai/beta/realtime/ws";
    import { AzureOpenAI } from "openai";
    import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
    
    async function main(): Promise<void> {
    
        // You will need to set these environment variables or edit the following values
        const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "AZURE_OPENAI_ENDPOINT";
    
        // Required Azure OpenAI deployment name and API version
        const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4o-mini-realtime-preview";
        const apiVersion = process.env.OPENAI_API_VERSION || "2025-04-01-preview"; 
    
        // Keyless authentication 
        const credential = new DefaultAzureCredential();
        const scope = "https://cognitiveservices.azure.com/.default";
        const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
        const azureOpenAIClient = new AzureOpenAI({
            azureADTokenProvider,
            apiVersion: apiVersion,
            deployment: deploymentName,
            endpoint: endpoint,
        });
    
        const realtimeClient = await OpenAIRealtimeWS.azure(azureOpenAIClient);
    
        realtimeClient.socket.on("open", () => {
            console.log("Connection opened!");
            realtimeClient.send({
            type: "session.update",
            session: {
                modalities: ["text", "audio"],
                model: "gpt-4o-mini-realtime-preview",
            },
            });
            realtimeClient.send({
            type: "conversation.item.create",
            item: {
                type: "message",
                role: "user",
                content: [{ type: "input_text", text: "Please assist the user" }],
            },
            });
            realtimeClient.send({ type: "response.create" });
        });
        realtimeClient.on("error", (err) => {
            // Instead of throwing the error, you can log it
            // and continue processing events.
            throw err;
        });
        realtimeClient.on("session.created", (event) => {
            console.log("session created!", event.session);
            console.log();
        });
        realtimeClient.on("response.text.delta", (event) => process.stdout.write(event.delta));
        realtimeClient.on("response.audio.delta", (event) => {
            const buffer = Buffer.from(event.delta, "base64");
            console.log(`Received ${buffer.length} bytes of audio data.`);
        });
        realtimeClient.on("response.audio_transcript.delta", (event) => {
            console.log(`Received text delta:${event.delta}.`);
        });
        realtimeClient.on("response.text.done", () => console.log());
        realtimeClient.on("response.done", () => realtimeClient.close());
        realtimeClient.socket.on("close", () => console.log("\nConnection closed!"));
    }
    
    main().catch((err) => {
        console.error("The sample encountered an error:", err);
    });
    
    export { main };
    
  2. tsconfig.json dosyasını oluşturup TypeScript kodunu dönüştürmek için ECMAScript için aşağıdaki kodu kopyalayın.

    {
        "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. TypeScript'ten JavaScript'e dönüştürme.

    tsc
    
  4. Aşağıdaki komutla Azure'da oturum açın:

    az login
    
  5. Kodu aşağıdaki komutla çalıştırın:

    node index.js
    

Yanıtı almak için birkaç dakika bekleyin.

Çıktı

Betik modelden bir yanıt alır ve alınan transkript ve ses verilerini yazdırır.

Çıkış aşağıdakine benzer olacaktır:

Received text delta:Of.
Received text delta: course.
Received text delta:!.
Received text delta: How.
Received text delta: can.
Received 4800 bytes of audio data.
Received 7200 bytes of audio data.
Received text delta: I.
Received 12000 bytes of audio data.
Received text delta: help.
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 26400 bytes of audio data.

Connection closed!