Vanaf sgcWebSockets 2025.5.0 wordt de OpenAI RealTime-API ondersteund (momenteel alleen transcriptiemodus).
De OpenAI Realtime-API maakt low-latency, multimodale interacties mogelijk, inclusief speech-to-speech-gespreksbelevenissen en realtime-transcriptie.
Het component TsgcWSAPI_OpenAI implementeert de OpenAI RealTime-API.Configuratie
Gebruik de eigenschap method om Conversation of Transcription te selecteren; momenteel wordt alleen de Transcription-modus ondersteund.
De eigenschap InputAudio maakt het mogelijk de volgende data aan te passen:
- Language: bijvoorbeeld english (value = 'en').
- Model: welk model gebruikt wordt, bijvoorbeeld: whisper-1
- Prompt: optionele prompt om instructies aan het model te geven.
OpenAI
De OpenAI-API gebruikt API-sleutels voor authenticatie. Bezoek je API Keys-pagina om de API-sleutel op te halen die je in je verzoeken gaat gebruiken.
Onthoud dat je API-sleutel geheim is! Deel hem niet met anderen en stel hem niet bloot aan client-side code (browsers, apps). Productieverzoeken moeten via je eigen backend-server worden geleid, waar je API-sleutel veilig kan worden geladen vanuit een omgevingsvariabele of key management-service.
Deze API-sleutel moet worden geconfigureerd in de eigenschap OpenAIOptions.ApiKey van het component. Optioneel kunnen gebruikers die tot meerdere organisaties behoren hun Organization instellen in de eigenschap OpenAIOptions.Organization als hun account bij een organisatie hoort.
Zodra de API-sleutel is geconfigureerd, vind je hieronder een lijst met beschikbare functies om met de OpenAI-API te interacteren.
Azure
De client ondersteunt Microsoft Azure OpenAI Services, dus je kunt je Azure-account gebruiken om ook met de Azure OpenAI-API te interacteren. Volg de volgende stappen om de client met Azure te configureren:
- Configureer de eigenschap OpenAIOptions.Provider = oapvAzure
- Stel de waarden in van ResourceName en DeploymentId (deze waarden zijn te vinden in je Azure-account)
- OpenAIOptions.AzureOptions.ResourceName = <jouw resource name>.
- OpenAIOptions.AzureOptions.DeploymentId = <jouw deployment id>.
- Stel de API-sleutel van je Azure-account in
- OpenAIOptions.ApiKey = <azure api-sleutel>.
Transcriptievoorbeeld
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
Hieronder vind je een Delphi-demo die de belangrijkste functies van de OpenAI RealTime-API toont
