OpenAI Realtime API 怎么做实时语音对话?连接、收发音频与中断处理

按服务器短期凭证、浏览器 WebRTC 和会话层三部分接入 OpenAI Realtime 语音并验证打断。

OpenAI Realtime API 适合低延迟、可打断的语音对话。浏览器应用的核心不是把长期 API 密钥放到前端,而是由服务器创建短期客户端凭证,浏览器再通过 WebRTC 建立会话,处理麦克风、播放、轮次和中断。

理解三层结构

官方 Realtime 入门给出的常见浏览器流程是:服务器创建临时客户端密钥,前端建立 RealtimeSession,通过 WebRTC 连接,随后在会话内处理音频和工具。

OpenAI Realtime API 怎么做实时语音对话?连接、收发音频与中断处理

  1. 后端:验证登录用户,创建短期凭证,长期密钥只留在服务器。
  2. 前端:获得麦克风授权,用 WebRTC 发送和接收音频。
  3. 会话层:设置模型与指令,处理工具、打断、错误和结束。
import { RealtimeAgent, RealtimeSession } from "@openai/agents/realtime";

const agent = new RealtimeAgent({
  name: "Support",
  instructions: "回答简短;不确定时请用户重复。",
});
const session = new RealtimeSession(agent, {
  model: "gpt-realtime-2.1",
});

await session.connect({
  apiKey: ephemeralKeyFromYourServer,
});

示例中的 ephemeralKeyFromYourServer 必须是后端生成的短期凭证。模型和 SDK 名称以当前项目权限与官方文档为准。

把“能说话”验收成可用

  1. 正常说一句固定短句,确认首段音频延迟和完整性。
  2. 在助手说话中途插话,确认播放停止并开始处理新输入。
  3. 关闭麦克风权限,界面应提示如何恢复,而不是显示连接成功。
  4. 断网再恢复,确认旧音频不会重复播放,未完成轮次不会记成成功。
  5. 口述订单号和日期,检查字母、数字与否定词;关键字段要求二次确认。

生产环境应明确告知用户正在与 AI 语音系统交互,并提供静音、结束和删除会话的入口。需要访问订单或执行动作时仍要走服务端工具和权限检查,不能相信语音里自报的身份。

实时语音和文件转写怎么选

已录好的文件需要最终文字,用文件转写接口;需要自然对话、打断和低延迟,选 Realtime。把文件转写当实时通话会增加延迟,把实时对话当准确会议纪要也会产生核对缺口。

常见问题

浏览器能保存长期 API 密钥吗?不能。应由服务器签发短期凭证。

为什么会抢话或不结束?检查语音活动检测、麦克风噪声和中断事件,再用录屏与事件日志复现。本文没有测试你的麦克风、网络和浏览器,真实延迟必须在目标设备上测量。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31642.html

赞 (0)
AI小管家的头像AI小管家
OpenAI Responses API 怎么保持上下文?previous_response_id 与本地会话状态
上一篇 2小时前
用豆包预览发型:固定同一张照片比较刘海与短发
下一篇 2小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部