API | OpenAI

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で動作するようクライアントを設定するには、以下の手順に従ってください:

 

  1. プロパティ OpenAIOptions.Provider = oapvAzure を設定してください。
  2. ResourceName と DeploymentId の値を設定します(これらの値は Azure アカウントで確認できます)
    1. OpenAIOptions.AzureOptions.ResourceName = <リソース名>。
    2. OpenAIOptions.AzureOptions.DeploymentId = <デプロイメント ID>。
  3. Azure アカウントの API キーを設定します
    1. OpenAIOptions.ApiKey = <azure api key>.

 

文字起こし例

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;