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


GPT-4o Realtime API beszédhez és hanghoz (előzetes verzió)

Feljegyzés

Ez a funkció jelenleg nyilvános előzetes verzióban érhető el. Ez az előzetes verzió szolgáltatásszint-szerződés nélkül érhető el, és éles számítási feladatokhoz nem javasoljuk. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik. További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

Az Azure OpenAI GPT-4o Realtime API a GPT-4o modellcsalád része, amely támogatja az alacsony késleltetésű, a "speech in, speech out" beszélgetési interakciókat. A GPT-4o audio realtime API valós idejű, kis késésű beszélgetési interakciók kezelésére lett kialakítva, így kiválóan alkalmas a felhasználó és a modell közötti élő interakciókat, például az ügyfélszolgálati ügynököket, a hangsegédeket és a valós idejű fordítókat érintő használati esetekhez.

A Realtime API legtöbb felhasználójának valós időben kell hangot szolgáltatnia és fogadnia egy végfelhasználótól, beleértve a WebRTC-t vagy telefonos rendszert használó alkalmazásokat is. A Realtime API-t nem úgy tervezték, hogy közvetlenül a végfelhasználói eszközökhöz csatlakozzon, és az ügyfélintegrációkra támaszkodik a végfelhasználói hangstreamek leállításához.

Támogatott modellek

A GPT 4o valós idejű modellek globális üzemelő példányokhoz érhetők el.

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

További információért tekintse meg a modellek és verziók dokumentációját .

API-támogatás

A Realtime API támogatása először az API-verzióban 2024-10-01-previewlett hozzáadva. Használja a legújabb 2024-12-17 modellverziót.

Modell üzembe helyezése valós idejű hanganyagokhoz

A modell üzembe helyezése gpt-4o-mini-realtime-preview az Azure AI Foundry portálon:

  1. Nyissa meg az Azure OpenAI szolgáltatás lapját az Azure AI Foundry portálon. Győződjön meg arról, hogy azzal az Azure-előfizetéssel jelentkezett be, amely rendelkezik az Azure OpenAI-szolgáltatás erőforrásával (modelltelepítésekkel vagy anélkül).)
  2. Válassza ki a valós idejű hang játszóteret a bal oldali panel Játszóterek területén.
  3. Válassza a + Új üzembe helyezés>létrehozása alapmodellekből lehetőséget az üzembehelyezési ablak megnyitásához.
  4. Keresse meg és jelölje ki a modellt, majd válassza az gpt-4o-mini-realtime-preview Üzembe helyezés lehetőséget a kiválasztott erőforráson.
  5. Az üzembe helyezési varázslóban válassza ki a modellverziót 2024-12-17 .
  6. Kövesse a varázslót a modell üzembe helyezésének befejezéséhez.

Most, hogy üzembe helyezték a gpt-4o-mini-realtime-preview modellt, valós időben használhatja az Azure AI Foundry portál valós idejű hangjátszóterében vagy a Realtime API-ban.

A GPT-4o valós idejű hangjának használata

Ha az Azure AI Foundryvalós idejű hangjátszótérben szeretne csevegni az üzembe helyezett gpt-4o-mini-realtime-preview modellel, kövesse az alábbi lépéseket:

  1. Nyissa meg az Azure OpenAI szolgáltatás lapját az Azure AI Foundry portálon. Győződjön meg arról, hogy azzal az Azure-előfizetéssel jelentkezett be, amely rendelkezik az Azure OpenAI-szolgáltatás erőforrásával és az üzembe helyezett modellel gpt-4o-mini-realtime-preview .

  2. Válassza ki a valós idejű hang játszóteret a bal oldali panel Játszóterek területén.

  3. Válassza ki az üzembe helyezett gpt-4o-mini-realtime-preview modellt az Üzembe helyezés legördülő listából.

  4. Válassza a Mikrofon engedélyezése lehetőséget, hogy a böngésző hozzáférhessen a mikrofonhoz. Ha már adott engedélyt, kihagyhatja ezt a lépést.

    Képernyőkép a valós idejű hangjátszótérről az üzembe helyezett modell kiválasztásával.

  5. A modell utasításainak és a környezet szövegmezőjének tartalmát tetszés szerint szerkesztheti. Adja meg a modell utasításait arról, hogy hogyan kell viselkednie, és minden olyan környezetet, amelyre hivatkoznia kell a válasz létrehozásakor. Leírhatja a segéd személyiségét, megmondhatja, hogy mit kell és mit nem szabad megválaszolnia, és megadhatja, hogyan formázza a válaszokat.

  6. Szükség esetén módosíthatja a beállításokat, például a küszöbértéket, az előtagok kitöltését és a csend időtartamát.

  7. Válassza a Beszélgetés indítása gombra a munkamenet indításához. Csevegés indításához a mikrofonba is beszólhat.

    Képernyőkép a valós idejű hangjátszótérről, amelyen engedélyezve van a figyelő gomb és a mikrofon elérése.

  8. A csevegést bármikor megszakíthatja, ha beszél. A csevegést a Lehallgatás gomb kiválasztásával fejezheti be.

