解密3个控制Token:MOSS-VL-Realtime-FP8实时流式输出协议与silence机制详解
【免费下载链接】MOSS-VL-Realtime-FP8项目地址https://ai.gitcode.com/OpenMOSS/MOSS-VL-Realtime-FP8点击查看免费下载MOSS-VL-Realtime-FP8 是 OpenMOSS 发布的实时视频理解视觉语言模型的 FP8 量化版本它的核心能力是按时间戳逐帧输入视频流并实时输出描述而这一切依赖一套由|silence|、|time_start|、|time_end|等控制 Token 构成的流式输出协议。本文带你零基础读懂这套协议silence 机制如何让模型该说话时说话、没变化时闭嘴时间戳包裹如何告诉模型这一帧是第几秒以及应用层如何按协议过滤和渲染这些标记。为什么实时流式推理需要控制 Token普通对话模型是问一句答一句而 MOSS-VL-Realtime 的工作方式完全不同输入是持续的视频流应用侧按 1 FPS 左右不断喂入带时间戳的帧输出是主动的模型不等用户提问而是自己判断画面有没有变化有变化才开口一个会话贯穿始终一个模型实例同时只支持一个实时会话上下文随时间累积。这意味着模型必须在输出流里携带元信息现在这帧是什么时间、我现在要不要说话、这一轮对话到没结束。这些元信息就是通过控制 Token表达出来的它们是模型词表里真实存在的特殊 Token。你可以在 added_tokens.json 中看到它们被正式注册的 Token ID控制 TokenToken ID角色|time_start|151669时间戳包裹的开头|time_end|151670时间戳包裹的结尾|silence|151671静默/空闲信号|response|151672响应标记备用3个控制 Token 逐个拆解1️⃣|silence|静默开关silence 机制的核心这是整套协议里最关键的 Token。系统提示词明确告诉模型当画面没有相关变化时直接输出|silence|见 modeling_moss_vl.py 中的默认 system prompt。它的机制比输出一个词要深包含三层设计① 静默即等待。在流式主循环中每当模型吐出的 Token 恰好是|silence|运行时就把should_wait_for_new_input置为真然后在这里原地阻塞等待新帧或新提示词到达而不是继续空转烧算力见 modeling_moss_vl.py 与 等待逻辑。这正是实时推理省显存、省延迟的关键——没有新输入时GPU 不做无用功。② 唯一的空闲信号。采样前运行时会把|...|省略号的得分强制压到负无穷确保|silence|是模型表达没话说的唯一通道避免两种空闲信号混用见 modeling_moss_vl.py。③ 与训练分布对齐。训练数据里每个 assistant 回合的第一个 Token 都是|silence|。因此当新提示词和新帧在同一轮一起进来时代码会手动补插一个|silence|防止推理分布偏离训练分布见 modeling_moss_vl.py。 静默阈值silence_threshold被固定为 0.0。上游曾有 0.6 的默认值结果把概率稍低的合法静默也压掉了表现为该闭嘴时模型还在说话的伪影因此官方不建议调高。2️⃣|time_start|与|time_end|给每帧盖上时间戳这两枚 Token 总是成对出现用来包裹帧的时间戳。每推入一帧运行时都会把帧拼接成如下形式插入上下文|vision||time_start|12.0 seconds|time_end||image|/|vision|时间戳保留一位小数格式固定为X.X seconds拼接逻辑见 modeling_moss_vl.pyprocessor 侧对应实现在 processing_moss_vl.py模型由此知道这一帧发生在第 12 秒可以谈论几秒前发生了什么、变化正在发生等时序概念会话层强制时间戳非递减如果推入的帧时间戳早于上一帧push_frame会直接抛出Frame timestamps must be non-decreasing错误见 modeling_moss_vl.py。3️⃣ 应用层轮次标记|round_start|/|round_end|严格来说这两个标记不在模型词表里而是运行时往输出队列里投递的协议级标记供应用层区分轮次边界每当一条新的用户提示词进入队列运行时先向输出队列放入|round_start|并清空 Token 缓冲见 modeling_moss_vl.py一轮生成结束或发生错误时放入|round_end|收尾见 modeling_moss_vl.py。前端收到它们时可以做新一轮回答开始/结束的 UI 渲染或者简单过滤掉。README 中也有明确提示模型输出流中可能出现|silence|、|round_start|、|round_end|等控制 Token应用侧应按协议过滤或渲染见 README_zh.md。一次完整的流式轮次长什么样把上面的机制串起来_real_time_sample主循环modeling_moss_vl.py每一轮做三件事前向一步产出 1 个 Token若是|silence|标记接下来等新输入解码推送多字节片段会先进缓冲区拼完整再放入输出队列避免中文出现半字节乱码排空队列并拼接新内容把等待中的帧带时间戳包裹和新提示词拼进上下文为下一轮前向准备好状态。节拍由max_tokens_per_turn控制Token/秒上限官方示例中常用 12配合 1 FPS 的推帧节奏输出平滑且跟得上实时性。快速上手创建会话并观察控制 Tokensession model.create_realtime_session( processor, initial_prompt持续描述视频中的重要变化没有明显变化时保持安静。, frame_queue_size1, max_tokens_per_turn12, ) session.start() for image, ts in frames: # (PIL.Image, 非递减时间戳) session.push_frame(image, timestampts) while chunk : session.poll_output(timeout0.0): print(chunk, end, flushTrue) # 可能含 |silence| / |round_start| / |round_end| session.close()会话 API 完整定义在 MossVLRealtimeSession包括push_frame、push_prompt、poll_output、stream_outputs等方法create_realtime_session入口见 modeling_moss_vl.py。常见疑问速答输出里出现|silence|是 Bug 吗不是它是当前无需发言的正常信号直接过滤即可。时间戳可以乱序吗不行必须非递减否则push_frame抛 ValueError。为什么要trust_remote_codeTrue流式与量化缓存代码随 checkpoint 发布在 modeling_moss_vl.py 中加载时需信任自定义代码。FP8 量化影响流式输出吗不影响协议本身。权重用 FP8 E4M3 动态激活KV Cache 用 HQQ INT8配置在 generation_config.json 与 recipe.yaml 中Benchmark 显示量化后 OVOBench Avg 仅从 70.86 降到 70.66几乎无损。关键文件导航文件内容modeling_moss_vl.py流式主循环、会话封装、silence 阈值与帧拼接逻辑processing_moss_vl.py时间戳 Token 定义与帧格式化added_tokens.json控制 Token 及其 Token IDspecial_tokens_map.json特殊 Token 注册清单tokenizer_config.json分词器配置含|silence|等README_zh.md中文使用文档安装、加载、流式推理示例理解了|silence|的等待机制、时间戳包裹和轮次标记这三个环节你就掌握了 MOSS-VL-Realtime-FP8 实时流式输出协议的全部核心。剩下的就是接入你的摄像头或视频流观察模型在说话与闭嘴之间自如切换了。赞分享【免费下载链接】MOSS-VL-Realtime-FP8项目地址https://ai.gitcode.com/OpenMOSS/MOSS-VL-Realtime-FP8点击查看免费下载相关推荐MOSS-VL-Realtime-SGLANG控制token清单silence、round_start如何驱动实时响应MOSS VL Realtime SGLANG控制token清单silence、round_start如何驱动实时响应 MOSS VL Realtime SG人工智能大模型多模态计算机视觉视频nats-server协议解析流量控制机制实现nats server协议解析流量控制机制实现 概述 在高性能消息系统中流量控制Flow Control是确保系统稳定性和可靠性的关键技术。NATS服务消息队列通信后端微服务云原生深度解析Confucius4-T3PO-GGUF流式同传翻译协议WAIT机制如何实现实时增量输出深度解析Confucius4 T3PO GGUF流式同传翻译协议WAIT机制如何实现实时增量输出 Confucius4 T3PO GGUF 是一个中英双向流式上一篇NES.css与PWA8位像素风格应用的离线体验增强方案下一篇Mastering 项目协作规范代码风格与提交信息格式创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考