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 服务,因此您也可以使用 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;