乐于分享
好东西不私藏

AI · 多模态 · 实时视频交互京东 JoyAI-VL-Interaction 开源:让 不等你提问,能看直播自己判断该不该说话

AI · 多模态 · 实时视频交互京东 JoyAI-VL-Interaction 开源:让 不等你提问,能看直播自己判断该不该说话
传统视觉大模型大多是“你问一句,它答一句”。JoyAI-VL-Interaction 的思路更进一步:模型持续看视频流,每秒判断一次该不该开口,必要时还能把复杂任务委托给后台 Agent。
配图 1:JoyAI-VL-Interaction 文章封面信息图

一、它到底是什么?

JoyAI-VL-Interaction 是京东开源的实时视频语言交互系统。它不是单纯的“图片问答模型”,也不是普通的视频理解模型,而是面向摄像头、直播流、RTSP 视频流这类实时场景设计的视觉语言交互模型。

简单理解:普通多模态模型像客服,必须等你提问;JoyAI-VL-Interaction 更像一个在场的助手,它一直观察画面,发现重要事件时主动提醒,没有重要内容时保持安静,遇到复杂问题时交给后台 Agent。

一句话总结

这类模型的价值不是“看懂一张图”,而是“持续看着正在发生的世界,并在正确时间做出反应”。

二、为什么它值得关注?

很多 AI 视频助手看起来能实时对话,但本质仍然是回合制:用户说一句,系统截一帧或一段视频,然后模型回答。JoyAI-VL-Interaction 则把“何时说话、何时静默、何时委托”训练进模型内部。

配图 2:Speak / Silence / Delegate 三段式交互决策
能力
小白解释
Speak / Response
当画面中出现值得提醒的事件,或用户问题已经有足够证据时,模型主动输出。
Silence
当没有重要事件时保持安静,不为了回答而回答,减少“AI 话痨”。
Delegate
当任务太复杂、需要更长推理或外部工具时,交给后台模型/API/Agent 处理,自己继续观察视频。
Memory
通过短期视频窗口、中期摘要、长期记忆,支持跨较长视频流的回忆与判断。

三、模型和开源信息

Hugging Face 页面显示,JoyAI-VL-Interaction-Preview 属于 Video-Text-to-Text 任务,采用 Safetensors 权重,标注 qwen3_vl 架构,许可证为 Apache-2.0。页面还显示模型大小约 9B 参数,Tensor Type 为 BF16。

项目
说明
模型名称
jdopensource/JoyAI-VL-Interaction-Preview
发布方
JD.com Open Source / Joy Future Academy
模型类型
Video-Text-to-Text,实时视频语言交互
参数规模
约 9B 参数,BF16 权重
权重格式
Safetensors,4 个模型分片
许可协议
Apache-2.0
基础方向
Qwen3-VL 架构上的视觉语言交互模型

四、它能做哪些事情?

官方项目页列出了九类典型能力,核心都围绕“实时视频流”展开。它适合的不是一次性图片 OCR,而是持续变化的场景,比如摄像头画面、直播间、手机屏幕操作、比赛视频、课堂投屏。

场景
能解决什么问题
实时翻译
字幕或屏幕文字变化时,模型跟着视频持续翻译,而不是只翻译当前一帧。
监控告警
发现跌倒、火情、异常动作等事件时主动提醒。
App 引导
跟随手机屏幕变化,一步步指导用户操作。
直播解说
根据画面变化持续生成讲解、弹幕式评论或比赛解说。
实时计数
持续统计画面中的目标、人流、动作次数。
长程视觉记忆
记住几分钟前出现过的信息,并在后续需要时调取。
后台委托
复杂问题交给后台 Agent 处理,前台模型继续看视频。

五、系统架构:不只是一个模型,而是一套服务

JoyAI-VL-Interaction 的官方仓库不是只放模型权重,而是把推理服务、WebUI、ASR、TTS、后台 Agent 都放在一起。小白可以先跑 minimal 模式,只启动核心视频推理和 WebUI;熟悉后再打开语音输入、语音输出和后台 Agent。

