sgcWebSockets 2025.5.0 から、OpenAI RealTime API をサポートします (現在は文字起こしモードのみ)。
OpenAI Realtime API は、低レイテンシのマルチモーダルな対話を可能にし、音声対音声の会話体験やリアルタイム文字起こしが含まれます。
コンポーネント TsgcWSAPI_OpenAI は RealTime OpenAI API を実装します。構成
method プロパティを使用して、Conversation または Transcription を選択します。現在は Transcription モードのみサポートされています。
InputAudio プロパティを使用して、以下のデータをカスタマイズできます。
- Language: 例: english (値 = 'en')。
- Model: 使用するモデル。例: whisper-1
- Prompt: モデルに指示を与えるための任意のプロンプト。
OpenAI
OpenAI API は認証に API キーを使用します。リクエストで使用する API キーを取得するには、API Keys ページにアクセスしてください。
API キーは秘密情報です。他者と共有したり、クライアントサイドコード (ブラウザー、アプリ) に公開したりしないでください。本番環境のリクエストは、API キーを環境変数またはキー管理サービスから安全に読み込める独自のバックエンドサーバー経由でルーティングする必要があります。
この API キー は、コンポーネントの OpenAIOptions.ApiKey プロパティに設定する必要があります。複数の組織に所属するユーザーは、アカウントが組織に属している場合、OpenAIOptions.Organization プロパティで 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 デモを示します。
