PUBLIC MODEL · SOURCE AUDIT · API GUIDE

Sophon Realtime 的
调用、工具机制与时延

沿着模型、协议与执行程序,
核对一条语音请求怎样真正调用工具。

模型研究2026 年 11 月 9 日原始项目 ↗
语音→模型→<tool_call>→外部执行→语音回应

Sophon 已公开模型权重、服务代码和客户端示例。Tag 与 Flash 提供自托管调用路径,Live 网关连接前台语音与后台代理。实际接入需要同时核对模型能力、协议覆盖、外部执行和时延口径。

本页以公开仓库提交 b2754d4753e20ecfa860db0cda4325e4479f4427 为代码依据。作者测量、代码观察和说明性示例分别标记,GPU 端到端调用列为待验证项。

01 / READINESS

当前有哪些可调用路径

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 连续向量语音生成的研究预览

资源与入口来源 Tag、Flash、E2E 部署文档。

自托管与在线体验分别确认

官方模型卡给出了 ModelScope 体验页。当前核对支持“模型和服务代码可取得”,可直接申请密钥的 Sophon 托管 API 尚缺公开调用资料,体验页的实际语音会话也需单独验证。PyPI 已有 sophon-realtime 1.0.0,Tag / Flash 脚本使用 Python 3.12。体验页 ↗ PyPI ↗

02 / ARCHITECTURE

三种构建共享怎样的语音骨干

共同骨干由语音特征进入 32B 模型,承担理解、话轮决策和文本回答。Tag 与 Flash 用不同语音模块朗读带表现标签的回答。E2E 则把语音生成改为连续向量与专用解码。[1]

BUILD EXPLORER

选择构建,查看生成路径

代码与文档核对

Tag 的 NOTICE 列出 Qwen3-VL-32B、DuplexJev-32B-Para、Qwen3-ASR 编码器及 tag-tts 等来源。当前构建把语言、声音和话轮决策组合起来,“一个服务”与内部推理阶段数需要分别描述。[2]

Flash 的 80 ms 描述语音生成帧。持续听说的响应还受 VAD、话轮判断、生成调度和播放缓存影响。配置中仍可见外部语音活动检测,模型话轮判断与工程控制共同参与交互。[3]

03 / CALLING

从语音接口到工具接口

先确认语音引擎正常返回,再检查连续听说,最后接真实工具和后台。以下示例含可复制的启动步骤与协议片段。模型权重应固定 revision,并预先放入相应 MODEL_DIR。

REQUEST GUIDE

按任务选择调用入口

调用示例
HTTP

端口与角色 协议 接入要求
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]

04 / TOOL CALLING

提示词、调用标记和外部执行怎样配合

运行时把函数 schema 送入 chat template,模型按 Qwen/Hermes 格式输出函数名与参数。解析器读取 <tool_call> 分隔符,语音模块只接收前面的口语内容。外部程序执行函数后,结果回到模型上下文中,模型再生成语音回应。[5]

CALL TRACE

逐步查看一条工具请求

合成示例

“特殊 token”需要看两个层次

已核对的 Tag tokenizer 中,<tool_call> 与 </tool_call> 对应独立词表 ID 151657 和 151658,其 special 字段均为 false。服务代码再按分隔符字符串解析 JSON。标记负责表示调用,函数执行由运行时和客户端完成。[6]

DIRECT TOOLS

前台生成业务工具调用

给模型具体函数定义,例如 get_weather(city)。模型填写函数名和参数,网关转换成 function_call 事件,客户端执行并回传 function_call_output。

LIVE DELEGATION

前台把任务交给后台

前台只拿到 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]

05 / EVIDENCE

工具能力有哪些公开指标

证据 作者报告 解释范围
FDB-v3 工具任务 Pass@1 48%
回应率 100%
作者自测,并注明从多次运行中取最佳。与原论文其他系统的历史成绩分别看待。
Live 小样本委派 Tag / Flash 需委派项均为 7/7 14 条录音,7 条应委派、7 条应直接回答,使用 mock 后台。
避免不必要委派 Tag 6/7
Flash 5/7
说明部分可直接回答的问题仍会交给后台。样本规模有限。

来源 作者评测说明 与 Live 测试说明。

完整接入还需要分开测量工具选择、参数正确、外部执行结果、重复调用、任务终态和正确告知。前台、后台、提示规则与参数校验配置都影响结果,应记录为同一份系统配置。

网关包含工具名检查与参数来源检查,结合 ASR、先前工具结果、指令及 schema 决定是否要求模型重做。当前代码还给拒绝重试设置了次数上限。公开的 FDB-v3 成绩没有充分说明这些配置的开启情况。[9]

06 / LATENCY

回复速度与 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 公开客户端的计时提交已读入的 WAV → 收到并解码首块音频

单看这些数值还无法给出同场速度排名。工具请求又有三个不同时间点,首次承接、工具派发、首个正确结果。先说“我查一下”可以很快,结果仍取决于后台模型与实际工具。

并发需要附带音频连续性

Flash 作者在 40 路请求、10 秒内到达时,报告首音中位数 0.58 s、P90 0.67 s,stall 中位数 0.37 s。Tag 在 16 路时报告首音中位数 0.75 s、最大 1.07 s。并发数、尾时延和播放停顿一起报告,才有明确服务含义。[3] Tag 测量

07 / INTEGRATION

接入时需要核对的实际边界

观察项 当前代码或资料 验收动作
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 协议覆盖与语音体验分别验收。接入与配置变更后的结果,应重新建立固定版本、固定场景的证据。

完整的双工评测标准与指标方案 ↗
08 / SOURCES

来源与核对范围

截至 2026 年 11 月 9 日。模型指标采用作者报告值,接口行为采用固定提交的代码观察,交互步骤使用合成示例。GPU 推理、真实声学链路与外部业务执行尚待实测。

  1. Sophon Realtime 原始项目构建与公开评测说明。本文独立解读,代码版本固定为 b2754d47。
  2. Tag NOTICE骨干、音频编码器与语音模块来源。
  3. Flash README80 ms 声学帧、HTTP 首包与并发测量条件。
  4. Tag 客户端模型 ID 获取、请求体与音频流解码。
  5. 工具解析与口语流裁剪提示模板、JSON 解析、mock 与工具标记。
  6. Tag tokenizer 元信息固定权重元信息 revision 9a9ed240,核对分隔符 ID 与 special 字段。
  7. 后台工具循环delegate、后台模型配置与真实工具调用。
  8. 微调说明与样例函数 schema、调用格式与 tool 结果消息。
  9. Realtime 网关函数调用事件、参数来源检查、取消与截断路径。
  10. Live 文档网关部署、委派事件、ASR、14 条 mock 后台测试。
  11. OpenAI GPT-Live-1 API 发布材料FDB-v1 轮替时延及后台配置应分别解读,完整补充见通用评测站。