配图 3:从模型到可部署系统
服务
作用
webinfer
核心视频推理服务,暴露 OpenAI 兼容 API,管理视频帧、上下文和记忆。
webui
浏览器前端 + WebRTC,用来接摄像头或 RTSP 输入。
asr
可选语音识别,把用户语音转成文本。
tts
可选语音合成,把模型回复转成语音播放。
background-agent
可选后台 Agent,用来处理委托出来的复杂任务。

六、安装前准备

官方中文入门文档建议环境为 Linux + NVIDIA GPU,CUDA 12.x,NVIDIA Driver 535+,Python 3.12。由于它面向实时视频流,显存压力比普通文本模型更高。vLLM-Omni Recipe 中提到默认 100 帧窗口和 131072 上下文需要约 48GB+ 显存;如果只有约 24GB,需要同时降低 chunk 帧数、上下文长度和图片限制,或尝试 fp8 权重加载。

环境
建议
操作系统
Linux,官方主要按 Linux 部署说明提供脚本。
GPU
NVIDIA GPU;高显存更稳,默认配置建议 48GB+。
CUDA / 驱动
CUDA 12.x + NVIDIA Driver 535+。
Python
推荐 Python 3.12。
部署框架
vLLM / vLLM-Omni。
浏览器入口
WebUI 默认 https://127.0.0.1:8099。

七、官方仓库最小部署流程

先克隆 GitHub 仓库,然后执行官方安装脚本、下载模型权重,最后启动 minimal 核心服务。minimal 模式只启动视频推理和 WebUI,适合第一次验证。

git clone https://github.com/jd-opensource/JoyAI-VL-Interaction.git
cd JoyAI-VL-Interaction

# 安装依赖
./install/install.sh --with-all

# 下载所有模型权重
./install/download-models.sh --all

# 启动核心服务:webinfer + webui
./services/scripts/run.sh minimal

启动完成后,在浏览器打开:

https://127.0.0.1:8099

小白提醒

浏览器可能提示证书不安全,这是本地自签名 HTTPS 常见现象。确认是你自己的本机地址后,可以继续访问。

八、完整服务启动方式

如果需要语音输入、语音输出和后台 Agent,可以使用 all 模式。官方建议顺序是:webinfer → ASR → TTS → background-agent → WebUI。

# 一条命令启动完整服务集
./services/scripts/run.sh all

# 如果要关闭服务
./services/scripts/stop.sh all

完整模式中,background-agent 需要 CODEX_HOME,并要求其中包含 config.toml 和 auth.json。用于个人测试时,建议先不启用后台 Agent,确认主流程跑通后再加。

九、vLLM-Omni 在线服务方式

如果你更偏工程部署,可以参考 vLLM-Omni 的 Recipe。它把模型本身用普通 vLLM serve 启动,再在前面加一个实时交互编排层。

# 1. 启动主模型,注意这里是普通 vLLM serve,不是 --omni
vllm serve jdopensource/JoyAI-VL-Interaction-Preview \
  --served-model-name JoyAI-VL-Interaction-Preview \
  --port 8061 \
  --max-model-len 131072 \
  --enable-prefix-caching \
  --limit-mm-per-prompt '{"image":256,"video":1}'

# 2. 启动交互编排层,OpenAI 兼容接口默认 :8070
python -m vllm_omni.experimental.fullduplex.joyvl.serving.server \
  --port 8070 \
  --main-backend-url http://127.0.0.1:8061/v1 \
  --main-model JoyAI-VL-Interaction-Preview

如果显存较小,可以尝试 fp8 加载:

vllm serve jdopensource/JoyAI-VL-Interaction-Preview \
  --served-model-name JoyAI-VL-Interaction-Preview \
  --port 8061 \
  --quantization fp8 \
  --max-model-len 131072 \
  --enable-prefix-caching \
  --limit-mm-per-prompt '{"image":256,"video":1}' 

十、OpenAI 兼容接口调用示例

交互编排层提供 OpenAI 兼容接口。每个视频帧可以作为一轮请求发送,并通过 x-session-id 维持会话。返回中会包含 interaction 字段,用来表示模型本轮选择了 silence、response 还是 delegate。

curl -s http://127.0.0.1:8070/v1/chat/completions \
  -H 'x-session-id: s1' \
  -H 'content-type: application/json' \
  -d '{
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "Alert me if a fire breaks out"},
        {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}}
      ]
    }]
  }' | jq .interaction

