Publish Sophon Realtime calling tool protocol and latency guide

This commit is contained in:
wuyang6
2026-11-09 12:30:33 +08:00
commit 83f47dd857
17 changed files with 2244 additions and 0 deletions
+796
View File
@@ -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>&lt;tool_call&gt;</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/&lt;key&gt;/events</code><br /><code
>/bridge/&lt;key&gt;/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>&lt;tool_call&gt;</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>&lt;tool_call&gt;</code> 与
<code>&lt;/tool_call&gt;</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>