OpenAI Realtime API は、音声間の会話体験やリアルタイムの文字起こしを含む、低遅延のマルチモーダルインタラクションを実現します。
コンポーネント TsgcWSAPI_OpenAI は RealTime OpenAI API を実装します。
methodプロパティ を使用してConversationまたはTranscriptionを選択します。現在はTranscriptionモードのみがサポートされています。
InputAudio プロパティでは以下のデータをカスタマイズできます:
OpenAI
OpenAI API は認証に API キーを使用します。リクエストで使用する API キーを取得するには、API キーページをご覧ください。
API キーは秘密です!他の人と共有したり、クライアント側のコード(ブラウザー、アプリ)に公開したりしないでください。本番環境のリクエストは、環境変数またはキー管理サービスから API キーを安全に読み込める独自のバックエンドサーバー経由でルーティングする必要があります。
この API Key はコンポーネントの OpenAIOptions.ApiKey プロパティに設定する必要があります。オプションとして、複数の組織に属するユーザーは、アカウントが組織に属している場合は OpenAIOptions.Organization プロパティに組織を設定できます。
API キーが設定されたら、以下に OpenAI API と連携するために利用可能な関数の一覧を示します。
Azure
クライアントは Microsoft Azure OpenAI Services をサポートしているため、Azureアカウントを使用してAzure OpenAI APIとやり取りすることもできます。Azureで動作するようクライアントを設定するには、以下の手順に従ってください:
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;