Da sgcWebSockets 2025.5.0 è supportata l'API OpenAI RealTime (attualmente solo in modalità trascrizione).
L'API OpenAI Realtime abilita interazioni multimodali a bassa latenza, comprese esperienze conversazionali speech-to-speech e la trascrizione in tempo reale.
Il componente TsgcWSAPI_OpenAI implementa l'API OpenAI RealTime.Configurazione
Usa la proprietà method per selezionare Conversation o Transcription: attualmente è supportata solo la modalità Transcription.
La proprietà InputAudio permette di personalizzare i dati seguenti:
- Language: esempio inglese (valore = 'en').
- Model: quale modello sarà usato, esempio: whisper-1
- Prompt: prompt opzionale per fornire istruzioni al modello.
OpenAI
L'API OpenAI usa API key per l'autenticazione. Visita la tua pagina API Keys per recuperare l'API key che userai nelle tue richieste.
Ricorda che la tua API key è un segreto! Non condividerla con altri e non esporla in nessun codice lato client (browser, app). Le richieste di produzione devono essere instradate tramite il tuo backend, dove la tua API key può essere caricata in modo sicuro da una variabile d'ambiente o da un servizio di gestione chiavi.
Questa API Key deve essere configurata nella proprietà OpenAIOptions.ApiKey del componente. Facoltativamente, per gli utenti che appartengono a più organizzazioni, puoi impostare la tua Organization nella proprietà OpenAIOptions.Organization se il tuo account appartiene a un'organizzazione.
Una volta configurata l'API Key, qui sotto trovi un elenco delle funzioni disponibili per interagire con l'API OpenAI.
Azure
Il client supporta Microsoft Azure OpenAI Services, quindi puoi usare il tuo account Azure per interagire anche con l'API Azure OpenAI. Per configurare il client per funzionare con Azure, segui i passaggi seguenti:
- Configura la proprietà OpenAIOptions.Provider = oapvAzure
- Imposta i valori di ResourceName e DeploymentId (questi valori si trovano nel tuo account Azure)
- OpenAIOptions.AzureOptions.ResourceName = <il tuo resource name>.
- OpenAIOptions.AzureOptions.DeploymentId = <il tuo deployment id>.
- Imposta la API Key del tuo account Azure
- OpenAIOptions.ApiKey = <api key Azure>.
Esempio di trascrizione
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
Qui sotto trovi una demo Delphi che mostra le funzionalità principali dell'API OpenAI RealTime
