OpenAI RealTime API

· 컴포넌트

sgcWebSockets 2025.5.0부터 OpenAI RealTime API가 지원돼요(현재 전사 모드만 지원).

OpenAI Realtime API는 음성 대 음성 대화 경험과 실시간 전사를 포함한 저지연 멀티모달 상호작용을 가능하게 해요.

TsgcWSAPI_OpenAI 컴포넌트가 RealTime OpenAI API를 구현해요.

설정

method 속성을 사용해 Conversation 또는 Transcription을 선택하세요. 현재 Transcription 모드만 지원돼요.

InputAudio 속성을 사용하면 다음 데이터를 맞춤 설정할 수 있어요:

OpenAI

OpenAI API는 인증에 API 키를 사용해요. API Keys 페이지를 방문해 요청에 사용할 API 키를 가져오세요.

API 키는 비밀이라는 점을 기억하세요! 다른 사람과 공유하거나 클라이언트 측 코드(브라우저, 앱)에 노출하지 마세요. 프로덕션 요청은 환경 변수나 키 관리 서비스에서 API 키를 안전하게 로드할 수 있는 자체 백엔드 서버를 통해 라우팅해야 해요.

API Key는 컴포넌트의 OpenAIOptions.ApiKey 속성에 설정해야 해요. 선택적으로, 여러 조직에 속한 사용자의 경우, 계정이 조직에 속해 있다면 OpenAIOptions.Organization 속성에 조직을 설정할 수 있어요.

API 키를 설정한 후, 아래에서 OpenAI API와 상호작용할 수 있는 함수 목록을 확인하세요.

Azure

클라이언트는 Microsoft Azure OpenAI Services를 지원하므로 Azure 계정을 사용해 Azure OpenAI API와도 상호작용할 수 있어요. Azure에서 작동하도록 클라이언트를 설정하려면 다음 단계를 따르세요:

  1. OpenAIOptions.Provider = oapvAzure 속성을 설정하세요
  2. ResourceNameDeploymentId 값을 설정하세요(이 값들은 Azure 계정에서 찾을 수 있어요)
    1. OpenAIOptions.AzureOptions.ResourceName = <리소스 이름>.
    2. OpenAIOptions.AzureOptions.DeploymentId = <배포 ID>.
  3. Azure 계정의 API 키를 설정하세요
    1. OpenAIOptions.ApiKey = <azure 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; 

데모

 아래에서 OpenAI RealTime API의 주요 기능을 보여주는 Delphi 데모를 확인하세요