Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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üm2024-12-17
) -
gpt-4o-mini-realtime-preview
(sürüm2024-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:
- Azure AI Foundry portalına gidin ve projenizi oluşturun veya seçin.
- Sol bölmedeki Varlıklarım'ın altından Modeller + uç noktalar'ı seçin.
- Dağıtım penceresini açmak için + Model Dağıt>Temel Modeli Dağıt seçin.
- Modeli arayıp seçin ve ardından Onayla'yı
gpt-4o-mini-realtime-preview
seçin. - Dağıtım ayrıntılarını gözden geçirin ve Dağıt'ı seçin.
- 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:
Azure AI Foundry portalına gidin ve dağıtılan
gpt-4o-mini-realtime-preview
modelinizin bulunduğu projenizi seçin.Sol bölmeden Oyun Alanları'nı seçin.
Ses oyun alanı>Ses oyun alanını deneyin seçin.
Uyarı
Sohbet oyun alanı modeli desteklemez
gpt-4o-mini-realtime-preview
. Bu bölümde açıklandığı gibi Ses oyun alanı'nı kullanın.gpt-4o-mini-realtime-preview
açılan listesinden dağıtılan modelinizi seçin.İ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.
İsteğe bağlı olarak eşik, ön ek doldurma ve sessizlik süresi gibi ayarları değiştirin.
Oturumu başlatmak için Dinlemeye başla'ya tıklayın. Sohbet başlatmak için mikrofona konuşabilirsiniz.
Sohbeti istediğiniz zaman konuşarak kesebilirsiniz. Dinlemeyi durdur düğmesini seçerek sohbeti sonlandırabilirsiniz.
Önkoşullar
- Azure aboneliği - Ücretsiz bir tane oluşturun
- Node.js için LTS veya ESM desteği.
- 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:
- Microsoft Entra ID ile anahtarsız kimlik doğrulaması için kullanılan Azure CLI'yi yükleyin.
- Rolü kullanıcı hesabınıza atayın
Cognitive Services User
. Azure portalında Erişim denetimi (IAM)>Rol ataması ekle altında rol atayabilirsiniz.
Gerçek zamanlı ses için model dağıtma
Modeli Azure AI Foundry portalında dağıtmak gpt-4o-mini-realtime-preview
için:
- Azure AI Foundry portalına gidin ve projenizi oluşturun veya seçin.
- Sol bölmedeki Varlıklarım'ın altından Modeller + uç noktalar'ı seçin.
- Dağıtım penceresini açmak için + Model Dağıt>Temel Modeli Dağıt seçin.
- Modeli arayıp seçin ve ardından Onayla'yı
gpt-4o-mini-realtime-preview
seçin. - Dağıtım ayrıntılarını gözden geçirin ve Dağıt'ı seçin.
- 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
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
Aşağıdaki komutla
package.json
oluşturun:npm init -y
JavaScript için OpenAI istemci kitaplığını şu şekilde yükleyin:
npm install openai
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
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 };
Aşağıdaki komutla Azure'da oturum açın:
az login
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:
- Microsoft Entra ID ile anahtarsız kimlik doğrulaması için kullanılan Azure CLI'yi yükleyin.
- Rolü kullanıcı hesabınıza atayın
Cognitive Services User
. Azure portalında Erişim denetimi (IAM)>Rol ataması ekle altında rol atayabilirsiniz.
Gerçek zamanlı ses için model dağıtma
Modeli Azure AI Foundry portalında dağıtmak gpt-4o-mini-realtime-preview
için:
- Azure AI Foundry portalına gidin ve projenizi oluşturun veya seçin.
- Sol bölmedeki Varlıklarım'ın altından Modeller + uç noktalar'ı seçin.
- Dağıtım penceresini açmak için + Model Dağıt>Temel Modeli Dağıt seçin.
- Modeli arayıp seçin ve ardından Onayla'yı
gpt-4o-mini-realtime-preview
seçin. - Dağıtım ayrıntılarını gözden geçirin ve Dağıt'ı seçin.
- 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
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
Sanal ortam oluşturma. Python 3.10 veya üzeri yüklüyse aşağıdaki komutları kullanarak bir sanal ortam oluşturabilirsiniz:
Python ortamını etkinleştirmek, komut satırını çalıştırdığınızda veya
python
komut satırından çalıştırdığınızdapip
uygulamanızın klasöründe bulunan Python yorumlayıcısını.venv
kullanacağınız anlamına gelir. komutunu kullanarakdeactivate
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.
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.
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
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())
Aşağıdaki komutla Azure'da oturum açın:
az login
Python dosyasını çalıştırın.
python text-in-audio-out.py
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
- Azure aboneliği - Ücretsiz bir tane oluşturun
- Node.js için LTS veya ESM desteği.
- TypeScript genel olarak yüklendi.
- 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:
- Microsoft Entra ID ile anahtarsız kimlik doğrulaması için kullanılan Azure CLI'yi yükleyin.
- Rolü kullanıcı hesabınıza atayın
Cognitive Services User
. Azure portalında Erişim denetimi (IAM)>Rol ataması ekle altında rol atayabilirsiniz.
Gerçek zamanlı ses için model dağıtma
Modeli Azure AI Foundry portalında dağıtmak gpt-4o-mini-realtime-preview
için:
- Azure AI Foundry portalına gidin ve projenizi oluşturun veya seçin.
- Sol bölmedeki Varlıklarım'ın altından Modeller + uç noktalar'ı seçin.
- Dağıtım penceresini açmak için + Model Dağıt>Temel Modeli Dağıt seçin.
- Modeli arayıp seçin ve ardından Onayla'yı
gpt-4o-mini-realtime-preview
seçin. - Dağıtım ayrıntılarını gözden geçirin ve Dağıt'ı seçin.
- 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
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
Aşağıdaki komutla
package.json
oluşturun:npm init -y
package.json
aşağıdaki komut ile ECMAScript olarak güncelleyin:npm pkg set type=module
JavaScript için OpenAI istemci kitaplığını şu şekilde yükleyin:
npm install openai
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
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 };
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"] }
TypeScript'ten JavaScript'e dönüştürme.
tsc
Aşağıdaki komutla Azure'da oturum açın:
az login
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!
İlgili içerik
- Gerçek Zamanlı API'yi kullanma hakkında daha fazla bilgi edinin
- Bkz. Gerçek Zamanlı API başvurusu
- Azure OpenAI kotaları ve sınırları hakkında daha fazla bilgi edinin
- Konuşma tanıma hizmeti için dil ve ses desteği hakkında daha fazla bilgi edinin