Konuşma ve ses için GPT-4o Gerçek Zamanlı API (Önizleme)
Not
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 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. GPT-4o ses realtime
API'si gerçek zamanlı, düşük gecikme süreli konuşma etkileşimlerini işleyecek şekilde tasarlanmıştır ve bu sayede müşteri destek aracıları, sesli yardımcılar ve gerçek zamanlı çevirmenler gibi kullanıcı ve model arasındaki canlı etkileşimleri içeren kullanım örnekleri için mükemmel bir seçenektir.
Gerçek zamanlı API'nin kullanıcılarının çoğu, WebRTC veya telefon sistemi kullanan uygulamalar da dahil olmak üzere gerçek zamanlı olarak bir son kullanıcıdan ses teslim etmek ve almak zorunda. Gerçek Zamanlı API doğrudan son kullanıcı cihazlarına bağlanacak şekilde tasarlanmamıştır ve son kullanıcı ses akışlarını sonlandırmak için istemci tümleştirmelerine dayanır.
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
) -
gpt-4o-realtime-preview
(sürüm2024-10-01
)
Daha fazla bilgi için modeller ve sürümler belgelerine bakın.
API desteği
Realtime API desteği ilk olarak API sürümünde 2024-10-01-preview
eklendi. En son 2024-12-17
model sürümünü 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ında Azure OpenAI Hizmeti sayfasına gidin. Azure OpenAI Hizmeti kaynağınızın olduğu Azure aboneliğiyle (model dağıtımları ile veya olmadan) oturum açtığınızdan emin olun.
- Sol bölmedeki Oyun Alanları'nın altından Gerçek zamanlı ses oyun alanı'nı seçin.
- Dağıtım penceresini açmak için + Temel modellerden yeni dağıtım>oluştur'u seçin.
- Modeli arayıp seçin
gpt-4o-mini-realtime-preview
ve ardından Seçili kaynağa dağıt'ı seçin. - Dağıtım sihirbazında model sürümünü seçin
2024-12-17
. - Modeli dağıtma işlemini tamamlamak için sihirbazı izleyin.
Artık modelin dağıtımına gpt-4o-mini-realtime-preview
sahip olduğunuz için Azure AI Foundry portalında gerçek zamanlı ses oyun alanı veya Gerçek zamanlı API ile gerçek zamanlı etkileşim kurabilirsiniz.
GPT-4o gerçek zamanlı sesi kullanma
Azure AI Foundry Gerçek zamanlı ses oyun alanında dağıtılan gpt-4o-mini-realtime-preview
modelinizle sohbet etmek için şu adımları izleyin:
Azure AI Foundry portalında Azure OpenAI Hizmeti sayfasına gidin. Azure OpenAI Hizmeti kaynağınızın ve dağıtılan
gpt-4o-mini-realtime-preview
modelin yer aldığı Azure aboneliğiyle oturum açtığınızdan emin olun.Sol bölmedeki Oyun Alanları'nın altından Gerçek zamanlı ses oyun alanı'nı seçin.
Dağıtım açılan listesinden dağıtılan
gpt-4o-mini-realtime-preview
modelinizi seçin.Tarayıcının mikrofonunuza erişmesine izin vermek için Mikrofonu etkinleştir'i seçin. Zaten izin verdiyseniz, bu adımı atlayabilirsiniz.
İ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 abonelik oluşturun
- LTS veya ESM desteğini Node.js.
- 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ında Azure OpenAI Hizmeti sayfasına gidin. Azure OpenAI Hizmeti kaynağınızın olduğu Azure aboneliğiyle (model dağıtımları ile veya olmadan) oturum açtığınızdan emin olun.
- Sol bölmedeki Oyun Alanları'nın altından Gerçek zamanlı ses oyun alanı'nı seçin.
- Dağıtım penceresini açmak için + Temel modellerden yeni dağıtım>oluştur'u seçin.
- Modeli arayıp seçin
gpt-4o-mini-realtime-preview
ve ardından Seçili kaynağa dağıt'ı seçin. - Dağıtım sihirbazında model sürümünü seçin
2024-12-17
. - Modeli dağıtma işlemini tamamlamak için sihirbazı izleyin.
Artık modelin dağıtımına gpt-4o-mini-realtime-preview
sahip olduğunuz için Azure AI Foundry portalında gerçek zamanlı ses oyun alanı veya Gerçek zamanlı API ile gerçek zamanlı etkileşim kurabilirsiniz.
Ayarlama
Uygulamayı içerecek yeni bir klasör
realtime-audio-quickstart
oluşturun ve aşağıdaki komutla bu klasörde Visual Studio Code'u açın:mkdir realtime-audio-quickstart && code realtime-audio-quickstart
aşağıdaki komutla oluşturun
package.json
:npm init -y
package.json
ecmascript'e aşağıdaki komutla güncelleştirin:npm pkg set type=module
JavaScript için gerçek zamanlı ses istemci kitaplığını şu şekilde yükleyin:
npm install https://github.com/Azure-Samples/aoai-realtime-audio-sdk/releases/download/js/v0.5.2/rt-client-0.5.2.tgz
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 |
Bu değer, bir modeli dağıtırken dağıtımınız için seçtiğiniz özel ada 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. |
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.js
Dosyayı aşağıdaki kodla oluşturun: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();
Aşağıdaki komutla Azure'da oturum açın:
az login
JavaScript dosyasını çalıştırın.
node text-in-audio-out.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: 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.
Web uygulaması örneği
GitHub'daki JavaScript web örneğimiz, modelle gerçek zamanlı olarak etkileşime geçmek için GPT-4o Realtime API'sinin nasıl kullanılacağını gösterir. Örnek kod, kullanıcının mikrofonundan ses yakalayan ve işlenmek üzere modele gönderen basit bir web arabirimi içerir. Model, örnek kodun web arabiriminde işlediği metin ve ses ile yanıt verir.
Aşağıdaki adımları izleyerek örnek kodu makinenizde yerel olarak çalıştırabilirsiniz. En güncel yönergeler için GitHub'daki depoya bakın.
Node.js yüklü değilse Node.js LTS sürümünü indirip yükleyin.
Depoyu yerel makinenize kopyalayın:
git clone https://github.com/Azure-Samples/aoai-realtime-audio-sdk.git
javascript/samples/web
Tercih ettiğiniz kod düzenleyicisindeki klasöre gidin.cd ./javascript/samples
Gerekli paketleri indirmek için veya
download-pkg.sh
komutunu çalıştırındownload-pkg.ps1
.Klasöründen
web
klasöre./javascript/samples
gidin.cd ./web
Paket bağımlılıklarını yüklemek için komutunu çalıştırın
npm install
.Web sunucusunu başlatmak için komutunu çalıştırın
npm run dev
ve gerektiğinde güvenlik duvarı izin istemlerinde gezinin.Sağlanan URI'lerden herhangi birine bir tarayıcıdaki konsol çıkışından (örneğin
http://localhost:5173/
) gidin.Web arabirimine aşağıdaki bilgileri girin:
-
Uç nokta: Azure OpenAI kaynağının kaynak uç noktası. Yolu eklemeniz
/realtime
gerekmez. Örnek bir yapı olabilirhttps://my-azure-openai-resource-from-portal.openai.azure.com
. - API Anahtarı: Azure OpenAI kaynağı için karşılık gelen API anahtarı.
-
Dağıtım: Önceki bölümde dağıttığınız modelin adı
gpt-4o-mini-realtime-preview
. - Sistem İletisi: İsteğe bağlı olarak, "Her zaman dost korsan gibi konuşuyorsunuz" gibi bir sistem iletisi sağlayabilirsiniz.
- Sıcaklık: İsteğe bağlı olarak, özel bir sıcaklık sağlayabilirsiniz.
- Ses: İsteğe bağlı olarak bir ses seçebilirsiniz.
-
Uç nokta: Azure OpenAI kaynağının kaynak uç noktası. Yolu eklemeniz
Oturumu başlatmak için Kaydet düğmesini seçin. İstenirse mikrofonunuzu kullanma izinlerini kabul edin.
Ana çıkışta bir
<< Session Started >>
ileti görmeniz gerekir. Ardından sohbet başlatmak için mikrofona konuşabilirsiniz.Sohbeti istediğiniz zaman konuşarak kesebilirsiniz. Durdur düğmesini seçerek sohbeti sonlandırabilirsiniz.
Önkoşullar
- 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ında Azure OpenAI Hizmeti sayfasına gidin. Azure OpenAI Hizmeti kaynağınızın olduğu Azure aboneliğiyle (model dağıtımları ile veya olmadan) oturum açtığınızdan emin olun.
- Sol bölmedeki Oyun Alanları'nın altından Gerçek zamanlı ses oyun alanı'nı seçin.
- Dağıtım penceresini açmak için + Temel modellerden yeni dağıtım>oluştur'u seçin.
- Modeli arayıp seçin
gpt-4o-mini-realtime-preview
ve ardından Seçili kaynağa dağıt'ı seçin. - Dağıtım sihirbazında model sürümünü seçin
2024-12-17
. - Modeli dağıtma işlemini tamamlamak için sihirbazı izleyin.
Artık modelin dağıtımına gpt-4o-mini-realtime-preview
sahip olduğunuz için Azure AI Foundry portalında gerçek zamanlı ses oyun alanı veya Gerçek zamanlı API ile gerçek zamanlı etkileşim kurabilirsiniz.
Ayarlama
Uygulamayı içerecek yeni bir klasör
realtime-audio-quickstart
oluşturun ve aşağıdaki komutla bu klasörde Visual Studio Code'u açın:mkdir realtime-audio-quickstart && code 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
pip
komut satırından çalıştırdığınızdapython
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.İpucu
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.
Python için gerçek zamanlı ses istemci kitaplığını şu şekilde yükleyin:
pip install "https://github.com/Azure-Samples/aoai-realtime-audio-sdk/releases/download/py%2Fv0.5.3/rtclient-0.5.3.tar.gz"
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 |
Bu değer, bir modeli dağıtırken dağıtımınız için seçtiğiniz özel ada 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. |
Anahtarsız kimlik doğrulaması ve ortam değişkenlerini ayarlama hakkında daha fazla bilgi edinin.
Ses çıkışında metin
text-in-audio-out.py
Dosyayı aşağıdaki kodla oluşturun: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())
Python dosyasını çalıştırın.
python text-in-audio-out.py
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: 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.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- LTS veya ESM desteğini Node.js.
- 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ında Azure OpenAI Hizmeti sayfasına gidin. Azure OpenAI Hizmeti kaynağınızın olduğu Azure aboneliğiyle (model dağıtımları ile veya olmadan) oturum açtığınızdan emin olun.
- Sol bölmedeki Oyun Alanları'nın altından Gerçek zamanlı ses oyun alanı'nı seçin.
- Dağıtım penceresini açmak için + Temel modellerden yeni dağıtım>oluştur'u seçin.
- Modeli arayıp seçin
gpt-4o-mini-realtime-preview
ve ardından Seçili kaynağa dağıt'ı seçin. - Dağıtım sihirbazında model sürümünü seçin
2024-12-17
. - Modeli dağıtma işlemini tamamlamak için sihirbazı izleyin.
Artık modelin dağıtımına gpt-4o-mini-realtime-preview
sahip olduğunuz için Azure AI Foundry portalında gerçek zamanlı ses oyun alanı veya Gerçek zamanlı API ile gerçek zamanlı etkileşim kurabilirsiniz.
Ayarlama
Uygulamayı içerecek yeni bir klasör
realtime-audio-quickstart
oluşturun ve aşağıdaki komutla bu klasörde Visual Studio Code'u açın:mkdir realtime-audio-quickstart && code realtime-audio-quickstart
aşağıdaki komutla oluşturun
package.json
:npm init -y
package.json
ecmascript'e aşağıdaki komutla güncelleştirin:npm pkg set type=module
JavaScript için gerçek zamanlı ses istemci kitaplığını şu şekilde yükleyin:
npm install https://github.com/Azure-Samples/aoai-realtime-audio-sdk/releases/download/js/v0.5.2/rt-client-0.5.2.tgz
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 |
Bu değer, bir modeli dağıtırken dağıtımınız için seçtiğiniz özel ada 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. |
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.ts
Dosyayı aşağıdaki kodla oluşturun: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();
tsconfig.json
TypeScript kodunu değiştirmek için dosyasını oluşturun ve 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 text-in-audio-out.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: 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.
İ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