Od sgcWebSockets 2025.5.0 OpenAI RealTime API jest obsługiwane (obecnie tylko tryb transkrypcji).
OpenAI Realtime API umożliwia niskolatencyjne, multimodalne interakcje, w tym rozmowy mowa-do-mowy i transkrypcję w czasie rzeczywistym.
Komponent TsgcWSAPI_OpenAI implementuje OpenAI RealTime API.Konfiguracja
Użyj właściwości method , aby wybrać Conversation lub Transcription; obecnie obsługiwany jest tylko tryb Transcription.
Właściwość InputAudio pozwala dostosować następujące dane:
- Language: przykładowo english (wartość = 'en').
- Model: który model zostanie użyty, np.: whisper-1
- Prompt: opcjonalny prompt zawierający instrukcje dla modelu.
OpenAI
API OpenAI używa kluczy API do uwierzytelniania. Odwiedź swoją stronę API Keys, aby pobrać klucz API, którego użyjesz w żądaniach.
Pamiętaj, że twój klucz API jest tajny! Nie udostępniaj go innym ani nie ujawniaj w żadnym kodzie po stronie klienta (przeglądarki, aplikacje). Żądania produkcyjne muszą być kierowane przez własny serwer backend, w którym klucz API może być bezpiecznie ładowany ze zmiennej środowiskowej lub usługi zarządzania kluczami.
Ten klucz API musi być skonfigurowany we właściwości OpenAIOptions.ApiKey komponentu. Opcjonalnie, dla użytkowników należących do wielu organizacji, możesz ustawić swoją organizację we właściwości OpenAIOptions.Organization, jeśli twoje konto należy do organizacji.
Once the API Key is configured, poniżej znajdziesz a list of available functions to interactuate with the OpenAI API.
Azure
Klient obsługuje usługi Microsoft Azure OpenAI, więc możesz używać konta Azure do interakcji również z Azure OpenAI API. Aby skonfigurować klienta do pracy z Azure, wykonaj następujące kroki:
- Skonfiguruj właściwość OpenAIOptions.Provider = oapvAzure
- Ustaw wartości ResourceName i DeploymentId (te wartości znajdziesz na koncie Azure)
- OpenAIOptions.AzureOptions.ResourceName = <your resource name>.
- OpenAIOptions.AzureOptions.DeploymentId = <your deployment id>.
- Ustaw klucz API konta Azure
- OpenAIOptions.ApiKey = <azure api key>.
Przykład transkrypcji
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
Poniżej znajdziesz a Delphi Demo showing the main features of the OpenAI RealTime API