Előfeltételek

A Microsoft Entra ID előfeltételei

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

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

Modell üzembe helyezése valós idejű hanganyagokhoz

A modell üzembe helyezése gpt-4o-mini-realtime-preview az Azure AI Foundry portálon:

  1. Nyissa meg az Azure OpenAI szolgáltatás lapját az Azure AI Foundry portálon. Győződjön meg arról, hogy azzal az Azure-előfizetéssel jelentkezett be, amely rendelkezik az Azure OpenAI-szolgáltatás erőforrásával (modelltelepítésekkel vagy anélkül).)
  2. Válassza ki a valós idejű hang játszóteret a bal oldali panel Játszóterek területén.
  3. Válassza a + Új üzembe helyezés>létrehozása alapmodellekből lehetőséget az üzembehelyezési ablak megnyitásához.
  4. Keresse meg és jelölje ki a modellt, majd válassza az gpt-4o-mini-realtime-preview Üzembe helyezés lehetőséget a kiválasztott erőforráson.
  5. Az üzembe helyezési varázslóban válassza ki a modellverziót 2024-12-17 .
  6. Kövesse a varázslót a modell üzembe helyezésének befejezéséhez.

Most, hogy üzembe helyezték a gpt-4o-mini-realtime-preview modellt, valós időben használhatja az Azure AI Foundry portál valós idejű hangjátszóterében vagy a Realtime API-ban.

Beállítás

  1. Hozzon létre egy új mappát realtime-audio-quickstart , amely tartalmazza az alkalmazást, és nyissa meg a Visual Studio Code-ot abban a mappában a következő paranccsal:

    mkdir realtime-audio-quickstart && code realtime-audio-quickstart
    
  2. Hozza létre a package.json következő paranccsal:

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

    npm pkg set type=module
    
  4. Telepítse a JavaScripthez készült valós idejű hangügyfél-kódtárat a következőkkel:

    npm install https://github.com/Azure-Samples/aoai-realtime-audio-sdk/releases/download/js/v0.5.2/rt-client-0.5.2.tgz
    
  5. A Microsoft Entra-azonosítóval javasolt kulcs nélküli hitelesítéshez telepítse a csomagot a @azure/identity következőkkel:

    npm install @azure/identity
    

Erőforrásadatok lekérése

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

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

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

Figyelemfelhívás

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

Szöveg hangkijelen

  1. Hozza létre a text-in-audio-out.js fájlt a következő kóddal:

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

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

    node text-in-audio-out.js
    

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

Hozam

A szkript választ kap a modelltől, és kinyomtatja a kapott átiratot és hangadatokat.

A kimenet a következőhöz hasonlóan fog kinézni:

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.

Webalkalmazás-minta

A GitHubon található JavaScript-webmintánk bemutatja, hogyan használhatja a GPT-4o Realtime API-t a modell valós idejű használatára. A mintakód egy egyszerű webes felületet tartalmaz, amely rögzíti a hangokat a felhasználó mikrofonjából, és elküldi a modellt feldolgozásra. A modell szöveggel és hanggal válaszol, amelyet a mintakód a webes felületen jelenít meg.

