Dela via


Snabbstart: Kom igång med hjälp av Azure OpenAI-ljudgenerering

Modellerna gpt-4o-audio-preview och gpt-4o-mini-audio-preview introducerar ljudmodaliteten i det befintliga /chat/completions API:et. Ljudmodellen utökar potentialen för AI-program i text- och röstbaserade interaktioner och ljudanalys. Metoder som stöds i gpt-4o-audio-preview och gpt-4o-mini-audio-preview modeller är: text, ljud och text + ljud.

Här är en tabell över de metoder som stöds med exempel på användningsfall:

Modalitetsindata Modalitetsutdata Exempel på användningsfall
Text Text + ljud Text till tal, ljudboksgenerering
Ljud Text + ljud Ljudranskription, ljudboksgenerering
Ljud Text Ljudavskrift
Text + ljud Text + ljud Ljudboksgenerering
Text + ljud Text Ljudavskrift

Genom att använda funktioner för ljudgenerering kan du uppnå mer dynamiska och interaktiva AI-program. Modeller som stöder ljudindata och utdata gör att du kan generera talade ljudsvar till uppmaningar och använda ljudindata för att fråga modellen.

Modeller som stöds

gpt-4o-audio-preview Endast för närvarande och gpt-4o-mini-audio-preview version: 2024-12-17 stöder ljudgenerering.

Mer information om regiontillgänglighet finns i dokumentationen för modeller och versioner.

För närvarande stöds följande röster för ljud ut: Alloy, Echo och Shimmer.

Den maximala ljudfilstorleken är 20 MB.

Kommentar

Realtids-API:et använder samma underliggande GPT-4o-ljudmodell som API:et för slutföranden, men är optimerat för ljudinteraktioner med låg latens i realtid.

API-stöd

Stöd för ljudavslut lades först till i API-version 2025-01-01-preview.

Distribuera en modell för ljudgenerering

Så här distribuerar gpt-4o-mini-audio-preview du modellen i Azure AI Foundry-portalen:

  1. Gå till sidan Azure OpenAI Service i Azure AI Foundry-portalen. Kontrollera att du är inloggad med Azure-prenumerationen som har din Azure OpenAI Service-resurs och den distribuerade gpt-4o-mini-audio-preview modellen.
  2. Välj chattlekplatsen under Lekplatser i den vänstra rutan.
  3. Välj + Skapa ny distribution>Från basmodeller för att öppna distributionsfönstret.
  4. Sök efter och välj gpt-4o-mini-audio-preview modellen och välj sedan Distribuera till vald resurs.
  5. I distributionsguiden väljer du 2024-12-17 modellversionen.
  6. Följ guiden för att slutföra distributionen av modellen.

Nu när du har en distribution av modellen kan du interagera med den gpt-4o-mini-audio-preview i Azure AI Foundry-portalens API för chattlekplats eller slutförande av chattar.

Använda GPT-4o-ljudgenerering

Om du vill chatta med din distribuerade gpt-4o-mini-audio-preview modell i Chattlekplatsenför Azure AI Foundry-portalen följer du dessa steg:

  1. Gå till sidan Azure OpenAI Service i Azure AI Foundry-portalen. Kontrollera att du är inloggad med Azure-prenumerationen som har din Azure OpenAI Service-resurs och den distribuerade gpt-4o-mini-audio-preview modellen.

  2. Välj Chattlekplats under Resurslekplats i den vänstra rutan.

  3. Välj din distribuerade gpt-4o-mini-audio-preview modell i listrutan Distribution .

  4. Börja chatta med modellen och lyssna på ljudsvaren.

    Skärmbild av sidan Chattlekplats.

    Du kan:

    • Spela in ljudprompter.
    • Bifoga ljudfiler i chatten.
    • Ange textprompter.

Referensdokumentation Bibliotek källkodspaket | (npm)Exempel | |

Modellerna gpt-4o-audio-preview och gpt-4o-mini-audio-preview introducerar ljudmodaliteten i det befintliga /chat/completions API:et. Ljudmodellen utökar potentialen för AI-program i text- och röstbaserade interaktioner och ljudanalys. Metoder som stöds i gpt-4o-audio-preview och gpt-4o-mini-audio-preview modeller är: text, ljud och text + ljud.

Här är en tabell över de metoder som stöds med exempel på användningsfall:

Modalitetsindata Modalitetsutdata Exempel på användningsfall
Text Text + ljud Text till tal, ljudboksgenerering
Ljud Text + ljud Ljudranskription, ljudboksgenerering
Ljud Text Ljudavskrift
Text + ljud Text + ljud Ljudboksgenerering
Text + ljud Text Ljudavskrift

Genom att använda funktioner för ljudgenerering kan du uppnå mer dynamiska och interaktiva AI-program. Modeller som stöder ljudindata och utdata gör att du kan generera talade ljudsvar till uppmaningar och använda ljudindata för att fråga modellen.

Modeller som stöds

gpt-4o-audio-preview Endast för närvarande och gpt-4o-mini-audio-preview version: 2024-12-17 stöder ljudgenerering.

Mer information om regiontillgänglighet finns i dokumentationen för modeller och versioner.

För närvarande stöds följande röster för ljud ut: Alloy, Echo och Shimmer.

Den maximala ljudfilstorleken är 20 MB.

Kommentar

Realtids-API:et använder samma underliggande GPT-4o-ljudmodell som API:et för slutföranden, men är optimerat för ljudinteraktioner med låg latens i realtid.

API-stöd

Stöd för ljudavslut lades först till i API-version 2025-01-01-preview.

Förutsättningar

Krav för Microsoft Entra-ID

För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:

  • Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
  • Cognitive Services User Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

