De OpenAI Realtime API maakt lage-latentie, multimodale interacties mogelijk, waaronder spraak-naar-spraak conversatie-ervaringen en real-time transcriptie.
De component TsgcWSAPI_OpenAI implementeert de RealTime OpenAI API.
Gebruik de eigenschap method om Conversation of Transcription te selecteren; momenteel wordt alleen de Transcription-modus ondersteund.
Met de eigenschap InputAudio kunt u de volgende gegevens aanpassen:
OpenAI
De OpenAI API gebruikt API-sleutels voor authenticatie. Bezoek uw API-sleutels-pagina om de API-sleutel op te halen die u in uw verzoeken wilt gebruiken.
Onthoud dat uw API-sleutel een geheim is! Deel deze niet met anderen en stel hem niet bloot in client-side code (browsers, apps). Productieverzoeken moeten worden gerouteerd via uw eigen backend-server, waar uw API-sleutel veilig kan worden geladen vanuit een omgevingsvariabele of sleutelbeheerdienst.
Deze API-sleutel moet worden geconfigureerd in de eigenschap OpenAIOptions.ApiKey van het component. Optioneel kunnen gebruikers die tot meerdere organisaties behoren, hun Organisatie instellen in de eigenschap OpenAIOptions.Organization als uw account tot een organisatie behoort.
Zodra de API-sleutel is geconfigureerd, vindt u hieronder een lijst van beschikbare functies voor interactie met de OpenAI API.
Azure
De client ondersteunt Microsoft Azure OpenAI Services, zodat u uw Azure-account kunt gebruiken om te communiceren met de Azure OpenAI API. Volg de volgende stappen om de client te configureren voor gebruik met Azure:
Hieronder vindt u een voorbeeld van realtime transcriptie met de openAI API
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;