A mintakódot helyileg futtathatja a számítógépen az alábbi lépések végrehajtásával. A legfrissebb utasításokért tekintse meg a GitHub adattárát.

  1. Ha nincs telepítve Node.js, töltse le és telepítse a Node.js LTS-verzióját.

  2. Klónozza az adattárat a helyi gépre:

    git clone https://github.com/Azure-Samples/aoai-realtime-audio-sdk.git
    
  3. Lépjen az javascript/samples/web előnyben részesített kódszerkesztő mappájába.

    cd ./javascript/samples
    
  4. Futtassa download-pkg.ps1 vagy download-pkg.sh töltse le a szükséges csomagokat.

  5. Nyissa meg a web mappát a ./javascript/samples mappából.

    cd ./web
    
  6. A csomagfüggőségek telepítéséhez futtassa npm install .

  7. Futtassa npm run dev a webkiszolgáló elindítását, és szükség szerint navigáljon a tűzfalengedélyek kérései között.

  8. Nyissa meg a konzol kimenetének (például http://localhost:5173/) valamelyik megadott URI-ját egy böngészőben.

  9. Adja meg a következő adatokat a webes felületen:

    • Végpont: Egy Azure OpenAI-erőforrás erőforrásvégpontja. Nem kell hozzáfűznie az /realtime elérési utat. Példastruktúra lehet.https://my-azure-openai-resource-from-portal.openai.azure.com
    • API-kulcs: Az Azure OpenAI-erőforrás megfelelő API-kulcsa.
    • Üzembe helyezés: Az előző szakaszban üzembe helyezett modell nevegpt-4o-mini-realtime-preview.
    • Rendszerüzenet: Igény szerint megadhat egy olyan rendszerüzenetet, mint a "Mindig úgy beszélsz, mint egy barátságos kalóz".
    • Hőmérséklet: Igény szerint egyéni hőmérsékletet is megadhat.
    • Hang: Igény szerint kiválaszthatja a hangot.
  10. A munkamenet elindításához válassza a Rekord gombot. Ha a rendszer kéri, fogadja el a mikrofon használatára vonatkozó engedélyeket.

  11. A fő kimenetben egy << Session Started >> üzenetnek kell megjelennie. Ezután cseveghet a mikrofonnal.

  12. A csevegést bármikor megszakíthatja, ha beszél. A csevegést a Leállítás gombra kattintva fejezheti be.

Előfeltételek

  • Azure-előfizetés. Hozzon létre egyet ingyen.
  • Python 3.8 vagy újabb verzió. Javasoljuk, hogy a Python 3.10-et vagy újabb verziót használja, de legalább Python 3.8-at kell használnia. Ha nem rendelkezik a Python megfelelő verziójával, kövesse a VS Code Python oktatóanyagában található utasításokat a Python operációs rendszerre való telepítésének legegyszerűbb módjához.
  • Az egyik támogatott régióban létrehozott Azure OpenAI-erőforrás. A régiók elérhetőségéről további információt a modellek és a verziók dokumentációjában talál.
  • Ezután üzembe kell helyeznie egy gpt-4o-mini-realtime-preview modellt az Azure OpenAI-erőforrással. További információ: Erőforrás létrehozása és modell üzembe helyezése az Azure OpenAI használatával.

A Microsoft Entra ID előfeltételei

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

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

Modell üzembe helyezése valós idejű hanganyagokhoz

A modell üzembe helyezése gpt-4o-mini-realtime-preview az Azure AI Foundry portálon:

  1. Nyissa meg az Azure OpenAI szolgáltatás lapját az Azure AI Foundry portálon. Győződjön meg arról, hogy azzal az Azure-előfizetéssel jelentkezett be, amely rendelkezik az Azure OpenAI-szolgáltatás erőforrásával (modelltelepítésekkel vagy anélkül).)
  2. Válassza ki a valós idejű hang játszóteret a bal oldali panel Játszóterek területén.
  3. Válassza a + Új üzembe helyezés>létrehozása alapmodellekből lehetőséget az üzembehelyezési ablak megnyitásához.
  4. Keresse meg és jelölje ki a modellt, majd válassza az gpt-4o-mini-realtime-preview Üzembe helyezés lehetőséget a kiválasztott erőforráson.
  5. Az üzembe helyezési varázslóban válassza ki a modellverziót 2024-12-17 .
  6. Kövesse a varázslót a modell üzembe helyezésének befejezéséhez.

Most, hogy üzembe helyezték a gpt-4o-mini-realtime-preview modellt, valós időben használhatja az Azure AI Foundry portál valós idejű hangjátszóterében vagy a Realtime API-ban.