Konfigurera

  1. Skapa en ny mapp audio-completions-quickstart som ska innehålla programmet och öppna Visual Studio Code i mappen med följande kommando:

    mkdir audio-completions-quickstart && code audio-completions-quickstart
    
  2. package.json Skapa med följande kommando:

    npm init -y
    
  3. package.json Uppdatera till ECMAScript med följande kommando:

    npm pkg set type=module
    
  4. Installera OpenAI-klientbiblioteket för JavaScript med:

    npm install openai
    
  5. För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID installerar du @azure/identity paketet med:

    npm install @azure/identity
    

Hämta resursinformation

Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal.
OPENAI_API_VERSION Läs mer om API-versioner.

Läs mer om nyckellös autentisering och inställning av miljövariabler.

Varning

Om du vill använda den rekommenderade nyckellösa autentiseringen med SDK:t kontrollerar du att AZURE_OPENAI_API_KEY miljövariabeln inte har angetts.

Generera ljud från textinmatning

  1. to-audio.js Skapa filen med följande kod:

    require("dotenv").config();
    const { AzureOpenAI } = require("openai");
    const { DefaultAzureCredential, getBearerTokenProvider } = require("@azure/identity");
    const { writeFileSync } = require("node:fs");
    
    // Keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    // Set environment variables or edit the corresponding values here.
    const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "AZURE_OPENAI_ENDPOINT";
    const apiVersion = "2025-01-01-preview"; 
    const deployment = "gpt-4o-mini-audio-preview"; 
    
    const client = new AzureOpenAI({ 
        endpoint, 
        azureADTokenProvider, 
        apiVersion, 
        deployment 
    }); 
    
    async function main() {
    
        // Make the audio chat completions request
        const response = await client.chat.completions.create({ 
            model: "gpt-4o-mini-audio-preview", 
            modalities: ["text", "audio"], 
            audio: { voice: "alloy", format: "wav" }, 
            messages: [ 
            { 
                role: "user", 
                content: "Is a golden retriever a good family dog?" 
            } 
            ] 
        }); 
    
    // Inspect returned data 
    console.log(response.choices[0]); 
    
    // Write the output audio data to a file
    writeFileSync( 
        "dog.wav", 
        Buffer.from(response.choices[0].message.audio.data, 'base64'), 
        { encoding: "utf-8" } 
    ); 
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
    module.exports = { main };
    
  2. Logga in på Azure med följande kommando:

    az login
    
  3. Kör JavaScript-filen.

    node to-audio.js
    

Vänta en stund för att få svaret.

Utdata för ljudgenerering från textinmatning

Skriptet genererar en ljudfil med namnet dog.wav i samma katalog som skriptet. Ljudfilen innehåller det talade svaret på uppmaningen: "Är en golden retriever en bra familjehund?"

Generera ljud och text från ljudinmatning

  1. from-audio.js Skapa filen med följande kod:

    require("dotenv").config();
    const { AzureOpenAI } = require("openai");
    const { DefaultAzureCredential, getBearerTokenProvider } = require("@azure/identity");
    const fs = require('fs').promises;
    const { writeFileSync } = require("node:fs");
    
    // Keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    // Set environment variables or edit the corresponding values here.
    const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "AZURE_OPENAI_ENDPOINT";
    const apiVersion = "2025-01-01-preview"; 
    const deployment = "gpt-4o-mini-audio-preview"; 
    
    const client = new AzureOpenAI({ 
        endpoint, 
        azureADTokenProvider, 
        apiVersion, 
        deployment 
    });    
    
    async function main() {
    
        // Buffer the audio for input to the chat completion
        const wavBuffer = await fs.readFile("dog.wav"); 
        const base64str = Buffer.from(wavBuffer).toString("base64"); 
    
        // Make the audio chat completions request
        const response = await client.chat.completions.create({
            model: "gpt-4o-mini-audio-preview",
            modalities: ["text", "audio"],
            audio: { voice: "alloy", format: "wav" }, 
            messages: [
                {
                    role: "user",
                    content: [
                        { 
                            type: "text", 
                            text: "Describe in detail the spoken audio input." 
                        },
                        { 
                            type: "input_audio", 
                            input_audio: { 
                                data: base64str, 
                                format: "wav" 
                            } 
                        }
                    ]
                }
            ]
        });
    
        console.log(response.choices[0]); 
    
        // Write the output audio data to a file
        writeFileSync( 
            "analysis.wav", 
            Buffer.from(response.choices[0].message.audio.data, 'base64'), 
            { encoding: "utf-8" } 
        ); 
    }
    
    main().catch((err) => {
        console.error("Error occurred:", err);
    });
    
    module.exports = { main };
    
  2. Logga in på Azure med följande kommando:

    az login
    
  3. Kör JavaScript-filen.

    node from-audio.js
    

Vänta en stund för att få svaret.

Utdata för ljud- och textgenerering från ljudinmatning

Skriptet genererar en avskrift av sammanfattningen av talade ljudindata. Den genererar också en ljudfil med namnet analysis.wav i samma katalog som skriptet. Ljudfilen innehåller det talade svaret på uppmaningen.

Generera ljud och använda chattar med flera svängar

  1. multi-turn.js Skapa filen med följande kod:

    require("dotenv").config();
    const { AzureOpenAI } = require("openai");
    const { DefaultAzureCredential, getBearerTokenProvider } = require("@azure/identity");
    const fs = require('fs').promises;
    
    // Keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    // Set environment variables or edit the corresponding values here.
    const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "AZURE_OPENAI_ENDPOINT";
    const apiVersion = "2025-01-01-preview"; 
    const deployment = "gpt-4o-mini-audio-preview"; 
    
    const client = new AzureOpenAI({ 
        endpoint, 
        azureADTokenProvider, 
        apiVersion, 
        deployment 
    }); 
    
    async function main() {
    
        // Buffer the audio for input to the chat completion
        const wavBuffer = await fs.readFile("dog.wav"); 
        const base64str = Buffer.from(wavBuffer).toString("base64"); 
    
        // Initialize messages with the first turn's user input 
        const messages = [
            {
                role: "user",
                content: [
                    { 
                        type: "text", 
                        text: "Describe in detail the spoken audio input." 
                    },
                    { 
                        type: "input_audio", 
                        input_audio: { 
                            data: base64str, 
                            format: "wav" 
                        } 
                    }
                ]
            }
        ];
    
        // Get the first turn's response 
    
        const response = await client.chat.completions.create({ 
            model: "gpt-4o-mini-audio-preview",
            modalities: ["text", "audio"], 
            audio: { voice: "alloy", format: "wav" }, 
            messages: messages
        }); 
    
        console.log(response.choices[0]); 
    
        // Add a history message referencing the previous turn's audio by ID 
        messages.push({ 
            role: "assistant", 
            audio: { id: response.choices[0].message.audio.id }
        });
    
        // Add a new user message for the second turn
        messages.push({ 
            role: "user", 
            content: [ 
                { 
                    type: "text", 
                    text: "Very concisely summarize the favorability." 
                } 
            ] 
        }); 
    
        // Send the follow-up request with the accumulated messages
        const followResponse = await client.chat.completions.create({ 
            model: "gpt-4o-mini-audio-preview",
            messages: messages
        });
    
        console.log(followResponse.choices[0].message.content); 
    }
    
    main().catch((err) => {
        console.error("Error occurred:", err);
    });
    
    module.exports = { main };
    
  2. Logga in på Azure med följande kommando:

    az login
    
  3. Kör JavaScript-filen.

    node multi-turn.js
    

Vänta en stund för att få svaret.

Utdata för chattar med flera svängar

Skriptet genererar en avskrift av sammanfattningen av talade ljudindata. Sedan gör det en chatt i flera svängar för att kort sammanfatta de talade ljudindata.

Paketexempel för bibliotekskällkod | |

Modellerna gpt-4o-audio-preview och gpt-4o-mini-audio-preview introducerar ljudmodaliteten i det befintliga /chat/completions API:et. Ljudmodellen utökar potentialen för AI-program i text- och röstbaserade interaktioner och ljudanalys. Metoder som stöds i gpt-4o-audio-preview och gpt-4o-mini-audio-preview modeller är: text, ljud och text + ljud.

Här är en tabell över de metoder som stöds med exempel på användningsfall:

Modalitetsindata Modalitetsutdata Exempel på användningsfall
Text Text + ljud Text till tal, ljudboksgenerering
Ljud Text + ljud Ljudranskription, ljudboksgenerering
Ljud Text Ljudavskrift
Text + ljud Text + ljud Ljudboksgenerering
Text + ljud Text Ljudavskrift

Genom att använda funktioner för ljudgenerering kan du uppnå mer dynamiska och interaktiva AI-program. Modeller som stöder ljudindata och utdata gör att du kan generera talade ljudsvar till uppmaningar och använda ljudindata för att fråga modellen.

Modeller som stöds

gpt-4o-audio-preview Endast för närvarande och gpt-4o-mini-audio-preview version: 2024-12-17 stöder ljudgenerering.

Mer information om regiontillgänglighet finns i dokumentationen för modeller och versioner.

För närvarande stöds följande röster för ljud ut: Alloy, Echo och Shimmer.

Den maximala ljudfilstorleken är 20 MB.

Kommentar

Realtids-API:et använder samma underliggande GPT-4o-ljudmodell som API:et för slutföranden, men är optimerat för ljudinteraktioner med låg latens i realtid.

API-stöd

Stöd för ljudavslut lades först till i API-version 2025-01-01-preview.

Använd den här guiden för att komma igång med att generera ljud med Azure OpenAI SDK för Python.

Förutsättningar

  • En Azure-prenumeration. Skapa en kostnadsfritt.
  • Python 3.8 eller senare version. Vi rekommenderar att du använder Python 3.10 eller senare, men minst Python 3.8 krävs. Om du inte har en lämplig version av Python installerad kan du följa anvisningarna i VS Code Python-självstudien för det enklaste sättet att installera Python på operativsystemet.
  • En Azure OpenAI-resurs som skapats i en av de regioner som stöds. Mer information om regiontillgänglighet finns i dokumentationen för modeller och versioner.
  • Sedan måste du distribuera en gpt-4o-mini-audio-preview modell med din Azure OpenAI-resurs. Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.

Krav för Microsoft Entra-ID

För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:

  • Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
  • Cognitive Services User Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

Konfigurera

  1. Skapa en ny mapp audio-completions-quickstart som ska innehålla programmet och öppna Visual Studio Code i mappen med följande kommando:

    mkdir audio-completions-quickstart && code audio-completions-quickstart
    
  2. Skapa en virtuell miljö. Om du redan har Python 3.10 eller senare installerat kan du skapa en virtuell miljö med hjälp av följande kommandon:

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

    När du aktiverar Python-miljön innebär det att när du kör python eller pip från kommandoraden använder du sedan Python-tolken .venv som finns i mappen för ditt program. Du kan använda deactivate kommandot för att avsluta den virtuella python-miljön och senare återaktivera den när det behövs.

    Dricks

    Vi rekommenderar att du skapar och aktiverar en ny Python-miljö som ska användas för att installera de paket som du behöver för den här självstudien. Installera inte paket i din globala Python-installation. Du bör alltid använda en virtuell miljö eller conda-miljö när du installerar Python-paket, annars kan du avbryta den globala installationen av Python.

  3. Installera OpenAI-klientbiblioteket för Python med:

    pip install openai
    
  4. För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID installerar du azure-identity paketet med:

    pip install azure-identity
    

Hämta resursinformation

Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal.
OPENAI_API_VERSION Läs mer om API-versioner.

Läs mer om nyckellös autentisering och inställning av miljövariabler.

Generera ljud från textinmatning

  1. to-audio.py Skapa filen med följande kod:

    import requests
    import base64 
    import os 
    from openai import AzureOpenAI
    from azure.identity import DefaultAzureCredential, get_bearer_token_provider
    
    token_provider=get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")
    
    # Set environment variables or edit the corresponding values here.
    endpoint = os.environ['AZURE_OPENAI_ENDPOINT']
    
    # Keyless authentication
    client=AzureOpenAI(
        azure_ad_token_provider=token_provider,
        azure_endpoint=endpoint,
        api_version="2025-01-01-preview"
    )
    
    # Make the audio chat completions request
    completion=client.chat.completions.create(
        model="gpt-4o-mini-audio-preview",
        modalities=["text", "audio"],
        audio={"voice": "alloy", "format": "wav"},
        messages=[
            {
                "role": "user",
                "content": "Is a golden retriever a good family dog?"
            }
        ]
    )
    
    print(completion.choices[0])
    
    # Write the output audio data to a file
    wav_bytes=base64.b64decode(completion.choices[0].message.audio.data)
    with open("dog.wav", "wb") as f:
        f.write(wav_bytes)
    
  2. Kör Python-filen.

    python to-audio.py
    

Vänta en stund för att få svaret.

Utdata för ljudgenerering från textinmatning

Skriptet genererar en ljudfil med namnet dog.wav i samma katalog som skriptet. Ljudfilen innehåller det talade svaret på uppmaningen: "Är en golden retriever en bra familjehund?"

Generera ljud och text från ljudinmatning

  1. from-audio.py Skapa filen med följande kod:

    import base64
    import os
    from openai import AzureOpenAI
    from azure.identity import DefaultAzureCredential, get_bearer_token_provider
    
    token_provider=get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")
    
    # Set environment variables or edit the corresponding values here.
    endpoint = os.environ['AZURE_OPENAI_ENDPOINT']
    
    # Keyless authentication
    client=AzureOpenAI(
        azure_ad_token_provider=token_provider,
        azure_endpoint=endpoint
        api_version="2025-01-01-preview"
    )
    
    # Read and encode audio file  
    with open('dog.wav', 'rb') as wav_reader: 
        encoded_string = base64.b64encode(wav_reader.read()).decode('utf-8') 
    
    # Make the audio chat completions request
    completion = client.chat.completions.create( 
        model="gpt-4o-mini-audio-preview", 
        modalities=["text", "audio"], 
        audio={"voice": "alloy", "format": "wav"}, 
        messages=[ 
            { 
                "role": "user", 
                "content": [ 
                    {  
                        "type": "text", 
                        "text": "Describe in detail the spoken audio input." 
                    }, 
                    { 
                        "type": "input_audio", 
                        "input_audio": { 
                            "data": encoded_string, 
                            "format": "wav" 
                        } 
                    } 
                ] 
            }, 
        ] 
    ) 
    
    print(completion.choices[0].message.audio.transcript)
    
    # Write the output audio data to a file
    wav_bytes = base64.b64decode(completion.choices[0].message.audio.data)
    with open("analysis.wav", "wb") as f:
        f.write(wav_bytes)
    
  2. Kör Python-filen.

    python from-audio.py
    

Vänta en stund för att få svaret.

Utdata för ljud- och textgenerering från ljudinmatning

Skriptet genererar en avskrift av sammanfattningen av talade ljudindata. Den genererar också en ljudfil med namnet analysis.wav i samma katalog som skriptet. Ljudfilen innehåller det talade svaret på uppmaningen.

Generera ljud och använda chattar med flera svängar

  1. multi-turn.py Skapa filen med följande kod:

    import base64 
    import os 
    from openai import AzureOpenAI 
    from azure.identity import DefaultAzureCredential, get_bearer_token_provider
    
    token_provider=get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")
    
    # Set environment variables or edit the corresponding values here.
    endpoint = os.environ['AZURE_OPENAI_ENDPOINT']
    
    # Keyless authentication
    client=AzureOpenAI(
        azure_ad_token_provider=token_provider,
        azure_endpoint=endpoint,
        api_version="2025-01-01-preview"
    )
    
    # Read and encode audio file  
    with open('dog.wav', 'rb') as wav_reader: 
        encoded_string = base64.b64encode(wav_reader.read()).decode('utf-8') 
    
    # Initialize messages with the first turn's user input 
    messages = [
        { 
            "role": "user", 
            "content": [ 
                { "type": "text", "text": "Describe in detail the spoken audio input." }, 
                { "type": "input_audio", 
                    "input_audio": { 
                        "data": encoded_string, 
                        "format": "wav" 
                    } 
                } 
            ] 
        }] 
    
    # Get the first turn's response
    
    completion = client.chat.completions.create( 
        model="gpt-4o-mini-audio-preview", 
        modalities=["text", "audio"], 
        audio={"voice": "alloy", "format": "wav"}, 
        messages=messages
    ) 
    
    print("Get the first turn's response:")
    print(completion.choices[0].message.audio.transcript) 
    
    print("Add a history message referencing the first turn's audio by ID:")
    print(completion.choices[0].message.audio.id)
    
    # Add a history message referencing the first turn's audio by ID 
    messages.append({ 
        "role": "assistant", 
        "audio": { "id": completion.choices[0].message.audio.id } 
    }) 
    
    # Add the next turn's user message 
    messages.append({ 
        "role": "user", 
        "content": "Very briefly, summarize the favorability." 
    }) 
    
    # Send the follow-up request with the accumulated messages
    completion = client.chat.completions.create( 
        model="gpt-4o-mini-audio-preview", 
        messages=messages
    ) 
    
    print("Very briefly, summarize the favorability.")
    print(completion.choices[0].message.content)
    
  2. Kör Python-filen.

    python multi-turn.py
    

Vänta en stund för att få svaret.

Utdata för chattar med flera svängar

Skriptet genererar en avskrift av sammanfattningen av talade ljudindata. Sedan gör det en chatt i flera svängar för att kort sammanfatta de talade ljudindata.

REST API-specifikation |

Modellerna gpt-4o-audio-preview och gpt-4o-mini-audio-preview introducerar ljudmodaliteten i det befintliga /chat/completions API:et. Ljudmodellen utökar potentialen för AI-program i text- och röstbaserade interaktioner och ljudanalys. Metoder som stöds i gpt-4o-audio-preview och gpt-4o-mini-audio-preview modeller är: text, ljud och text + ljud.

Här är en tabell över de metoder som stöds med exempel på användningsfall:

Modalitetsindata Modalitetsutdata Exempel på användningsfall
Text Text + ljud Text till tal, ljudboksgenerering
Ljud Text + ljud Ljudranskription, ljudboksgenerering
Ljud Text Ljudavskrift
Text + ljud Text + ljud Ljudboksgenerering
Text + ljud Text Ljudavskrift

Genom att använda funktioner för ljudgenerering kan du uppnå mer dynamiska och interaktiva AI-program. Modeller som stöder ljudindata och utdata gör att du kan generera talade ljudsvar till uppmaningar och använda ljudindata för att fråga modellen.

Modeller som stöds

gpt-4o-audio-preview Endast för närvarande och gpt-4o-mini-audio-preview version: 2024-12-17 stöder ljudgenerering.

Mer information om regiontillgänglighet finns i dokumentationen för modeller och versioner.

För närvarande stöds följande röster för ljud ut: Alloy, Echo och Shimmer.

Den maximala ljudfilstorleken är 20 MB.

Kommentar

Realtids-API:et använder samma underliggande GPT-4o-ljudmodell som API:et för slutföranden, men är optimerat för ljudinteraktioner med låg latens i realtid.

API-stöd

Stöd för ljudavslut lades först till i API-version 2025-01-01-preview.

Förutsättningar

  • En Azure-prenumeration. Skapa en kostnadsfritt.
  • Python 3.8 eller senare version. Vi rekommenderar att du använder Python 3.10 eller senare, men minst Python 3.8 krävs. Om du inte har en lämplig version av Python installerad kan du följa anvisningarna i VS Code Python-självstudien för det enklaste sättet att installera Python på operativsystemet.
  • En Azure OpenAI-resurs som skapats i en av de regioner som stöds. Mer information om regiontillgänglighet finns i dokumentationen för modeller och versioner.
  • Sedan måste du distribuera en gpt-4o-mini-audio-preview modell med din Azure OpenAI-resurs. Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.

Krav för Microsoft Entra-ID

För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:

  • Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
  • Cognitive Services User Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

Konfigurera

  1. Skapa en ny mapp audio-completions-quickstart som ska innehålla programmet och öppna Visual Studio Code i mappen med följande kommando:

    mkdir audio-completions-quickstart && code audio-completions-quickstart
    
  2. Skapa en virtuell miljö. Om du redan har Python 3.10 eller senare installerat kan du skapa en virtuell miljö med hjälp av följande kommandon:

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

    När du aktiverar Python-miljön innebär det att när du kör python eller pip från kommandoraden använder du sedan Python-tolken .venv som finns i mappen för ditt program. Du kan använda deactivate kommandot för att avsluta den virtuella python-miljön och senare återaktivera den när det behövs.

    Dricks

    Vi rekommenderar att du skapar och aktiverar en ny Python-miljö som ska användas för att installera de paket som du behöver för den här självstudien. Installera inte paket i din globala Python-installation. Du bör alltid använda en virtuell miljö eller conda-miljö när du installerar Python-paket, annars kan du avbryta den globala installationen av Python.

  3. Installera OpenAI-klientbiblioteket för Python med:

    pip install openai
    
  4. För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID installerar du azure-identity paketet med:

    pip install azure-identity
    

Hämta resursinformation

Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal.
OPENAI_API_VERSION Läs mer om API-versioner.

Läs mer om nyckellös autentisering och inställning av miljövariabler.

Generera ljud från textinmatning

  1. to-audio.py Skapa filen med följande kod:

    import requests
    import base64 
    import os 
    from openai import AzureOpenAI
    from azure.identity import DefaultAzureCredential
    
    # Set environment variables or edit the corresponding values here.
    endpoint = os.environ['AZURE_OPENAI_ENDPOINT']
    
    # Keyless authentication
    credential = DefaultAzureCredential()
    token = credential.get_token("https://cognitiveservices.azure.com/.default")
    
    api_version = '2025-01-01-preview'
    url = f"{endpoint}/openai/deployments/gpt-4o-mini-audio-preview/chat/completions?api-version={api_version}"
    headers= { "Authorization": f"Bearer {token.token}", "Content-Type": "application/json" }
    body = {
      "modalities": ["audio", "text"],
      "model": "gpt-4o-mini-audio-preview",
      "audio": {
          "format": "wav",
          "voice": "alloy"
      },
      "messages": [
        {
          "role": "user",
          "content": [
            {
              "type": "text",
              "text": "Is a golden retriever a good family dog?"
            }
          ]
        }
      ]
    }
    
    # Make the audio chat completions request
    completion = requests.post(url, headers=headers, json=body)
    audio_data = completion.json()['choices'][0]['message']['audio']['data']
    
    # Write the output audio data to a file
    wav_bytes = base64.b64decode(audio_data)
    with open("dog.wav", "wb") as f: 
      f.write(wav_bytes) 
    
  2. Kör Python-filen.

    python to-audio.py
    

Vänta en stund för att få svaret.

Utdata för ljudgenerering från textinmatning

Skriptet genererar en ljudfil med namnet dog.wav i samma katalog som skriptet. Ljudfilen innehåller det talade svaret på uppmaningen: "Är en golden retriever en bra familjehund?"

Generera ljud och text från ljudinmatning

  1. from-audio.py Skapa filen med följande kod:

    import requests
    import base64
    import os
    from azure.identity import DefaultAzureCredential
    
    # Set environment variables or edit the corresponding values here.
    endpoint = os.environ['AZURE_OPENAI_ENDPOINT']
    
    # Keyless authentication
    credential = DefaultAzureCredential()
    token = credential.get_token("https://cognitiveservices.azure.com/.default")
    
    # Read and encode audio file  
    with open('dog.wav', 'rb') as wav_reader: 
      encoded_string = base64.b64encode(wav_reader.read()).decode('utf-8') 
    
    api_version = '2025-01-01-preview'
    url = f"{endpoint}/openai/deployments/gpt-4o-mini-audio-preview/chat/completions?api-version={api_version}"
    headers= { "Authorization": f"Bearer {token.token}", "Content-Type": "application/json" }
    body = {
      "modalities": ["audio", "text"],
      "model": "gpt-4o-mini-audio-preview",
      "audio": {
          "format": "wav",
          "voice": "alloy"
      },
      "messages": [
        { 
            "role": "user", 
            "content": [ 
                {  
                    "type": "text", 
                    "text": "Describe in detail the spoken audio input." 
                }, 
                { 
                    "type": "input_audio", 
                    "input_audio": { 
                        "data": encoded_string, 
                        "format": "wav" 
                    } 
                } 
            ] 
        }, 
      ]
    }
    
    completion = requests.post(url, headers=headers, json=body)
    
    print(completion.json()['choices'][0]['message']['audio']['transcript'])
    
    # Write the output audio data to a file
    audio_data = completion.json()['choices'][0]['message']['audio']['data'] 
    wav_bytes = base64.b64decode(audio_data)
    with open("analysis.wav", "wb") as f: 
      f.write(wav_bytes) 
    
  2. Kör Python-filen.

    python from-audio.py
    

Vänta en stund för att få svaret.

Utdata för ljud- och textgenerering från ljudinmatning

Skriptet genererar en avskrift av sammanfattningen av talade ljudindata. Den genererar också en ljudfil med namnet analysis.wav i samma katalog som skriptet. Ljudfilen innehåller det talade svaret på uppmaningen.

Generera ljud och använda chattar med flera svängar

  1. multi-turn.py Skapa filen med följande kod:

    import requests
    import base64 
    import os 
    from openai import AzureOpenAI 
    from azure.identity import DefaultAzureCredential
    
    # Set environment variables or edit the corresponding values here.
    endpoint = os.environ['AZURE_OPENAI_ENDPOINT']
    
    # Keyless authentication
    credential = DefaultAzureCredential()
    token = credential.get_token("https://cognitiveservices.azure.com/.default")
    
    api_version = '2025-01-01-preview'
    url = f"{endpoint}/openai/deployments/gpt-4o-mini-audio-preview/chat/completions?api-version={api_version}"
    headers= { "Authorization": f"Bearer {token.token}", "Content-Type": "application/json" }
    
    # Read and encode audio file  
    with open('dog.wav', 'rb') as wav_reader: 
      encoded_string = base64.b64encode(wav_reader.read()).decode('utf-8') 
    
    # Initialize messages with the first turn's user input 
    messages = [
        { 
            "role": "user", 
            "content": [ 
                {  
                    "type": "text", 
                    "text": "Describe in detail the spoken audio input." 
                }, 
                { 
                    "type": "input_audio", 
                    "input_audio": { 
                        "data": encoded_string, 
                        "format": "wav" 
                    } 
                } 
            ] 
        }] 
    
    body = {
      "modalities": ["audio", "text"],
      "model": "gpt-4o-mini-audio-preview",
      "audio": {
          "format": "wav",
          "voice": "alloy"
      },
      "messages": messages
    }
    
    # Get the first turn's response, including generated audio 
    completion = requests.post(url, headers=headers, json=body)
    
    print("Get the first turn's response:")
    print(completion.json()['choices'][0]['message']['audio']['transcript']) 
    
    print("Add a history message referencing the first turn's audio by ID:")
    print(completion.json()['choices'][0]['message']['audio']['id'])
    
    # Add a history message referencing the first turn's audio by ID 
    messages.append({ 
        "role": "assistant", 
        "audio": { "id": completion.json()['choices'][0]['message']['audio']['id'] } 
    }) 
    
    # Add the next turn's user message 
    messages.append({ 
        "role": "user", 
        "content": "Very briefly, summarize the favorability." 
    }) 
    
    body = {
      "model": "gpt-4o-mini-audio-preview",
      "messages": messages
    }
    
    # Send the follow-up request with the accumulated messages
    completion = requests.post(url, headers=headers, json=body) 
    
    print("Very briefly, summarize the favorability.")
    print(completion.json()['choices'][0]['message']['content'])
    
  2. Kör Python-filen.

    python multi-turn.py
    

Vänta en stund för att få svaret.

Utdata för chattar med flera svängar

Skriptet genererar en avskrift av sammanfattningen av talade ljudindata. Sedan gör det en chatt i flera svängar för att kort sammanfatta de talade ljudindata.

Referensdokumentation Bibliotek källkodspaket | (npm)Exempel | |

Modellerna gpt-4o-audio-preview och gpt-4o-mini-audio-preview introducerar ljudmodaliteten i det befintliga /chat/completions API:et. Ljudmodellen utökar potentialen för AI-program i text- och röstbaserade interaktioner och ljudanalys. Metoder som stöds i gpt-4o-audio-preview och gpt-4o-mini-audio-preview modeller är: text, ljud och text + ljud.

Här är en tabell över de metoder som stöds med exempel på användningsfall:

Modalitetsindata Modalitetsutdata Exempel på användningsfall
Text Text + ljud Text till tal, ljudboksgenerering
Ljud Text + ljud Ljudranskription, ljudboksgenerering
Ljud Text Ljudavskrift
Text + ljud Text + ljud Ljudboksgenerering
Text + ljud Text Ljudavskrift

Genom att använda funktioner för ljudgenerering kan du uppnå mer dynamiska och interaktiva AI-program. Modeller som stöder ljudindata och utdata gör att du kan generera talade ljudsvar till uppmaningar och använda ljudindata för att fråga modellen.

Modeller som stöds

gpt-4o-audio-preview Endast för närvarande och gpt-4o-mini-audio-preview version: 2024-12-17 stöder ljudgenerering.

Mer information om regiontillgänglighet finns i dokumentationen för modeller och versioner.

För närvarande stöds följande röster för ljud ut: Alloy, Echo och Shimmer.

Den maximala ljudfilstorleken är 20 MB.

Kommentar

Realtids-API:et använder samma underliggande GPT-4o-ljudmodell som API:et för slutföranden, men är optimerat för ljudinteraktioner med låg latens i realtid.

API-stöd

Stöd för ljudavslut lades först till i API-version 2025-01-01-preview.

Förutsättningar

Krav för Microsoft Entra-ID

För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:

  • Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
  • Cognitive Services User Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.

Konfigurera

  1. Skapa en ny mapp audio-completions-quickstart som ska innehålla programmet och öppna Visual Studio Code i mappen med följande kommando:

    mkdir audio-completions-quickstart && code audio-completions-quickstart
    
  2. package.json Skapa med följande kommando:

    npm init -y
    
  3. package.json Uppdatera till ECMAScript med följande kommando:

    npm pkg set type=module
    
  4. Installera OpenAI-klientbiblioteket för JavaScript med:

    npm install openai
    
  5. För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID installerar du @azure/identity paketet med:

    npm install @azure/identity
    

Hämta resursinformation

Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:

Variabelnamn Värde
AZURE_OPENAI_ENDPOINT Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal.
AZURE_OPENAI_DEPLOYMENT_NAME Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal.
OPENAI_API_VERSION Läs mer om API-versioner.

Läs mer om nyckellös autentisering och inställning av miljövariabler.

Varning

Om du vill använda den rekommenderade nyckellösa autentiseringen med SDK:t kontrollerar du att AZURE_OPENAI_API_KEY miljövariabeln inte har angetts.

Generera ljud från textinmatning

  1. to-audio.ts Skapa filen med följande kod:

    import { writeFileSync } from "node:fs";
    import { AzureOpenAI } from "openai/index.mjs";
    import {
        DefaultAzureCredential,
        getBearerTokenProvider,
      } from "@azure/identity";
    
    // Set environment variables or edit the corresponding values here.
    const endpoint: string = process.env["AZURE_OPENAI_ENDPOINT"] || "AZURE_OPENAI_ENDPOINT";
    const apiVersion: string = "2025-01-01-preview"; 
    const deployment: string = "gpt-4o-mini-audio-preview"; 
    
    // Keyless authentication 
    const getClient = (): AzureOpenAI => {
        const credential = new DefaultAzureCredential();
        const scope = "https://cognitiveservices.azure.com/.default";
        const azureADTokenProvider = getBearerTokenProvider(credential, scope);
        const client = new AzureOpenAI({
          endpoint: endpoint,
          apiVersion: apiVersion,
          azureADTokenProvider,
        });
        return client;
    };
    
    const client = getClient();
    
    async function main(): Promise<void> {
    
        // Make the audio chat completions request
        const response = await client.chat.completions.create({ 
            model: "gpt-4o-mini-audio-preview", 
            modalities: ["text", "audio"], 
            audio: { voice: "alloy", format: "wav" }, 
            messages: [ 
            { 
                role: "user", 
                content: "Is a golden retriever a good family dog?" 
            } 
            ] 
        }); 
    
      // Inspect returned data 
      console.log(response.choices[0]); 
    
      // Write the output audio data to a file
      if (response.choices[0].message.audio) {
        writeFileSync( 
          "dog.wav", 
          Buffer.from(response.choices[0].message.audio.data, 'base64'), 
          { encoding: "utf-8" } 
        ); 
      } else {
        console.error("Audio data is null or undefined.");
      }
    }
    
    main().catch((err: Error) => {
      console.error("Error occurred:", err);
    });
    
    export { main };
    
  2. tsconfig.json Skapa filen för att transpilera TypeScript-koden och kopiera följande kod för 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. Transpilera från TypeScript till JavaScript.

    tsc
    
  4. Logga in på Azure med följande kommando:

    az login
    
  5. Kör koden med följande kommando:

    node to-audio.js
    

Vänta en stund för att få svaret.

Utdata för ljudgenerering från textinmatning

Skriptet genererar en ljudfil med namnet dog.wav i samma katalog som skriptet. Ljudfilen innehåller det talade svaret på uppmaningen: "Är en golden retriever en bra familjehund?"

Generera ljud och text från ljudinmatning

  1. from-audio.ts Skapa filen med följande kod:

    import { AzureOpenAI } from "openai";
    import { writeFileSync } from "node:fs";
    import { promises as fs } from 'fs';
    import {
        DefaultAzureCredential,
        getBearerTokenProvider,
      } from "@azure/identity";
    
    // Set environment variables or edit the corresponding values here.
    const endpoint: string = process.env["AZURE_OPENAI_ENDPOINT"] || "AZURE_OPENAI_ENDPOINT";
    const apiVersion: string = "2025-01-01-preview"; 
    const deployment: string = "gpt-4o-mini-audio-preview"; 
    
    // Keyless authentication 
    const getClient = (): AzureOpenAI => {
        const credential = new DefaultAzureCredential();
        const scope = "https://cognitiveservices.azure.com/.default";
        const azureADTokenProvider = getBearerTokenProvider(credential, scope);
        const client = new AzureOpenAI({
          endpoint: endpoint,
          apiVersion: apiVersion,
          azureADTokenProvider,
        });
        return client;
    };
    
    const client = getClient();
    
    async function main(): Promise<void> {
    
        // Buffer the audio for input to the chat completion
        const wavBuffer = await fs.readFile("dog.wav"); 
        const base64str = Buffer.from(wavBuffer).toString("base64"); 
    
        // Make the audio chat completions request
        const response = await client.chat.completions.create({ 
          model: "gpt-4o-mini-audio-preview",
          modalities: ["text", "audio"], 
          audio: { voice: "alloy", format: "wav" },
          messages: [ 
            { 
              role: "user", 
              content: [ 
                { 
                  type: "text", 
                  text: "Describe in detail the spoken audio input." 
                }, 
                { 
                  type: "input_audio", 
                  input_audio: { 
                    data: base64str, 
                    format: "wav" 
                  } 
                } 
              ] 
            } 
          ] 
        }); 
    
        console.log(response.choices[0]); 
    
        // Write the output audio data to a file
        if (response.choices[0].message.audio) {
            writeFileSync("analysis.wav", Buffer.from(response.choices[0].message.audio.data, 'base64'), { encoding: "utf-8" });
        }
        else {
            console.error("Audio data is null or undefined.");
      }
    }
    
    main().catch((err: Error) => {
      console.error("Error occurred:", err);
    });
    
    export { main };
    
  2. tsconfig.json Skapa filen för att transpilera TypeScript-koden och kopiera följande kod för 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. Transpilera från TypeScript till JavaScript.

    tsc
    
  4. Logga in på Azure med följande kommando:

    az login
    
  5. Kör koden med följande kommando:

    node from-audio.js
    

Vänta en stund för att få svaret.

Utdata för ljud- och textgenerering från ljudinmatning

Skriptet genererar en avskrift av sammanfattningen av talade ljudindata. Den genererar också en ljudfil med namnet analysis.wav i samma katalog som skriptet. Ljudfilen innehåller det talade svaret på uppmaningen.

Generera ljud och använda chattar med flera svängar

  1. multi-turn.ts Skapa filen med följande kod:

    import { AzureOpenAI } from "openai/index.mjs";
    import { promises as fs } from 'fs';
    import { ChatCompletionMessageParam } from "openai/resources/index.mjs";
    import {
        DefaultAzureCredential,
        getBearerTokenProvider,
      } from "@azure/identity";
    
    // Set environment variables or edit the corresponding values here.
    const endpoint: string = process.env["AZURE_OPENAI_ENDPOINT"] || "AZURE_OPENAI_ENDPOINT";
    const apiVersion: string = "2025-01-01-preview"; 
    const deployment: string = "gpt-4o-mini-audio-preview"; 
    
    // Keyless authentication 
    const getClient = (): AzureOpenAI => {
        const credential = new DefaultAzureCredential();
        const scope = "https://cognitiveservices.azure.com/.default";
        const azureADTokenProvider = getBearerTokenProvider(credential, scope);
        const client = new AzureOpenAI({
          endpoint: endpoint,
          apiVersion: apiVersion,
          azureADTokenProvider,
        });
        return client;
    };
    
    const client = getClient(); 
    
    async function main(): Promise<void> {
    
        // Buffer the audio for input to the chat completion
        const wavBuffer = await fs.readFile("dog.wav"); 
        const base64str = Buffer.from(wavBuffer).toString("base64"); 
    
        // Initialize messages with the first turn's user input 
        const messages: ChatCompletionMessageParam[] = [
          {
            role: "user",
            content: [
              { 
                type: "text", 
                text: "Describe in detail the spoken audio input." 
              },
              { 
                type: "input_audio", 
                input_audio: { 
                  data: base64str, 
                  format: "wav" 
                } 
              }
            ]
          }
        ];
    
        // Get the first turn's response 
    
        const response = await client.chat.completions.create({ 
            model: "gpt-4o-mini-audio-preview",
            modalities: ["text", "audio"], 
            audio: { voice: "alloy", format: "wav" }, 
            messages: messages
        }); 
    
        console.log(response.choices[0]); 
    
        // Add a history message referencing the previous turn's audio by ID 
        messages.push({ 
            role: "assistant", 
            audio: response.choices[0].message.audio ? { id: response.choices[0].message.audio.id } : undefined
        });
    
        // Add a new user message for the second turn
        messages.push({ 
            role: "user", 
            content: [ 
                { 
                  type: "text", 
                  text: "Very concisely summarize the favorability." 
                } 
            ] 
        }); 
    
        // Send the follow-up request with the accumulated messages
        const followResponse = await client.chat.completions.create({ 
            model: "gpt-4o-mini-audio-preview",
            messages: messages
        });
    
        console.log(followResponse.choices[0].message.content); 
    }
    
    main().catch((err: Error) => {
      console.error("Error occurred:", err);
    });
    
    export { main };
    
  2. tsconfig.json Skapa filen för att transpilera TypeScript-koden och kopiera följande kod för 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. Transpilera från TypeScript till JavaScript.

    tsc
    
  4. Logga in på Azure med följande kommando:

    az login
    
  5. Kör koden med följande kommando:

    node multi-turn.js
    

Vänta en stund för att få svaret.

Utdata för chattar med flera svängar

Skriptet genererar en avskrift av sammanfattningen av talade ljudindata. Sedan gör det en chatt i flera svängar för att kort sammanfatta de talade ljudindata.

Rensa resurser

Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen. Innan du tar bort resursen måste du först ta bort alla distribuerade modeller.