Publish Sophon Realtime calling tool protocol and latency guide
This commit is contained in:
+796
@@ -0,0 +1,796 @@
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<meta
|
||||
name="description"
|
||||
content="基于公开代码核对 Sophon Realtime 的自托管入口、工具调用机制、Live委派与时延,提供调用路径和可复核的协议示例。"
|
||||
/>
|
||||
<meta name="theme-color" content="#f4f3ef" />
|
||||
<meta
|
||||
property="og:title"
|
||||
content="Sophon Realtime 的调用、工具机制与时延"
|
||||
/>
|
||||
<meta property="og:type" content="article" />
|
||||
<link rel="canonical" href="https://sophon-realtime.k1412.top/" />
|
||||
<link rel="icon" type="image/svg+xml" href="favicon.svg" />
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
<script type="module" src="app.js"></script>
|
||||
<title>Sophon Realtime 的调用、工具机制与时延 · K1412 Research</title>
|
||||
</head>
|
||||
<body id="top">
|
||||
<a class="skip-link" href="#main">跳到正文</a>
|
||||
<header class="site-header">
|
||||
<a class="brand" href="https://blog.k1412.top"
|
||||
><b>k.</b><span>K1412 <i>RESEARCH</i></span></a
|
||||
>
|
||||
<nav aria-label="顶部导航">
|
||||
<a href="#calling">调用入口</a><a href="#tools">工具机制</a
|
||||
><a href="https://voice-duplex.k1412.top/">双工评测 ↗</a
|
||||
><button id="theme-toggle" type="button" aria-label="切换深浅主题">
|
||||
◐
|
||||
</button>
|
||||
</nav>
|
||||
</header>
|
||||
<div class="layout">
|
||||
<aside class="contents">
|
||||
<span class="eyebrow">MODEL STUDY / 02</span>
|
||||
<nav aria-label="文章目录">
|
||||
<a href="#readiness">01 可调用性</a
|
||||
><a href="#architecture">02 模型与构建</a
|
||||
><a href="#calling">03 接口与调用</a><a href="#tools">04 工具机制</a
|
||||
><a href="#capability">05 工具能力证据</a
|
||||
><a href="#speed">06 与 GPT-Live 的时延</a
|
||||
><a href="#limits">07 兼容性与验证</a><a href="#sources">08 来源</a>
|
||||
</nav>
|
||||
<div class="version-note">
|
||||
资料核对<br /><strong>2026.11.09</strong><br /><span
|
||||
>代码 b2754d47<br />GPU 推理待实测</span
|
||||
>
|
||||
</div>
|
||||
</aside>
|
||||
<main id="main">
|
||||
<section class="hero">
|
||||
<span class="eyebrow">PUBLIC MODEL · SOURCE AUDIT · API GUIDE</span>
|
||||
<h1>Sophon Realtime 的<br />调用、工具机制与时延</h1>
|
||||
<p class="deck">
|
||||
沿着模型、协议与执行程序,<br />核对一条语音请求怎样真正调用工具。
|
||||
</p>
|
||||
<div class="hero-meta">
|
||||
<span>模型研究</span><span>2026 年 11 月 9 日</span
|
||||
><a href="https://github.com/adventists-ai/sophon-realtime"
|
||||
>原始项目 ↗</a
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
class="hero-route"
|
||||
aria-label="语音经过模型生成结构化调用,外部工具执行后回到语音回应"
|
||||
>
|
||||
<span>语音</span><b>→</b><span>模型</span><b>→</b
|
||||
><code><tool_call></code><b>→</b><span>外部执行</span><b>→</b
|
||||
><span>语音回应</span>
|
||||
</div>
|
||||
<p class="lead">
|
||||
Sophon 已公开模型权重、服务代码和客户端示例。Tag 与 Flash
|
||||
提供自托管调用路径,Live
|
||||
网关连接前台语音与后台代理。实际接入需要同时核对<strong>模型能力、协议覆盖、外部执行和时延口径</strong>。
|
||||
</p>
|
||||
<p>
|
||||
本页以公开仓库提交
|
||||
<code>b2754d4753e20ecfa860db0cda4325e4479f4427</code>
|
||||
为代码依据。作者测量、代码观察和说明性示例分别标记,GPU
|
||||
端到端调用列为待验证项。
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section id="readiness" class="article-section">
|
||||
<div class="section-number">01 / READINESS</div>
|
||||
<h2>当前有哪些可调用路径</h2>
|
||||
<p>
|
||||
Tag、Flash 和 E2E 均有公开权重目录。前两种构建走 vLLM-Omni,E2E
|
||||
使用单独的研究预览引擎。仓库还提供客户端、启动脚本和网关,已经具备可检查的部署链路。<a
|
||||
class="ref"
|
||||
href="#source-root"
|
||||
>[1]</a
|
||||
>
|
||||
</p>
|
||||
<div class="table-wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>构建</th>
|
||||
<th>作者文档中的资源</th>
|
||||
<th>主要入口</th>
|
||||
<th>当前定位</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>Tag</th>
|
||||
<td>单张 80 GB NVIDIA GPU,实例约 65 GB 显存</td>
|
||||
<td>HTTP + Realtime WebSocket</td>
|
||||
<td>强调笑声、叹气等表现力</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Flash</th>
|
||||
<td>单张 80 GB NVIDIA GPU,实例约 55 GB 显存</td>
|
||||
<td>HTTP + Realtime WebSocket</td>
|
||||
<td>强调首音速度与并发</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>E2E</th>
|
||||
<td>两张 80 GB GPU</td>
|
||||
<td>独立网关 <code>/ws</code></td>
|
||||
<td>连续向量语音生成的研究预览</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="source-line">
|
||||
资源与入口来源
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/tag/README.md"
|
||||
>Tag</a
|
||||
>、<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/flash/README.md"
|
||||
>Flash</a
|
||||
>、<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/docs/deploy.md"
|
||||
>E2E 部署文档</a
|
||||
>。
|
||||
</p>
|
||||
<div class="evidence-note">
|
||||
<strong>自托管与在线体验分别确认</strong>
|
||||
<p>
|
||||
官方模型卡给出了 ModelScope
|
||||
体验页。当前核对支持“模型和服务代码可取得”,可直接申请密钥的
|
||||
Sophon 托管 API
|
||||
尚缺公开调用资料,体验页的实际语音会话也需单独验证。PyPI 已有
|
||||
<code>sophon-realtime 1.0.0</code>,Tag / Flash 脚本使用 Python
|
||||
3.12。<a
|
||||
href="https://www.modelscope.cn/studios/AdventistsAI/Sophon-Realtime"
|
||||
>体验页 ↗</a
|
||||
>
|
||||
<a href="https://pypi.org/project/sophon-realtime/">PyPI ↗</a>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="architecture" class="article-section">
|
||||
<div class="section-number">02 / ARCHITECTURE</div>
|
||||
<h2>三种构建共享怎样的语音骨干</h2>
|
||||
<p>
|
||||
共同骨干由语音特征进入 32B 模型,承担理解、话轮决策和文本回答。Tag
|
||||
与 Flash 用不同语音模块朗读带表现标签的回答。E2E
|
||||
则把语音生成改为连续向量与专用解码。<a
|
||||
class="ref"
|
||||
href="#source-root"
|
||||
>[1]</a
|
||||
>
|
||||
</p>
|
||||
<div class="figure">
|
||||
<div class="figure-heading">
|
||||
<div>
|
||||
<span class="eyebrow">BUILD EXPLORER</span>
|
||||
<h3>选择构建,查看生成路径</h3>
|
||||
</div>
|
||||
<span class="tag audit">代码与文档核对</span>
|
||||
</div>
|
||||
<div class="segmented" role="group" aria-label="选择 Sophon 构建">
|
||||
<button type="button" data-build="flash" aria-pressed="true">
|
||||
Flash</button
|
||||
><button type="button" data-build="tag" aria-pressed="false">
|
||||
Tag</button
|
||||
><button type="button" data-build="e2e" aria-pressed="false">
|
||||
E2E 预览
|
||||
</button>
|
||||
</div>
|
||||
<div id="build-flow" class="flow" aria-live="polite"></div>
|
||||
<div
|
||||
id="build-detail"
|
||||
class="selected-detail"
|
||||
aria-live="polite"
|
||||
></div>
|
||||
</div>
|
||||
<p>
|
||||
Tag 的 NOTICE 列出 Qwen3-VL-32B、DuplexJev-32B-Para、Qwen3-ASR
|
||||
编码器及 tag-tts
|
||||
等来源。当前构建把语言、声音和话轮决策组合起来,“一个服务”与内部推理阶段数需要分别描述。<a
|
||||
class="ref"
|
||||
href="#source-notice"
|
||||
>[2]</a
|
||||
>
|
||||
</p>
|
||||
<p>
|
||||
Flash 的 80 ms 描述语音生成帧。持续听说的响应还受
|
||||
VAD、话轮判断、生成调度和播放缓存影响。配置中仍可见外部语音活动检测,模型话轮判断与工程控制共同参与交互。<a
|
||||
class="ref"
|
||||
href="#source-flash"
|
||||
>[3]</a
|
||||
>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section id="calling" class="article-section">
|
||||
<div class="section-number">03 / CALLING</div>
|
||||
<h2>从语音接口到工具接口</h2>
|
||||
<p>
|
||||
先确认语音引擎正常返回,再检查连续听说,最后接真实工具和后台。以下示例含可复制的启动步骤与协议片段。模型权重应固定
|
||||
revision,并预先放入相应 <code>MODEL_DIR</code>。
|
||||
</p>
|
||||
<div class="figure">
|
||||
<div class="figure-heading">
|
||||
<div>
|
||||
<span class="eyebrow">REQUEST GUIDE</span>
|
||||
<h3>按任务选择调用入口</h3>
|
||||
</div>
|
||||
<span class="tag example">调用示例</span>
|
||||
</div>
|
||||
<div class="call-controls">
|
||||
<label for="build-select"
|
||||
>模型构建<select id="build-select">
|
||||
<option value="flash">Flash</option>
|
||||
<option value="tag">Tag</option>
|
||||
<option value="e2e">E2E 预览</option>
|
||||
</select></label
|
||||
><label for="mode-select"
|
||||
>接口路径<select id="mode-select"></select
|
||||
></label>
|
||||
</div>
|
||||
<div class="endpoint">
|
||||
<span id="endpoint-kind">HTTP</span
|
||||
><code id="endpoint-value"></code>
|
||||
</div>
|
||||
<p id="endpoint-detail" class="small"></p>
|
||||
<div class="recipe-parts" role="group" aria-label="示例内容">
|
||||
<button type="button" data-part="startup" aria-pressed="true">
|
||||
启动与验证</button
|
||||
><button type="button" data-part="request" aria-pressed="false">
|
||||
协议消息
|
||||
</button>
|
||||
</div>
|
||||
<div class="code-heading">
|
||||
<span id="recipe-label"></span
|
||||
><button type="button" id="copy-recipe">复制示例</button>
|
||||
</div>
|
||||
<pre><code id="call-recipe"></code></pre>
|
||||
<p id="copy-status" class="small" aria-live="polite"></p>
|
||||
</div>
|
||||
<div class="table-wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>端口与角色</th>
|
||||
<th>协议</th>
|
||||
<th>接入要求</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>8000 基础引擎</th>
|
||||
<td>
|
||||
<code>/v1/chat/completions</code><br /><code
|
||||
>/v1/realtime</code
|
||||
>
|
||||
</td>
|
||||
<td>
|
||||
Tag / Flash
|
||||
语音生成与双工引擎。真实工具需显式选择客户端模式并接工具桥。
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>8700 本地工具桥</th>
|
||||
<td>
|
||||
<code>/bridge/<key>/events</code><br /><code
|
||||
>/bridge/<key>/result</code
|
||||
>
|
||||
</td>
|
||||
<td>
|
||||
默认由引擎启动脚本按
|
||||
<code>PORT + 700</code>
|
||||
创建,绑定本机,用于外层网关取调用与回填结果。
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>8780 外层网关</th>
|
||||
<td>
|
||||
<code>/v1/realtime</code><br /><code
|
||||
>/v1/live/sessions</code
|
||||
>
|
||||
</td>
|
||||
<td>
|
||||
分别适配函数调用事件与 Live 客户端委派。额外 ASR 约占 2 GB
|
||||
GPU 显存。
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>E2E 独立网关</th>
|
||||
<td><code>/ws</code></td>
|
||||
<td>
|
||||
使用自身的配置、音频、打断与结束事件,按研究预览部署文档接入。
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="source-line">
|
||||
接口依据
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/live/sophon_live/gateway.py"
|
||||
>gateway.py</a
|
||||
>、<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/live/sophon_live/adapters.py"
|
||||
>adapters.py</a
|
||||
>
|
||||
与各构建文档。
|
||||
</p>
|
||||
<h3>HTTP 音频流有自己的数据形状</h3>
|
||||
<p>
|
||||
公开客户端先读 <code>GET /v1/models</code>,使用官方系统提示和
|
||||
<code>input_audio</code> 发送完整 WAV。响应按 SSE 流式返回,顶层
|
||||
<code>modality == "audio"</code> 时,音频数据位于
|
||||
<code>choices[].delta.content</code>,内容为 base64 WAV 块,24
|
||||
kHz。接入 SDK 时应按该实际字段解码。<a
|
||||
class="ref"
|
||||
href="#source-client"
|
||||
>[4]</a
|
||||
>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section id="tools" class="article-section">
|
||||
<div class="section-number">04 / TOOL CALLING</div>
|
||||
<h2>提示词、调用标记和外部执行怎样配合</h2>
|
||||
<p>
|
||||
运行时把函数 schema 送入 chat template,模型按 Qwen/Hermes
|
||||
格式输出函数名与参数。解析器读取
|
||||
<code><tool_call></code>
|
||||
分隔符,语音模块只接收前面的口语内容。外部程序执行函数后,结果回到模型上下文中,模型再生成语音回应。<a
|
||||
class="ref"
|
||||
href="#source-tools"
|
||||
>[5]</a
|
||||
>
|
||||
</p>
|
||||
<div class="figure">
|
||||
<div class="figure-heading">
|
||||
<div>
|
||||
<span class="eyebrow">CALL TRACE</span>
|
||||
<h3>逐步查看一条工具请求</h3>
|
||||
</div>
|
||||
<span class="tag example">合成示例</span>
|
||||
</div>
|
||||
<div
|
||||
id="tool-steps"
|
||||
class="step-list"
|
||||
role="group"
|
||||
aria-label="工具调用步骤"
|
||||
></div>
|
||||
<div class="step-head">
|
||||
<span id="step-number"></span>
|
||||
<h4 id="step-title"></h4>
|
||||
</div>
|
||||
<p id="step-explanation"></p>
|
||||
<pre><code id="step-code"></code></pre>
|
||||
<div class="step-controls">
|
||||
<button type="button" id="previous-step">上一步</button
|
||||
><span id="step-progress" aria-live="polite"></span
|
||||
><button type="button" id="next-step">下一步</button>
|
||||
</div>
|
||||
</div>
|
||||
<h3>“特殊 token”需要看两个层次</h3>
|
||||
<p>
|
||||
已核对的 Tag tokenizer 中,<code><tool_call></code> 与
|
||||
<code></tool_call></code> 对应独立词表 ID
|
||||
<code>151657</code> 和 <code>151658</code>,其
|
||||
<code>special</code> 字段均为
|
||||
<code>false</code>。服务代码再按分隔符字符串解析
|
||||
JSON。标记负责表示调用,函数执行由运行时和客户端完成。<a
|
||||
class="ref"
|
||||
href="#source-tokenizer"
|
||||
>[6]</a
|
||||
>
|
||||
</p>
|
||||
<div class="two-paths">
|
||||
<div>
|
||||
<span class="eyebrow">DIRECT TOOLS</span>
|
||||
<h3>前台生成业务工具调用</h3>
|
||||
<p>
|
||||
给模型具体函数定义,例如
|
||||
<code>get_weather(city)</code>。模型填写函数名和参数,网关转换成
|
||||
<code>function_call</code> 事件,客户端执行并回传
|
||||
<code>function_call_output</code>。
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<span class="eyebrow">LIVE DELEGATION</span>
|
||||
<h3>前台把任务交给后台</h3>
|
||||
<p>
|
||||
前台只拿到 <code>delegate(task)</code>。网关发出
|
||||
<code>session.delegation.created</code
|
||||
>,后台代理使用业务工具,结果经
|
||||
<code>session.commentary.append</code> 返回语音前台。
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
启用 <code>SOPHON_LIVE_BACKEND</code> 后,代码会把前台工具替换为
|
||||
<code>delegate</code
|
||||
>,由配置的后台模型持有具体工具。该配置的表现应归于前后台系统。<a
|
||||
class="ref"
|
||||
href="#source-backend"
|
||||
>[7]</a
|
||||
>
|
||||
</p>
|
||||
<div class="evidence-note">
|
||||
<strong>真实工具执行要显式接通</strong>
|
||||
<p>
|
||||
基础引擎的默认工具模式是
|
||||
mock。未提供匹配模拟结果时,代码仍可返回含
|
||||
<code>ok: true</code> 和
|
||||
<code>note: "mock result"</code> 的对象。真实调用需要
|
||||
<code>tool_mode: "client"</code>、会话工具桥及执行端。8780
|
||||
网关适配器会设置客户端模式。<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/tag/plugin/sophon_realtime/duplex.py"
|
||||
>引擎代码 ↗</a
|
||||
>
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/live/sophon_live/adapters.py"
|
||||
>适配器 ↗</a
|
||||
>
|
||||
</p>
|
||||
</div>
|
||||
<p>
|
||||
公开微调样例也采用函数 schema、助手调用标记和
|
||||
<code>role: tool</code>
|
||||
结果。这展示了工具格式的训练路径,完整工具训练集及发布成绩的全部运行配置仍需更多资料。<a
|
||||
class="ref"
|
||||
href="#source-finetune"
|
||||
>[8]</a
|
||||
>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section id="capability" class="article-section">
|
||||
<div class="section-number">05 / EVIDENCE</div>
|
||||
<h2>工具能力有哪些公开指标</h2>
|
||||
<div class="table-wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>证据</th>
|
||||
<th>作者报告</th>
|
||||
<th>解释范围</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>FDB-v3 工具任务</th>
|
||||
<td>
|
||||
Pass@1 <strong>48%</strong><br />回应率
|
||||
<strong>100%</strong>
|
||||
</td>
|
||||
<td>
|
||||
作者自测,并注明从多次运行中取最佳。与原论文其他系统的历史成绩分别看待。
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Live 小样本委派</th>
|
||||
<td>Tag / Flash 需委派项均为 <strong>7/7</strong></td>
|
||||
<td>
|
||||
14 条录音,7 条应委派、7 条应直接回答,使用 mock 后台。
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>避免不必要委派</th>
|
||||
<td>
|
||||
Tag <strong>6/7</strong><br />Flash <strong>5/7</strong>
|
||||
</td>
|
||||
<td>说明部分可直接回答的问题仍会交给后台。样本规模有限。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="source-line">
|
||||
来源
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/README.md"
|
||||
>作者评测说明</a
|
||||
>
|
||||
与
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/live/README.md"
|
||||
>Live 测试说明</a
|
||||
>。
|
||||
</p>
|
||||
<p>
|
||||
完整接入还需要分开测量工具选择、参数正确、外部执行结果、重复调用、任务终态和正确告知。前台、后台、提示规则与参数校验配置都影响结果,应记录为同一份系统配置。
|
||||
</p>
|
||||
<p>
|
||||
网关包含工具名检查与参数来源检查,结合 ASR、先前工具结果、指令及
|
||||
schema
|
||||
决定是否要求模型重做。当前代码还给拒绝重试设置了次数上限。公开的
|
||||
FDB-v3 成绩没有充分说明这些配置的开启情况。<a
|
||||
class="ref"
|
||||
href="#source-grounding"
|
||||
>[9]</a
|
||||
>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section id="speed" class="article-section">
|
||||
<div class="section-number">06 / LATENCY</div>
|
||||
<h2>回复速度与 GPT-Live 怎样比较</h2>
|
||||
<p>
|
||||
Flash 的作者报告显示较短的 HTTP 首包路径。Tag 的双工报告值和
|
||||
GPT-Live
|
||||
的官方轮替值接近,整体体验仍需统一环境、输入与计时终点后比较。
|
||||
</p>
|
||||
<div class="table-wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>配置</th>
|
||||
<th>报告值</th>
|
||||
<th>计时对象</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>Sophon Flash</th>
|
||||
<td><strong>0.31 s</strong> 中位数,P90 0.34 s</td>
|
||||
<td>
|
||||
一张 H100 80 GB、单条 HTTP 音频请求,客户端 POST
|
||||
前开始计时,到首个音频块。
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Sophon Tag</th>
|
||||
<td><strong>约 0.7 s</strong></td>
|
||||
<td>作者文档的全双工“用户语音结束到首音”口径。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>GPT-Live-1</th>
|
||||
<td><strong>0.798 s</strong></td>
|
||||
<td>官方发布图中的 FDB-v1 轮替时延。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="source-line">
|
||||
来源
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/flash/README.md"
|
||||
>Flash 测量条件</a
|
||||
>、<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/flash/client_example.py"
|
||||
>客户端计时</a
|
||||
>、<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/tag/README.md"
|
||||
>Tag</a
|
||||
>、<a
|
||||
href="https://openai.com/index/introducing-gpt-live-1-in-the-api/"
|
||||
>GPT-Live 发布材料</a
|
||||
>。
|
||||
</p>
|
||||
<div class="clock-boundaries">
|
||||
<div>
|
||||
<span>完整交互时间轴</span
|
||||
><strong
|
||||
>用户说完 → 上行与话轮判断 → 模型 / 工具 → 解码 →
|
||||
实际播放</strong
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span>Flash 公开客户端的计时</span
|
||||
><strong>提交已读入的 WAV → 收到并解码首块音频</strong>
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
单看这些数值还无法给出同场速度排名。工具请求又有三个不同时间点,首次承接、工具派发、首个正确结果。先说“我查一下”可以很快,结果仍取决于后台模型与实际工具。
|
||||
</p>
|
||||
<h3>并发需要附带音频连续性</h3>
|
||||
<p>
|
||||
Flash 作者在 40 路请求、10 秒内到达时,报告首音中位数 0.58 s、P90
|
||||
0.67 s,stall 中位数 0.37 s。Tag 在 16 路时报告首音中位数 0.75
|
||||
s、最大 1.07
|
||||
s。并发数、尾时延和播放停顿一起报告,才有明确服务含义。<a
|
||||
class="ref"
|
||||
href="#source-flash"
|
||||
>[3]</a
|
||||
>
|
||||
<a
|
||||
class="ref"
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/tag/README.md"
|
||||
>Tag 测量</a
|
||||
>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section id="limits" class="article-section">
|
||||
<div class="section-number">07 / INTEGRATION</div>
|
||||
<h2>接入时需要核对的实际边界</h2>
|
||||
<div class="table-wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>观察项</th>
|
||||
<th>当前代码或资料</th>
|
||||
<th>验收动作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>Realtime 取消</th>
|
||||
<td><code>response.cancel</code> 当前为空操作。</td>
|
||||
<td>
|
||||
验证调用方取消能否停止生成与播放,并单测后台任务状态。
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>历史截断</th>
|
||||
<td>
|
||||
<code>conversation.item.truncate</code>
|
||||
当前主要回确认事件,截断尚未传播到引擎。
|
||||
</td>
|
||||
<td>用已播放、未播放的事实分别测试后续上下文。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>文本输入</th>
|
||||
<td>
|
||||
普通文本
|
||||
<code>conversation.item.create</code>
|
||||
会被记录为忽略,工具结果输入单独处理。
|
||||
</td>
|
||||
<td>按实际客户端所用的消息类型逐项验证。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>参数事件</th>
|
||||
<td>
|
||||
完整参数 JSON 可一次放进
|
||||
<code>arguments.delta</code>,随后发 done。
|
||||
</td>
|
||||
<td>记录实际派发时间,区分事件命名与逐 token 执行。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>预热与首会话</th>
|
||||
<td>脚本包含预热,Live 文档记录首次会话可能无回应。</td>
|
||||
<td>区分冷启动、预热和稳定服务样本,保留失败。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>E2E 预览</th>
|
||||
<td>模型目录与部署文档更新节奏有差异。</td>
|
||||
<td>固定实际权重 revision、运行入口与引擎版本。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>许可材料</th>
|
||||
<td>
|
||||
Sophon NOTICE 标为 Apache-2.0,上游 Para 模型说明含 CC BY-NC
|
||||
4.0。
|
||||
</td>
|
||||
<td>适用权重许可范围需要发布方澄清。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="source-line">
|
||||
代码与声明
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/live/sophon_live/realtime.py"
|
||||
>Realtime 适配器</a
|
||||
>、<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/tag/NOTICE"
|
||||
>Sophon NOTICE</a
|
||||
>、<a href="https://github.com/adventists-ai/duplexjev#license"
|
||||
>上游许可说明</a
|
||||
>。
|
||||
</p>
|
||||
<p>
|
||||
当前材料支持继续开展自托管和接口验证。模型效果、真实工具执行、API
|
||||
协议覆盖与语音体验分别验收。接入与配置变更后的结果,应重新建立固定版本、固定场景的证据。
|
||||
</p>
|
||||
<a class="text-link" href="https://voice-duplex.k1412.top/#evaluation"
|
||||
>完整的双工评测标准与指标方案 ↗</a
|
||||
>
|
||||
</section>
|
||||
|
||||
<section id="sources" class="article-section">
|
||||
<div class="section-number">08 / SOURCES</div>
|
||||
<h2>来源与核对范围</h2>
|
||||
<p>
|
||||
截至 2026 年 11 月 9
|
||||
日。模型指标采用作者报告值,接口行为采用固定提交的代码观察,交互步骤使用合成示例。GPU
|
||||
推理、真实声学链路与外部业务执行尚待实测。
|
||||
</p>
|
||||
<ol class="source-list">
|
||||
<li id="source-root">
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/tree/b2754d4753e20ecfa860db0cda4325e4479f4427"
|
||||
>Sophon Realtime 原始项目</a
|
||||
><span
|
||||
>构建与公开评测说明。本文独立解读,代码版本固定为
|
||||
b2754d47。</span
|
||||
>
|
||||
</li>
|
||||
<li id="source-notice">
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/tag/NOTICE"
|
||||
>Tag NOTICE</a
|
||||
><span>骨干、音频编码器与语音模块来源。</span>
|
||||
</li>
|
||||
<li id="source-flash">
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/flash/README.md"
|
||||
>Flash README</a
|
||||
><span>80 ms 声学帧、HTTP 首包与并发测量条件。</span>
|
||||
</li>
|
||||
<li id="source-client">
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/tag/client_example.py"
|
||||
>Tag 客户端</a
|
||||
><span>模型 ID 获取、请求体与音频流解码。</span>
|
||||
</li>
|
||||
<li id="source-tools">
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/tag/plugin/sophon_realtime/tools.py"
|
||||
>工具解析与口语流裁剪</a
|
||||
><span>提示模板、JSON 解析、mock 与工具标记。</span>
|
||||
</li>
|
||||
<li id="source-tokenizer">
|
||||
<a
|
||||
href="https://huggingface.co/adventists-ai/Sophon-Realtime-32B-Tag/blob/9a9ed240ab7a4ed7494ec3f45caf1242c1dace2a/thinker/tokenizer_config.json"
|
||||
>Tag tokenizer 元信息</a
|
||||
><span
|
||||
>固定权重元信息 revision 9a9ed240,核对分隔符 ID 与 special
|
||||
字段。</span
|
||||
>
|
||||
</li>
|
||||
<li id="source-backend">
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/live/sophon_live/backend.py"
|
||||
>后台工具循环</a
|
||||
><span>delegate、后台模型配置与真实工具调用。</span>
|
||||
</li>
|
||||
<li id="source-finetune">
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/finetune/README.md"
|
||||
>微调说明与样例</a
|
||||
><span>函数 schema、调用格式与 tool 结果消息。</span>
|
||||
</li>
|
||||
<li id="source-grounding">
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/live/sophon_live/realtime.py"
|
||||
>Realtime 网关</a
|
||||
><span>函数调用事件、参数来源检查、取消与截断路径。</span>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://github.com/adventists-ai/sophon-realtime/blob/b2754d4753e20ecfa860db0cda4325e4479f4427/live/README.md"
|
||||
>Live 文档</a
|
||||
><span>网关部署、委派事件、ASR、14 条 mock 后台测试。</span>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://openai.com/index/introducing-gpt-live-1-in-the-api/"
|
||||
>OpenAI GPT-Live-1 API 发布材料</a
|
||||
><span
|
||||
>FDB-v1
|
||||
轮替时延及后台配置应分别解读,完整补充见通用评测站。</span
|
||||
>
|
||||
</li>
|
||||
</ol>
|
||||
</section>
|
||||
<footer>
|
||||
<span>K1412 RESEARCH · MODEL STUDY</span>
|
||||
<div>
|
||||
<a href="https://blog.k1412.top">研究目录 ↗</a
|
||||
><a href="https://git.k1412.top/wuyang/sophon-realtime-guide"
|
||||
>网页源码 ↗</a
|
||||
><a href="#top">回到顶部 ↑</a>
|
||||
</div>
|
||||
<small>Release sophon-realtime-20261109-v1</small>
|
||||
</footer>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user