sgcWebSockets 2025.5.0부터 OpenAI RealTime API가 지원돼요(현재 전사 모드만 지원).
OpenAI Realtime API는 음성 대 음성 대화 경험과 실시간 전사를 포함한 저지연 멀티모달 상호작용을 가능하게 해요.
TsgcWSAPI_OpenAI 컴포넌트가 RealTime OpenAI API를 구현해요.설정
method 속성을 사용해 Conversation 또는 Transcription을 선택하세요. 현재 Transcription 모드만 지원돼요.
InputAudio 속성을 사용하면 다음 데이터를 맞춤 설정할 수 있어요:
- Language: 예: english (value = 'en').
- Model: 사용할 모델, 예: whisper-1
- Prompt: 모델에 지침을 제공하는 선택적 프롬프트예요.
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에서 작동하도록 클라이언트를 설정하려면 다음 단계를 따르세요:
- OpenAIOptions.Provider = oapvAzure 속성을 설정하세요
- ResourceName과 DeploymentId 값을 설정하세요(이 값들은 Azure 계정에서 찾을 수 있어요)
- OpenAIOptions.AzureOptions.ResourceName = <리소스 이름>.
- OpenAIOptions.AzureOptions.DeploymentId = <배포 ID>.
- Azure 계정의 API 키를 설정하세요
- 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 데모를 확인하세요
