OpenAI Realtime API
毫秒级与 OpenAI Realtime 模型对话 — 通过单个 WebSocket 会话实现双向音频和文本,由 Delphi/C++Builder 驱动。
毫秒级与 OpenAI Realtime 模型对话 — 通过单个 WebSocket 会话实现双向音频和文本,由 Delphi/C++Builder 驱动。
OpenAI Realtime API 的 WebSocket 客户端 — 完整的会话生命周期、函数工具、音频帧流式传输和转录事件。
与 TsgcWebSocketClient 配对,设置 OpenAI.ApiKey 和 OpenAI.Model,推送音频或文本并监听响应事件。
uses
sgcWebSocket, sgcWebSocket_API_OpenAI;
var
WSClient: TsgcWebSocketClient;
OpenAI: TsgcWSAPI_OpenAI;
begin
WSClient := TsgcWebSocketClient.Create(nil);
OpenAI := TsgcWSAPI_OpenAI.Create(nil);
OpenAI.Client := WSClient;
OpenAI.OpenAI.ApiKey := 'sk-...';
OpenAI.OpenAI.Model := 'gpt-realtime';
WSClient.Active := True;
// send a text turn
OpenAI.ConversationCreateMessageText('Hello', 'user');
OpenAI.ResponseCreate;
end;
// uses: sgcWebSocket, sgcWebSocket_API_OpenAI
TsgcWebSocketClient *WSClient = new TsgcWebSocketClient(this);
TsgcWSAPI_OpenAI *OpenAI = new TsgcWSAPI_OpenAI(this);
OpenAI->Client = WSClient;
OpenAI->OpenAI->ApiKey = "sk-...";
OpenAI->OpenAI->Model = "gpt-realtime";
WSClient->Active = true;
OpenAI->ConversationCreateMessageText("Hello", "user");
OpenAI->ResponseCreate();
将 OpenAI Realtime WebSocket 网关封装为类型化 Delphi 组件,提供会话、对话和音频辅助功能。
SessionUpdate 将模态、语音、指令、input_audio_format、output_audio_format 和 turn_detection 设置应用到活跃的 Realtime 会话。
ConversationCreateMessageText 和 ConversationCreateMessageAudio 推送用户/系统内容;ConversationItemDelete 和 ConversationItemTruncate 重塑当前对话历史。
InputAudioBufferAppend 推送 PCM 帧(base64 编码),InputAudioBufferCommit 结束用户轮次。输出音频以 response.audio.delta 事件的形式到达。
在 SessionUpdate 中声明工具;参数以 response.function_call_arguments.delta 事件的形式到达,结果通过 ConversationCreateFunctionCallOutput 返回。
服务端 VAD(turn_detection: {type: server_vad})自动检测语音结束 — 组件将每个阶段作为独立事件传递。
组件在 WebSocket 握手时注入 Authorization 和 OpenAI-Beta: realtime=v1 请求头。在 Windows 上与 TsgcWebSocketClient_WinHTTP 配对使用,以获得 OS 管理的 TLS。
本组件所实现 API 的权威参考来源。