L'API OpenAI Realtime abilita interazioni multimodali a bassa latenza, incluse esperienze conversazionali speech-to-speech e trascrizione in tempo reale.
Il componente TsgcWSAPI_OpenAI implementa la RealTime OpenAI API.
Usare la proprietà method per selezionare Conversation o Transcription; attualmente è supportata solo la modalità Transcription.
La proprietà InputAudio consente di personalizzare i seguenti dati:
OpenAI
L'API OpenAI utilizza chiavi API per l'autenticazione. Visitare la pagina delle Chiavi API per recuperare la chiave API da utilizzare nelle richieste.
Si ricordi che la Sua chiave API è un segreto! Non la condivida con altri e non la esponga in alcun codice lato client (browser, app). Le richieste di produzione devono essere instradate attraverso il Suo server backend, dove la chiave API può essere caricata in modo sicuro da una variabile d'ambiente o da un servizio di gestione delle chiavi.
Questa API Key deve essere configurata nella proprietà OpenAIOptions.ApiKey del componente. Facoltativamente, per gli utenti che appartengono a più organizzazioni, è possibile impostare la propria organizzazione nella proprietà OpenAIOptions.Organization se il proprio account appartiene a un'organizzazione.
Una volta configurata la chiave API, di seguito è riportato un elenco delle funzioni disponibili per interagire con l'API OpenAI.
Azure
Il client supporta Microsoft Azure OpenAI Services, pertanto è possibile utilizzare il proprio account Azure per interagire con l'API Azure OpenAI. Per configurare il client affinché funzioni con Azure, seguire i passaggi successivi:
Di seguito è riportato un esempio di trascrizione in tempo reale tramite l'API openAI
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;