Files

797 lines
34 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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>