OpenAI Realtime API, konuşmadan konuşmaya (speech-to-speech) sohbet deneyimleri ve gerçek zamanlı transkripsiyon dahil olmak üzere düşük gecikmeli, çok modlu etkileşimleri sağlar.
TsgcWSAPI_OpenAI bileşeni, RealTime OpenAI API'sini uygular.
Conversation veya Transcription seçmek için method özelliğini kullanın, şu anda yalnızca Transcription modu desteklenmektedir.
InputAudio özelliği, aşağıdaki verileri özelleştirmenize olanak tanır:
OpenAI
OpenAI API, 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 bir sır olduğunu unutmayın! Başkalarıyla paylaşmayın veya herhangi bir istemci tarafı kodunda (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 arka uç sunucunuz üzerinden yönlendirilmelidir.
Bu API Key, bileşenin OpenAIOptions.ApiKey özelliğinde yapılandırılmalıdır. İsteğe bağlı olarak, birden fazla organizasyona ait kullanıcılar için, hesabınız bir organizasyona aitse Organizasyonunuzu OpenAIOptions.Organization özelliğinde ayarlayabilirsiniz.
API Anahtarı yapılandırıldıktan sonra, OpenAI API ile etkileşim kurmak için kullanılabilir fonksiyonların bir listesini aşağıda bulun.
Azure
İstemci Microsoft Azure OpenAI Services'i destekler, böylece Azure hesabınızı Azure OpenAI API ile etkileşim kurmak için de kullanabilirsiniz. İstemciyi Azure ile çalışacak şekilde yapılandırmak için sonraki adımları izleyin:
openAI API kullanarak gerçek zamanlı transkripsiyon örneğini aşağıda bulun
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;