OpenAI RealTime API

· Bileşenler

sgcWebSockets 2025.5.0 sürümünden itibaren OpenAI RealTime API desteklenir (şu anda yalnızca transkripsiyon modu).

OpenAI Realtime API; konuşmadan konuşmaya sohbet deneyimleri ve gerçek zamanlı transkripsiyon dahil olmak üzere düşük gecikmeli, çok modlu etkileşimler sağlar.

TsgcWSAPI_OpenAI bileşeni, RealTime OpenAI API'sini uygular.

Yapılandırma

Conversation veya Transcription seçmek için method özelliğini kullanın; şu anda yalnızca Transcription modu desteklenir.

InputAudio özelliği aşağıdaki verileri özelleştirmenize olanak tanır:

OpenAI

OpenAI API'si kimlik doğrulama için API anahtarları kullanır. İsteklerinizde kullanacağınız API anahtarını almak için API Keys sayfanızı ziyaret edin.

API anahtarınızın gizli olduğunu unutmayın! Başkalarıyla paylaşmayın veya herhangi bir istemci tarafı kodda (tarayıcılar, uygulamalar) açığa çıkarmayın. Üretim istekleri, API anahtarınızın bir ortam değişkeninden veya anahtar yönetim hizmetinden güvenli bir şekilde yüklenebileceği kendi backend sunucunuz üzerinden yönlendirilmelidir.

Bu API Anahtarı, bileşenin OpenAIOptions.ApiKey özelliğinde yapılandırılmalıdır. İsteğe bağlı olarak, birden çok organizasyona ait kullanıcılar için, hesabınız bir organizasyona aitse OpenAIOptions.Organization özelliğinde Organizasyonunuzu ayarlayabilirsiniz.

API Anahtarı yapılandırıldıktan sonra, OpenAI API'si ile etkileşim kurmak için kullanılabilecek işlevlerin bir listesini aşağıda bulabilirsiniz.

Azure

İstemci, Microsoft Azure OpenAI Services'i destekler; dolayısıyla Azure OpenAI API ile etkileşim kurmak için Azure hesabınızı da kullanabilirsiniz. İstemciyi Azure ile çalışacak şekilde yapılandırmak için sonraki adımları izleyin:

  1. OpenAIOptions.Provider = oapvAzure özelliğini yapılandırın
  2. ResourceName ve DeploymentId değerlerini ayarlayın (bu değerler Azure Hesabınızda bulunabilir)
    1. OpenAIOptions.AzureOptions.ResourceName = <your resource name>.
    2. OpenAIOptions.AzureOptions.DeploymentId = <your deployment id>.
  3. Azure Hesabınızın API Anahtarını ayarlayın
    1. OpenAIOptions.ApiKey = <azure api key>.

Transkripsiyon Örneği

WSClient := TsgcWebSocketClient.Create(nil);
oAudio := TsgcAudioRecorderWave.Create(nil);
OpenAI := TsgcWSAPI_OpenAI.Create(nil);
OpenAI.Client := WSClient;
OpenAI.AudioRecorder := oAudio;
OpenAI.OpenAIOptions.APIKey := 'your-api-key-here';
OpenAI.OpenAIOptions.method := sgcoaimTranscription;
OpenAI.OpenAIOptions.provider := sgcoaipOpenAI;
OpenAI.InputAudio.Language := 'en';
OpenAI.InputAudio.Model := 'whisper-1';
procedure OnOpenAIAudioTranscriptionCompleted(Sender: TObject; const aItem: TsgcWSOpenAIConversation_Item_Completed);
begin
  Log('#transcription_completed: ' + aItem.Transcript);
end; 

Demo

 OpenAI RealTime API'sinin başlıca özelliklerini gösteren bir Delphi Demosunu aşağıda bulabilirsiniz