Sophon Realtime 的
调用、工具机制与时延
沿着模型、协议与执行程序,
核对一条语音请求怎样真正调用工具。
<tool_call>→外部执行→语音回应
Sophon 已公开模型权重、服务代码和客户端示例。Tag 与 Flash 提供自托管调用路径,Live 网关连接前台语音与后台代理。实际接入需要同时核对模型能力、协议覆盖、外部执行和时延口径。
本页以公开仓库提交
b2754d4753e20ecfa860db0cda4325e4479f4427
为代码依据。作者测量、代码观察和说明性示例分别标记,GPU
端到端调用列为待验证项。
当前有哪些可调用路径
Tag、Flash 和 E2E 均有公开权重目录。前两种构建走 vLLM-Omni,E2E 使用单独的研究预览引擎。仓库还提供客户端、启动脚本和网关,已经具备可检查的部署链路。[1]
| 构建 | 作者文档中的资源 | 主要入口 | 当前定位 |
|---|---|---|---|
| Tag | 单张 80 GB NVIDIA GPU,实例约 65 GB 显存 | HTTP + Realtime WebSocket | 强调笑声、叹气等表现力 |
| Flash | 单张 80 GB NVIDIA GPU,实例约 55 GB 显存 | HTTP + Realtime WebSocket | 强调首音速度与并发 |
| E2E | 两张 80 GB GPU | 独立网关 /ws |
连续向量语音生成的研究预览 |
三种构建共享怎样的语音骨干
共同骨干由语音特征进入 32B 模型,承担理解、话轮决策和文本回答。Tag 与 Flash 用不同语音模块朗读带表现标签的回答。E2E 则把语音生成改为连续向量与专用解码。[1]
选择构建,查看生成路径
Tag 的 NOTICE 列出 Qwen3-VL-32B、DuplexJev-32B-Para、Qwen3-ASR 编码器及 tag-tts 等来源。当前构建把语言、声音和话轮决策组合起来,“一个服务”与内部推理阶段数需要分别描述。[2]
Flash 的 80 ms 描述语音生成帧。持续听说的响应还受 VAD、话轮判断、生成调度和播放缓存影响。配置中仍可见外部语音活动检测,模型话轮判断与工程控制共同参与交互。[3]
从语音接口到工具接口
先确认语音引擎正常返回,再检查连续听说,最后接真实工具和后台。以下示例含可复制的启动步骤与协议片段。模型权重应固定
revision,并预先放入相应 MODEL_DIR。
按任务选择调用入口
| 端口与角色 | 协议 | 接入要求 |
|---|---|---|
| 8000 基础引擎 |
/v1/chat/completions/v1/realtime
|
Tag / Flash 语音生成与双工引擎。真实工具需显式选择客户端模式并接工具桥。 |
| 8700 本地工具桥 |
/bridge/<key>/events/bridge/<key>/result
|
默认由引擎启动脚本按
PORT + 700
创建,绑定本机,用于外层网关取调用与回填结果。
|
| 8780 外层网关 |
/v1/realtime/v1/live/sessions
|
分别适配函数调用事件与 Live 客户端委派。额外 ASR 约占 2 GB GPU 显存。 |
| E2E 独立网关 | /ws |
使用自身的配置、音频、打断与结束事件,按研究预览部署文档接入。 |
接口依据 gateway.py、adapters.py 与各构建文档。
HTTP 音频流有自己的数据形状
公开客户端先读 GET /v1/models,使用官方系统提示和
input_audio 发送完整 WAV。响应按 SSE 流式返回,顶层
modality == "audio" 时,音频数据位于
choices[].delta.content,内容为 base64 WAV 块,24
kHz。接入 SDK 时应按该实际字段解码。[4]
提示词、调用标记和外部执行怎样配合
运行时把函数 schema 送入 chat template,模型按 Qwen/Hermes
格式输出函数名与参数。解析器读取
<tool_call>
分隔符,语音模块只接收前面的口语内容。外部程序执行函数后,结果回到模型上下文中,模型再生成语音回应。[5]
逐步查看一条工具请求
“特殊 token”需要看两个层次
已核对的 Tag tokenizer 中,<tool_call> 与
</tool_call> 对应独立词表 ID
151657 和 151658,其
special 字段均为
false。服务代码再按分隔符字符串解析
JSON。标记负责表示调用,函数执行由运行时和客户端完成。[6]
前台生成业务工具调用
给模型具体函数定义,例如
get_weather(city)。模型填写函数名和参数,网关转换成
function_call 事件,客户端执行并回传
function_call_output。
前台把任务交给后台
前台只拿到 delegate(task)。网关发出
session.delegation.created,后台代理使用业务工具,结果经
session.commentary.append 返回语音前台。
启用 SOPHON_LIVE_BACKEND 后,代码会把前台工具替换为
delegate,由配置的后台模型持有具体工具。该配置的表现应归于前后台系统。[7]
基础引擎的默认工具模式是
mock。未提供匹配模拟结果时,代码仍可返回含
ok: true 和
note: "mock result" 的对象。真实调用需要
tool_mode: "client"、会话工具桥及执行端。8780
网关适配器会设置客户端模式。引擎代码 ↗
适配器 ↗
公开微调样例也采用函数 schema、助手调用标记和
role: tool
结果。这展示了工具格式的训练路径,完整工具训练集及发布成绩的全部运行配置仍需更多资料。[8]
工具能力有哪些公开指标
| 证据 | 作者报告 | 解释范围 |
|---|---|---|
| FDB-v3 工具任务 |
Pass@1 48% 回应率 100% |
作者自测,并注明从多次运行中取最佳。与原论文其他系统的历史成绩分别看待。 |
| Live 小样本委派 | Tag / Flash 需委派项均为 7/7 | 14 条录音,7 条应委派、7 条应直接回答,使用 mock 后台。 |
| 避免不必要委派 |
Tag 6/7 Flash 5/7 |
说明部分可直接回答的问题仍会交给后台。样本规模有限。 |
完整接入还需要分开测量工具选择、参数正确、外部执行结果、重复调用、任务终态和正确告知。前台、后台、提示规则与参数校验配置都影响结果,应记录为同一份系统配置。
网关包含工具名检查与参数来源检查,结合 ASR、先前工具结果、指令及 schema 决定是否要求模型重做。当前代码还给拒绝重试设置了次数上限。公开的 FDB-v3 成绩没有充分说明这些配置的开启情况。[9]
回复速度与 GPT-Live 怎样比较
Flash 的作者报告显示较短的 HTTP 首包路径。Tag 的双工报告值和 GPT-Live 的官方轮替值接近,整体体验仍需统一环境、输入与计时终点后比较。
| 配置 | 报告值 | 计时对象 |
|---|---|---|
| Sophon Flash | 0.31 s 中位数,P90 0.34 s | 一张 H100 80 GB、单条 HTTP 音频请求,客户端 POST 前开始计时,到首个音频块。 |
| Sophon Tag | 约 0.7 s | 作者文档的全双工“用户语音结束到首音”口径。 |
| GPT-Live-1 | 0.798 s | 官方发布图中的 FDB-v1 轮替时延。 |
来源 Flash 测量条件、客户端计时、Tag、GPT-Live 发布材料。
单看这些数值还无法给出同场速度排名。工具请求又有三个不同时间点,首次承接、工具派发、首个正确结果。先说“我查一下”可以很快,结果仍取决于后台模型与实际工具。
并发需要附带音频连续性
Flash 作者在 40 路请求、10 秒内到达时,报告首音中位数 0.58 s、P90 0.67 s,stall 中位数 0.37 s。Tag 在 16 路时报告首音中位数 0.75 s、最大 1.07 s。并发数、尾时延和播放停顿一起报告,才有明确服务含义。[3] Tag 测量
接入时需要核对的实际边界
| 观察项 | 当前代码或资料 | 验收动作 |
|---|---|---|
| Realtime 取消 | response.cancel 当前为空操作。 |
验证调用方取消能否停止生成与播放,并单测后台任务状态。 |
| 历史截断 |
conversation.item.truncate
当前主要回确认事件,截断尚未传播到引擎。
|
用已播放、未播放的事实分别测试后续上下文。 |
| 文本输入 |
普通文本
conversation.item.create
会被记录为忽略,工具结果输入单独处理。
|
按实际客户端所用的消息类型逐项验证。 |
| 参数事件 |
完整参数 JSON 可一次放进
arguments.delta,随后发 done。
|
记录实际派发时间,区分事件命名与逐 token 执行。 |
| 预热与首会话 | 脚本包含预热,Live 文档记录首次会话可能无回应。 | 区分冷启动、预热和稳定服务样本,保留失败。 |
| E2E 预览 | 模型目录与部署文档更新节奏有差异。 | 固定实际权重 revision、运行入口与引擎版本。 |
| 许可材料 | Sophon NOTICE 标为 Apache-2.0,上游 Para 模型说明含 CC BY-NC 4.0。 | 适用权重许可范围需要发布方澄清。 |
代码与声明 Realtime 适配器、Sophon NOTICE、上游许可说明。
当前材料支持继续开展自托管和接口验证。模型效果、真实工具执行、API 协议覆盖与语音体验分别验收。接入与配置变更后的结果,应重新建立固定版本、固定场景的证据。
完整的双工评测标准与指标方案 ↗来源与核对范围
截至 2026 年 11 月 9 日。模型指标采用作者报告值,接口行为采用固定提交的代码观察,交互步骤使用合成示例。GPU 推理、真实声学链路与外部业务执行尚待实测。
- Sophon Realtime 原始项目构建与公开评测说明。本文独立解读,代码版本固定为 b2754d47。
- Tag NOTICE骨干、音频编码器与语音模块来源。
- Flash README80 ms 声学帧、HTTP 首包与并发测量条件。
- Tag 客户端模型 ID 获取、请求体与音频流解码。
- 工具解析与口语流裁剪提示模板、JSON 解析、mock 与工具标记。
- Tag tokenizer 元信息固定权重元信息 revision 9a9ed240,核对分隔符 ID 与 special 字段。
- 后台工具循环delegate、后台模型配置与真实工具调用。
- 微调说明与样例函数 schema、调用格式与 tool 结果消息。
- Realtime 网关函数调用事件、参数来源检查、取消与截断路径。
- Live 文档网关部署、委派事件、ASR、14 条 mock 后台测试。
- OpenAI GPT-Live-1 API 发布材料FDB-v1 轮替时延及后台配置应分别解读,完整补充见通用评测站。