Beállítás

  1. Hozzon létre egy új mappát realtime-audio-quickstart , amely tartalmazza az alkalmazást, és nyissa meg a Visual Studio Code-ot abban a mappában a következő paranccsal:

    mkdir realtime-audio-quickstart && code realtime-audio-quickstart
    
  2. Hozzon létre egy virtuális környezetet. Ha már telepítve van a Python 3.10 vagy újabb verziója, a következő parancsokkal hozhat létre virtuális környezetet:

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

    A Python-környezet aktiválása azt jelenti, hogy a parancssorból vagy pip futtatáskor python az alkalmazás mappájában .venv található Python-értelmezőt fogja használni. A parancs használatával deactivate kiléphet a Python virtuális környezetből, és később szükség esetén újraaktiválhatja azt.

    Tipp.

    Javasoljuk, hogy hozzon létre és aktiváljon egy új Python-környezetet az oktatóanyaghoz szükséges csomagok telepítéséhez. Ne telepítsen csomagokat a globális Python-telepítésbe. Python-csomagok telepítésekor mindig használjon virtuális vagy conda környezetet, különben megszakíthatja a Python globális telepítését.

  3. Telepítse a Python valós idejű hangügyfél-kódtárát a következőkkel:

    pip install "https://github.com/Azure-Samples/aoai-realtime-audio-sdk/releases/download/py%2Fv0.5.3/rtclient-0.5.3.tar.gz"
    
  4. A Microsoft Entra-azonosítóval javasolt kulcs nélküli hitelesítéshez telepítse a csomagot a azure-identity következőkkel:

    pip install azure-identity
    

Erőforrásadatok lekérése

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

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

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

Szöveg hangkijelen

  1. Hozza létre a text-in-audio-out.py fájlt a következő kóddal:

    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. Futtassa a Python-fájlt.

    python text-in-audio-out.py
    

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

Hozam

A szkript választ kap a modelltől, és kinyomtatja a kapott átiratot és hangadatokat.

A kimenet a következőhöz hasonlóan fog kinézni:

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.

Előfeltételek

A Microsoft Entra ID előfeltételei

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

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

Modell üzembe helyezése valós idejű hanganyagokhoz

A modell üzembe helyezése gpt-4o-mini-realtime-preview az Azure AI Foundry portálon:

  1. Nyissa meg az Azure OpenAI szolgáltatás lapját az Azure AI Foundry portálon. Győződjön meg arról, hogy azzal az Azure-előfizetéssel jelentkezett be, amely rendelkezik az Azure OpenAI-szolgáltatás erőforrásával (modelltelepítésekkel vagy anélkül).)
  2. Válassza ki a valós idejű hang játszóteret a bal oldali panel Játszóterek területén.
  3. Válassza a + Új üzembe helyezés>létrehozása alapmodellekből lehetőséget az üzembehelyezési ablak megnyitásához.
  4. Keresse meg és jelölje ki a modellt, majd válassza az gpt-4o-mini-realtime-preview Üzembe helyezés lehetőséget a kiválasztott erőforráson.
  5. Az üzembe helyezési varázslóban válassza ki a modellverziót 2024-12-17 .
  6. Kövesse a varázslót a modell üzembe helyezésének befejezéséhez.

Most, hogy üzembe helyezték a gpt-4o-mini-realtime-preview modellt, valós időben használhatja az Azure AI Foundry portál valós idejű hangjátszóterében vagy a Realtime API-ban.

Beállítás

  1. Hozzon létre egy új mappát realtime-audio-quickstart , amely tartalmazza az alkalmazást, és nyissa meg a Visual Studio Code-ot abban a mappában a következő paranccsal:

    mkdir realtime-audio-quickstart && code realtime-audio-quickstart
    
  2. Hozza létre a package.json következő paranccsal:

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

    npm pkg set type=module
    
  4. Telepítse a JavaScripthez készült valós idejű hangügyfél-kódtárat a következőkkel:

    npm install https://github.com/Azure-Samples/aoai-realtime-audio-sdk/releases/download/js/v0.5.2/rt-client-0.5.2.tgz
    
  5. A Microsoft Entra-azonosítóval javasolt kulcs nélküli hitelesítéshez telepítse a csomagot a @azure/identity következőkkel:

    npm install @azure/identity
    

Erőforrásadatok lekérése

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

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

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

Figyelemfelhívás

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

Szöveg hangkijelen

  1. Hozza létre a text-in-audio-out.ts fájlt a következő kóddal:

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

    {
        "compilerOptions": {
          "module": "NodeNext",
          "target": "ES2022", // Supports top-level await
          "moduleResolution": "NodeNext",
          "skipLibCheck": true, // Avoid type errors from node_modules
          "strict": true // Enable strict type-checking options
        },
        "include": ["*.ts"]
    }
    
  3. Transpile TypeScriptről JavaScriptre.

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

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

    node text-in-audio-out.js
    

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

Hozam

A szkript választ kap a modelltől, és kinyomtatja a kapott átiratot és hangadatokat.

A kimenet a következőhöz hasonlóan fog kinézni:

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.