十一、下载地址汇总,可直接复制

下面这些地址建议直接放到公众号文章里,读者可以按需复制。

配图 4:下载地址与部署入口汇总
Hugging Face 模型主页
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview

Hugging Face 文件列表
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/tree/main

模型 Git 克隆地址
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview

GitHub 官方仓库
https://github.com/jd-opensource/JoyAI-VL-Interaction

GitHub 中文 README
https://github.com/jd-opensource/JoyAI-VL-Interaction/blob/main/README.zh-CN.md

入门部署文档(中文)
https://github.com/jd-opensource/JoyAI-VL-Interaction/blob/main/doc/getting_started.zh-CN.md

系统架构文档(中文)
https://github.com/jd-opensource/JoyAI-VL-Interaction/blob/main/doc/architecture.zh-CN.md

Hugging Face 数据集
https://huggingface.co/datasets/jdopensource/JoyAI-VL-Interaction

项目演示页 / Blog
https://joyai-vl-video-future-academy-jd.github.io/JoyAI-VL-Interaction/

arXiv 论文
https://arxiv.org/abs/2606.14777

vLLM-Omni 部署 Recipe
https://github.com/vllm-project/vllm-omni/blob/main/recipes/JD/JoyAI-VL-Interaction.md

vLLM-Omni 仓库
https://github.com/vllm-project/vllm-omni

模型分片直链
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/model-00001-of-00004.safetensors
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/model-00002-of-00004.safetensors
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/model-00003-of-00004.safetensors
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/model-00004-of-00004.safetensors
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/model.safetensors.index.json
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/config.json
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/tokenizer.json
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/video_preprocessor_config.json

十二、模型文件直链

如果读者不熟悉 git lfs,也可以使用 Hugging Face 的 resolve 地址下载主要文件。模型较大,推荐使用支持断点续传的下载工具。

https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/model-00001-of-00004.safetensors
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/model-00002-of-00004.safetensors
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/model-00003-of-00004.safetensors
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/model-00004-of-00004.safetensors
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/model.safetensors.index.json
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/config.json
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/tokenizer.json
https://huggingface.co/jdopensource/JoyAI-VL-Interaction-Preview/resolve/main/video_preprocessor_config.json

十三、适合做什么产品?

应用方向
说明
安防监控助手
实时看摄像头,发现火情、跌倒、异常动作时主动提醒。
直播间 AI 解说
根据画面变化自动生成讲解、弹幕或旁白。
教学/演示助手
看着 PPT 或屏幕操作,按节奏进行解释。
App 操作陪跑
跟随手机屏幕变化,一步步指导用户完成操作。
工厂质检/现场巡检
检测可见异常并及时提示人工处理。
桌面 Agent 视觉层
让本地 Agent 不只读文本,还能持续观察屏幕变化。

十四、局限和注意事项

第一,它是 8B/9B 级别的开放模型,不要把它理解成万能的超大模型。官方也提醒,Doubao 和 Gemini 背后是更大规模、更成熟的产品系统,JoyAI-VL-Interaction 的优势主要在视觉触发主动性、实时在场和时间感知这些场景。

第二,实时视频流非常吃显存和系统资源。普通 8GB、12GB 显卡不建议直接上完整默认配置。小显存机器可以降低帧窗口、上下文长度和图片数量,或者尝试 fp8。

第三,真实监控、医疗、安全生产等场景不能完全依赖模型判断。它适合作为辅助提醒,最终处置仍应由人类或专业系统确认。

十五、总结

JoyAI-VL-Interaction 最有意思的地方,不是又多了一个视频理解模型,而是把多模态 AI 从“等你问”推向“持续在场”。

它让模型学会三件很关键的事:重要时主动说,不重要时保持安静,复杂时委托后台 Agent。对于实时监控、直播解说、桌面视觉 Agent、App 操作陪跑等方向,这套思路非常值得关注。

最终结论

如果你想研究下一代实时多模态 Agent,JoyAI-VL-Interaction 值得重点收藏。它不是普通 OCR,也不是普通图片问答,而是面向“实时世界”的视觉语言交互模型。