API | OpenAI

Die OpenAI Realtime API ermöglicht latenzarme, multimodale Interaktionen einschließlich Speech-to-Speech-Konversationserlebnissen und Echtzeit-Transkription.

 

Die Komponente TsgcWSAPI_OpenAI implementiert die OpenAI-RealTime-API.

 

Konfiguration

Verwenden Sie die Eigenschaft method , um Conversation oder Transcription auszuwählen, derzeit wird nur der Transcription-Modus unterstützt.

 

Die Eigenschaft InputAudio ermöglicht Ihnen, die folgenden Daten anzupassen:

 

 

OpenAI

 

Die OpenAI-API verwendet API-Schlüssel zur Authentifizierung. Besuchen Sie Ihre Seite API Keys, um den API-Schlüssel abzurufen, den Sie in Ihren Anfragen verwenden.

Denken Sie daran, dass Ihr API-Schlüssel geheim ist! Geben Sie ihn nicht an andere weiter und legen Sie ihn nicht in clientseitigem Code (Browser, Apps) offen. Produktionsanfragen müssen über Ihren eigenen Backend-Server geleitet werden, wo Ihr API-Schlüssel sicher aus einer Umgebungsvariablen oder einem Schlüsselverwaltungsdienst geladen werden kann.

 

Dieser API Key muss in der Eigenschaft OpenAIOptions.ApiKey der Komponente konfiguriert werden. Optional können Sie für Benutzer, die mehreren Organisationen angehören, Ihre Organisation in der Eigenschaft OpenAIOptions.Organization festlegen, falls Ihr Konto zu einer Organisation gehört.

 

Sobald der API Key konfiguriert ist, finden Sie nachfolgend eine Liste der verfügbaren Funktionen zur Interaktion mit der OpenAI-API.

 

Azure

 

Der Client unterstützt Microsoft Azure OpenAI Services, sodass Sie Ihr Azure-Konto verwenden können, um auch mit der Azure OpenAI API zu interagieren. Um den Client für die Arbeit mit Azure zu konfigurieren, befolgen Sie die nächsten Schritte:

 

  1. Konfigurieren Sie die Eigenschaft OpenAIOptions.Provider = oapvAzure
  2. Legen Sie die Werte von ResourceName und DeploymentId fest (diese Werte finden Sie in Ihrem Azure-Konto)
    1. OpenAIOptions.AzureOptions.ResourceName = <Ihr Ressourcenname>.
    2. OpenAIOptions.AzureOptions.DeploymentId = <Ihre Deployment-ID>.
  3. Setzen Sie den API-Schlüssel Ihres Azure-Kontos
    1. OpenAIOptions.ApiKey = <azure api key>.

 

Transkriptionsbeispiel

Nachfolgend finden Sie ein Beispiel für Echtzeit-Transkription mit der 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;