返回首页
🤖 AI / LLM
OpenAI Realtime API 实战:低延迟语音对话应用
Realtime API 让 AI 语音对话延迟 < 300ms。本文演示从 0 搭建一个实时语音助手应用。
OpenAI · Realtime API · 语音 · GPT-4o · 多模态
📰
今日技术简讯
📰 技术简讯 · 2026-05-13
今日聚合 6 条热门技术内容。
🤖 AI / LLM
1. OpenAI Realtime API 实战
- 链接:https://platform.openai.com/docs/realtime
- 来源:OpenAI
- 摘要:实时语音对话 API 实战:延迟 < 300ms,支持打断和情感识别。
⚙️ 后端 / 架构
2. Apache Kafka 4.0 移除 ZK
- 链接:https://kafka.apache.org/40
- 来源:Apache Kafka
- 摘要:Kafka 4.0 KRaft 默认启用,移除 ZK 依赖。
3. Redis 8 正式 GA
- 链接:https://redis.io/blog/redis-8-ga
- 来源:Redis Labs
- 摘要:Redis 8 集成向量 / JSON / 全文搜索,单一数据库多能力。
🎨 前端 / Web
4. Svelte 5 Runes 实战
- 链接:https://svelte.dev/blog/runes
- 来源:Svelte
- 摘要:Svelte 5 Runes API 让响应式更直观,编译产物比 React 小 60%。
🚀 独立开发 / OPC
5. Lemon Squeezy 推出 Tax Automation
- 链接:https://www.lemonsqueezy.com/tax
- 来源:Lemon Squeezy
- 摘要:自动计算全球销售税,Merchant of Record 模式更完善。
6. Carrd 推出 Pro 模板
- 链接:https://carrd.co/pro-templates
- 来源:Carrd
- 摘要:Carrd Pro 模板市场,50+ 专业模板 $19 起。
数据来源:掘金 / InfoQ 中文 / HN / GitHub / Dev.to 采集时间:2026-05-13 09:00 (UTC+8)
📝
今日深度文
OpenAI Realtime API 实战:低延迟语音对话应用
一句话结论:Realtime API 把"AI 语音对话"从科幻变成日常应用。延迟 < 300ms,已经接近真人对话节奏。
背景
2026 年 5 月,OpenAI Realtime API GA:
- 语音输入 → AI 推理 → 语音输出 < 300ms
- 支持打断(用户说话时 AI 立即停止)
- 情感识别(声调、语速)
- 多语言自动检测
5 个核心能力
1. 实时语音对话
import websockets
import asyncio
import base64
import json
async def realtime_chat():
async with websockets.connect(
"wss://api.openai.com/v1/realtime?model=gpt-4o-realtime",
extra_headers={"Authorization": f"Bearer {API_KEY}"},
) as ws:
# 配置会话
await ws.send(json.dumps({
"type": "session.update",
"session": {
"modalities": ["text", "audio"],
"voice": "alloy",
"instructions": "你是友好的客服助手",
},
}))
# 发送音频帧(PCM 16kHz)
while True:
audio_chunk = get_microphone_input()
await ws.send(json.dumps({
"type": "input_audio_buffer.append",
"audio": base64.b64encode(audio_chunk).decode(),
}))
# 接收响应
async for msg in ws:
event = json.loads(msg)
if event["type"] == "response.audio.delta":
audio = base64.b64decode(event["delta"])
play_audio(audio)
2. 函数调用
# Realtime API 支持 function calling
await ws.send(json.dumps({
"type": "session.update",
"session": {
"tools": [
{
"type": "function",
"name": "get_weather",
"description": "获取天气信息",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string"},
},
"required": ["location"],
},
},
],
},
}))
3. 视觉输入
# 摄像头 + 语音同时输入
await ws.send(json.dumps({
"type": "conversation.item.create",
"item": {
"type": "message",
"role": "user",
"content": [
{"type": "input_text", "text": "这是什么?"},
{
"type": "input_image",
"image": base64.b64encode(camera_frame).decode(),
},
],
},
}))
4. 情感识别
# Realtime API 自动检测情感
# 在 response 中返回 sentiment_score
event = json.loads(msg)
if event["type"] == "response.audio.done":
sentiment = event.get("sentiment", "neutral")
# 应用:调整 AI 语气
5. 打断处理
# 用户说话时,AI 立即停止当前输出
# 自动处理,无需手动实现
async def handle_input(ws):
while True:
# 检测用户说话(VAD - Voice Activity Detection)
if user_is_speaking():
# 发送打断事件
await ws.send(json.dumps({
"type": "conversation.item.truncate",
"item_id": current_response_id,
"content_index": 0,
"audio_end_ms": current_audio_position,
}))
4 个真实应用案例
案例 1:AI 客服
# 24/7 智能客服
async def ai_customer_service():
async with connect_realtime() as ws:
# 配置:礼貌、专业、能调用订单系统
configure_session(ws, instructions=CS_INSTRUCTIONS)
while True:
audio = await get_customer_audio()
await send_audio(ws, audio)
# AI 自动回应 + 必要时调用函数
案例 2:语言学习
# AI 陪练英语口语
configure_session(ws, instructions="""
你是英语口语陪练:
1. 用英语对话(用户级别 A2)
2. 每次纠正用户发音 / 语法错误
3. 提供改进建议
""")
案例 3:远程医疗
# AI 预问诊(医生远程诊断前)
configure_session(ws, instructions="""
你是医疗 AI 助理:
1. 询问患者症状
2. 记录关键信息
3. 不要给出诊断(要医生判断)
""")
案例 4:智能音箱
# 嵌入智能音箱
# 实时对话 + IoT 控制
性能优化
降低延迟
# 1. 用流式 chunk 而不是整段音频
chunk_size = 1024 # 字节
# 16kHz PCM 1 帧 = 1024 字节 = 64ms
# 2. WebSocket 压缩
ws = await websockets.connect(
url,
compression="deflate", # 减少 50% 流量
)
# 3. CDN 加速(Cloudflare Workers)
控制成本
Realtime API 定价:
- 音频输入:$100 / 1M tokens (≈ $0.06/分钟)
- 音频输出:$200 / 1M tokens (≈ $0.12/分钟)
- 文字输入:$5 / 1M tokens
示例:1 小时对话 ≈ $10
隐私保护
# 1. 数据加密
# WebSocket 强制 WSS
# 2. 不存储音频
# 默认不持久化(用户主动开启才保存)
# 3. 用户授权
# 第一次使用时明确告知 + 同意
5 个常见坑
坑 1:音频采样率不匹配
# OpenAI 要求 24kHz PCM
# 麦克风默认可能是 16kHz / 44.1kHz
# ✅ 转换采样率
import scipy.signal as signal
audio_24k = signal.resample(audio, len(audio) * 24000 // sample_rate)
坑 2:网络抖动
# 实时对话对网络敏感
# ✅ 用 WebSocket(而不是 HTTP)
# ✅ 自动重连
async def with_retry():
while True:
try:
await realtime_chat()
except websockets.ConnectionClosed:
await asyncio.sleep(1)
continue
坑 3:会话上下文管理
# 对话长了 token 消耗会爆
# ✅ 定期总结历史
await ws.send(json.dumps({
"type": "conversation.item.create",
"item": {
"type": "message",
"role": "system",
"content": [{"type": "input_text", "text": "前面对话的总结..."}],
},
}))
坑 4:VAD 不准确
# 默认 VAD 可能误判(环境噪音)
# ✅ 自定义 VAD
await ws.send(json.dumps({
"type": "session.update",
"session": {
"turn_detection": {
"type": "server_vad",
"threshold": 0.5, # 灵敏度
"silence_duration_ms": 200, # 静默多久算结束
},
},
}))
坑 5:浏览器权限
// 必须 HTTPS 才能获取麦克风权限
// ✅ 本地开发用 localhost(视为安全)
// ✅ 生产必须 HTTPS
何时用 Realtime API
✅ 适合
- 实时语音客服
- 语音助手 / 智能音箱
- 语言学习陪练
- 远程医疗预问诊
❌ 不适合
- 离线场景(用本地 Whisper)
- 预算敏感(用 ASR + LLM + TTS 链式调用)
- 延迟容忍(用传统 pipeline)
我的看法
Realtime API 标志着 AI 语音应用进入"实时"时代:
- 延迟 < 300ms → 真人类对话节奏
- 多模态输入 → 语音 + 视频 + 文本
- 情感理解 → 不止文字,还有语气
对独立开发者的机会:
- 垂直场景语音助手(医疗 / 法律 / 教育)
- AI 客服(成本 < 人工 1/10)
- 智能硬件(嵌入 AI 大脑)
参考
本文基于 Realtime API GA 版本,2026 年 5 月实测。
📚 同主题文章
🤖AI / LLM·
多模态 LLM 应用开发:图像、音频、视频统一处理
2026 年多模态 LLM 已成熟。本文演示 GPT-5 / Gemini 3.0 的图像理解、音频转录、视频分析完整应用。
多模态LLMGPT-5
🤖AI / LLM·
OpenAI GPT-5 深度解读:原生推理 + 200K 上下文,价格反降 30%
GPT-5 不只是参数升级,更是从"对话模型"到"推理模型"的范式转变。本文深度解读其架构、价格策略和真实生产价值。
OpenAIGPT-5LLM
🤖AI / LLM·
多模态 AI 创业机会:10 个值得深耕的方向
多模态 AI 让"理解世界"成为单一 API。本文分析 10 个值得独立开发者深耕的创业方向。
AI多模态创业