API | OpenAI

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.

 

Configuratie

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:

 

  1. Configureer de eigenschap OpenAIOptions.Provider = oapvAzure
  2. Stel de waarden van ResourceName en DeploymentId in (deze waarden zijn te vinden in uw Azure-account)
    1. OpenAIOptions.AzureOptions.ResourceName = <your resource name>.
    2. OpenAIOptions.AzureOptions.DeploymentId = <your deployment id>.
  3. Stel de API-sleutel van uw Azure-account in
    1. OpenAIOptions.ApiKey = <azure api key>.

 

Transcriptievoorbeeld

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;