JoyAI-VL-Interaction-AutoDL部署教程
JoyAI-VL-Interaction 在 AutoDL 上的完整部署教程本教程记录了在 AutoDL 单卡vGPU-48GB / RTX 4090 48G上从零部署京东开源的 JoyAI-VL-Interaction 实时视觉语言交互模型并成功让模型分析自定义视频的全过程。已踩平所有坑照着走即可。零、环境与前提项目地址https://github.com/jd-opensource/JoyAI-VL-Interaction这个项目只能跑在 Linux NVIDIA GPU 上底层是 vLLM vLLM-Omni不支持原生 Windows。本教程实测环境AutoDL 实例单张 vGPU-48GBRTX 4090 48G 显存版CPU 25 核 / 内存 92GB / 系统盘 30G / 数据盘 50G镜像PyTorch 2.x CUDA 12.xPython 3.12vLLM 版本0.22.0显存说明这套系统默认是为双卡设计的主模型一张卡、摘要模型一张卡。单卡要跑通核心技巧是跳过摘要模型见第六步。如果你租的是双卡可以直接用官方默认配置省去大量调参。四个模型总大小约 33GB模型大小作用JoyAI-VL-Interaction-Preview主模型8B~17.5G核心视觉交互Qwen3-VL-4B-Instruct摘要模型~8.9G长期记忆压缩单卡可跳过Qwen3-ASR-1.7B~3.5G语音输入可选Qwen3-TTS-1.7B~3.5G语音输出可选一、租实例与省钱下载1.1 选实例GPU单张 48G 显存的卡最省心能一卡跑通。若选 24G 卡需更激进地砍参数。镜像选 PyTorch CUDA 12.x 基础镜像。数据盘50G 基本够模型 33G 依赖紧张的话扩到 60-100G。1.2 【省钱关键】用无卡模式下载GPU 模式按小时计费如 3 元/时而下载模型用不到 GPU。做法实例创建后先关机用无卡模式开机约 0.1 元/时在无卡模式下完成 clone 代码、装依赖、下载模型全部下完再关机切换回 GPU 模式跑服务⚠️坑无卡模式内存小下载 17.5G 主模型时可能被 OOM 杀掉报Killed。若遇到改用 GPU 模式下载内存大或用后面的 hf-mirror 单线程方案。二、装依赖2.1 所有数据放数据盘cd/root/autodl-tmpgitclone https://github.com/jd-opensource/JoyAI-VL-Interaction.gitcdJoyAI-VL-Interaction⚠️坑模型和数据必须放数据盘/root/autodl-tmp/。官方默认路径是/tmp/models但 AutoDL 的/tmp在 30G 的系统盘上会撑爆。后面所有模型路径都要手动指到数据盘。2.2 装依赖关键网络方向别搞反# 装国内 pip 包 → 必须【关闭】学术加速代理unsethttp_proxy https_proxy HTTP_PROXY HTTPS_PROXY# uv 配置国内镜像 拉长超时 copy 模式 缓存放数据盘exportUV_DEFAULT_INDEXhttps://mirrors.aliyun.com/pypi/simple/exportUV_HTTP_TIMEOUT600exportUV_LINK_MODEcopyexportUV_CACHE_DIR/root/autodl-tmp/.uv-cache ./install/install.sh --with-all⚠️坑学术加速代理会拖垮国内 pip 源。source /etc/network_turbo是为了下 GitHub/HuggingFace 的装国内 pip 包时必须先unset关掉否则大 wheel如 av、opencv会超时失败error decoding response body。记忆口诀装 pip 包 → 关代理unset下 HuggingFace 模型 → 开代理network_turbo。方向正好相反。装完后.uv-cache可占用 9G装完可删释放空间rm-rf/root/autodl-tmp/.uv-cache三、下载模型3.1 激活环境每次新终端都要做source/root/autodl-tmp/JoyAI-VL-Interaction/services/.venv/bin/activate确认命令行前面出现(.venv)前缀。3.2 下载推荐 hf-mirror 关 XetexportHF_ENDPOINThttps://hf-mirror.comexportHF_HUB_DISABLE_XET1# 关键关掉 Xet否则 401 报错exportMODEL_PATH/root/autodl-tmp/models/JoyAI-VL-Interaction-PreviewexportSUMMARY_MODEL_PATH/root/autodl-tmp/models/Qwen3-VL-4B-Instruct /root/autodl-tmp/JoyAI-VL-Interaction/install/download-models.sh--all⚠️坑 1Xet 协议 401 错误。新版 huggingface_hub 默认走 Xet 下载hf-mirror 认证不了会报401 Unauthorized。必须export HF_HUB_DISABLE_XET1退回传统 HTTP 下载。⚠️坑 2hf-mirror 大文件卡住。公益镜像高峰期单个大文件可能卡死。若卡住CtrlC后重跑自动断点续传。备选Qwen 系列用 ModelScope 更快国内满速pipinstall-ihttps://mirrors.aliyun.com/pypi/simple/ modelscope modelscope download--modelQwen/Qwen3-VL-4B-Instruct--local_dir/root/autodl-tmp/models/Qwen3-VL-4B-Instruct3.3 验证模型完整du-sh/root/autodl-tmp/models/*主模型约 17.5G、Qwen3-VL-4B 约 8.9G数值接近即完整。四、切换 GPU 模式理解显存机制下载完成后关机 → GPU 模式开机。关键认知vLLM 显存机制gpu_memory_utilization是按整张卡算的百分比不是按剩余显存。单卡跑两个模型时谁先启动谁按百分比圈走显存容易把后启动的挤到没有 KV cache报负数。主模型加载占 16.65Gmax_model_len默认 13107212万上下文光 KV cache 就要 18G是显存杀手。五、清理显存的通用操作反复要用每次启动失败后vLLM 进程常残留占着显存重启前必须清干净否则新进程抢不到显存# 杀掉所有占 GPU 的进程nvidia-smi --query-compute-appspid--formatcsv,noheader|xargs-rkill-9pkill-9-flive_adaptersleep3# 必须确认显存归零0MiB / xxxxxMiBNo running processes foundnvidia-smi⚠️坑pkill -9 -f vllm有时杀不干净进程名是大写VLLM::EngineCore。用上面nvidia-smi --query-compute-apps抓 PID 的方式最可靠。看到 0MiB 才能重启。六、【核心】单卡启动服务跳过摘要模型单卡无法同时跑主模型 摘要模型显存互抢摘要 KV cache 永远负数。解法把摘要健康检查指向主模型端口跳过它。摘要只负责长期记忆压缩跳过不影响实时视觉交互。先按第五步清干净显存确认0MiB后source/root/autodl-tmp/JoyAI-VL-Interaction/services/.venv/bin/activatecd/root/autodl-tmp/JoyAI-VL-InteractionexportMODEL_PATH/root/autodl-tmp/models/JoyAI-VL-Interaction-PreviewexportSUMMARY_MODEL_PATH/root/autodl-tmp/models/Qwen3-VL-4B-InstructexportMAIN_GPU0exportSUMMARY_GPU0exportMAX_MODEL_LEN32768# 砍上下文省显存默认 131072 太大exportMAIN_GPU_MEMORY_UTILIZATION0.85# 主模型独占大显存exportSUMMARY_PORT7060# 【关键】跳过摘要指向主模型端口./services/scripts/run.sh minimal原理脚本用wait_for_http检查http://127.0.0.1:${SUMMARY_PORT}/v1/models来判断摘要是否就绪。把SUMMARY_PORT设成 7060主模型端口这个检查会去查活着的主模型秒过脚本直接启动 WebUI不再等永远起不来的摘要。启动成功的标志日志依次出现Ready: webinfer main model. Ready: webinfer summary model. ← 跳过检查秒过 Ready: webinfer adapter. [2/2] Started WebUI. Running on https://0.0.0.0:8099主模型Available KV cache memory是正的十几 G即正常。这个窗口是前台运行 WebUI别关。⚠️坑单卡各种显存报错汇总Available KV cache memory: -X GiB/No available memory→ 摘要和主模型抢显存。单卡用上面的跳过摘要方案解决。max seq len (131072) needs 18 GiB KV cache→max_model_len太大砍到 32768。address already in use (8070)→ 上次的适配器进程没退按第五步清干净重启。双卡用户更简单不用跳过摘要直接export SUMMARY_GPU1用官方默认主模型 GPU 0、摘要 GPU 1 各占一张卡无需调参。七、连接浏览器SSH 隧道WebUI 跑在服务器的https://127.0.0.1:8099且需要 localhost 才能获得摄像头权限。用SSH 隧道转发在本地电脑不是服务器新开终端把 AutoDL 控制台的 SSH 登录指令加上端口转发ssh-p你的端口-L8099:127.0.0.1:8099 root你的AutoDL主机名保持这个窗口开着本地浏览器打开https://localhost:8099过掉自签证书警告“高级” → “继续前往”即可看到界面。⚠️重要提示SSH 隧道传不了 WebRTC。这个 WebUI 的实时画面无论摄像头还是 RTSP都通过 WebRTC 回传浏览器而 WebRTC 走 UDP ICE 打洞穿不过只转发 TCP 的 SSH 隧道。表现为画面几秒就断、0 frames received、ICE connection state: checking卡住。所以在纯 SSH 隧道下浏览器里看不到实时画面预览。但这不影响模型工作——见第九步用命令行直接验证模型效果。八、可选RTSP 推流分析视频文件比起摄像头用视频文件推 RTSP 更适合云端。流在服务器内部生成和消费但画面预览仍受 WebRTC 限制无法回传浏览器模型分析本身正常。8.1 装 MediaMTX 和 ffmpegcd/root/autodl-tmpsource/etc/network_turbowgethttps://github.com/bluenviron/mediamtx/releases/download/v1.19.2/mediamtx_v1.19.2_linux_amd64.tar.gztar-xzfmediamtx_v1.19.2_linux_amd64.tar.gzunsethttp_proxy https_proxyaptupdateaptinstall-yffmpeg⚠️坑MediaMTX 端口冲突。默认它会开 HLS(8888)、RTMP(1935) 等端口任一被占就整个退出。精简配置只留 RTSPcat/root/autodl-tmp/mediamtx.ymlEOF rtsp: yes rtspAddress: :8554 rtmp: no hls: no webrtc: no srt: no paths: all_others: EOF8.2 启动推流各开一个终端都要保持运行# 终端 A启动 RTSP 服务器cd/root/autodl-tmp./mediamtx# 终端 B把视频循环推成 RTSP 流-an 去音频cd/root/autodl-tmp ffmpeg-re-stream_loop-1-i1.mp4-ccopy-an-frtsp rtsp://127.0.0.1:8554/live8.3 WebUI 填地址Video Source → RTSP Stream tab → 填rtsp://127.0.0.1:8554/live→ Start。显示✅ Connected!即后端已读到流但画面预览仍受 WebRTC 限制。九、【推荐】命令行直接验证模型效果绕开 WebRTC直接把视频帧发给主模型看分析效果。这是纯 SSH 隧道下验证模型能力最可靠的方式。9.1 从视频抽一帧cd/root/autodl-tmp ffmpeg-i1.mp4-vfselecteq(n\,100)-frames:v1frame.jpg9.2 发给模型分析source/root/autodl-tmp/JoyAI-VL-Interaction/services/.venv/bin/activatecd/root/autodl-tmp python3EOF import base64, requests, json with open(frame.jpg, rb) as f: img_b64 base64.b64encode(f.read()).decode() resp requests.post( http://127.0.0.1:7060/v1/chat/completions, json{ model: JoyAI-VL-Interaction-Preview, messages: [{ role: user, content: [ {type: text, text: 详细描述这张图片里的内容}, {type: image_url, image_url: {url: fdata:image/jpeg;base64,{img_b64}}} ] }], max_tokens: 512 }, timeout60 ) print(resp.json()[choices][0][message][content]) EOF改text那句就能问不同问题例如做 SOP 检测“这位工人的操作是否规范有没有遗漏防护措施”十、停止服务与省钱跑服务的窗口CtrlC停止或./services/scripts/stop.sh all。测完立刻去 AutoDL 控制台关机——GPU 模式一直烧钱。模型已在数据盘下次无卡开机 → GPU 开机 → 直接第六步启动不用重下。附关键环境变量速查变量值说明MODEL_PATH/root/autodl-tmp/models/JoyAI-VL-Interaction-Preview主模型路径放数据盘SUMMARY_MODEL_PATH/root/autodl-tmp/models/Qwen3-VL-4B-Instruct摘要模型路径MAIN_GPU/SUMMARY_GPU0/0单卡或0/1双卡GPU 分配MAX_MODEL_LEN32768主模型上下文默认 131072 太大MAIN_GPU_MEMORY_UTILIZATION0.85单卡跳过摘要主模型显存配额SUMMARY_PORT7060单卡跳过摘要的关键HF_ENDPOINThttps://hf-mirror.com下载用镜像HF_HUB_DISABLE_XET1下载时关 Xet 防 401附常见报错速查现象原因解决error decoding response body装依赖学术加速代理拖垮国内源unset http_proxy https_proxyKilled下模型无卡模式内存不足 OOM换 GPU 模式下或--max-workers 1401 Unauthorized下模型Xet 协议export HF_HUB_DISABLE_XET1No available memory for cache blocks单卡双模型抢显存跳过摘要SUMMARY_PORT7060max seq len needs X GiB KV cache上下文太大MAX_MODEL_LEN32768address already in use旧进程残留占端口第五步清进程failed to be inspected/ NVMLInvalid Argument摘要摘要被分到不存在的 GPU 1单卡设SUMMARY_GPU0画面几秒就断 /0 frames receivedWebRTC 穿不过 SSH 隧道用第九步命令行验证模型本教程基于 2026 年 7 月实测整理vLLM 0.22.0 / MediaMTX 1.19.2。项目为 Preview 版模型本身可能仍有更新遇到未知问题可查仓库 Issues。

相关新闻

grunt-contrib-copy 错误排查手册:常见问题与解决方案

grunt-contrib-copy 错误排查手册:常见问题与解决方案

grunt-contrib-copy 错误排查手册:常见问题与解决方案 【免费下载链接】grunt-contrib-copy Copy files and folders. 项目地址: https://gitcode.com/gh_mirrors/gr/grunt-contrib-copy 你是否在使用grunt-contrib-copy时遇到文件复制失败的问题&#xff1f…

2026/7/21 19:17:08 阅读更多 →
Wwise音频文件终极解密:免费工具解锁游戏音频修改新境界

Wwise音频文件终极解密:免费工具解锁游戏音频修改新境界

Wwise音频文件终极解密:免费工具解锁游戏音频修改新境界 【免费下载链接】wwiseutil Tools for unpacking and modifying Wwise SoundBank and File Package files. 项目地址: https://gitcode.com/gh_mirrors/ww/wwiseutil 你是否曾想过修改游戏中的音效和背…

2026/7/21 19:17:09 阅读更多 →
5个理由告诉你:为什么这款免费开源卡拉OK游戏值得你立即尝试

5个理由告诉你:为什么这款免费开源卡拉OK游戏值得你立即尝试

5个理由告诉你:为什么这款免费开源卡拉OK游戏值得你立即尝试 【免费下载链接】USDX The free and open source karaoke singing game UltraStar Deluxe, inspired by Sony SingStar™ 项目地址: https://gitcode.com/gh_mirrors/us/USDX 还在为寻找完美的家庭…

2026/7/21 13:34:48 阅读更多 →

最新新闻

华为Mate90 16:10屏幕技术解析与用户体验

华为Mate90 16:10屏幕技术解析与用户体验

1. 华为Mate90屏幕技术突破解析 当华为Mate90采用16:10屏幕比例的消息传出时,整个移动设备行业都为之一震。这种看似微小的比例调整,背后却蕴含着对用户体验的深度思考和技术积累。16:10这个"非主流"比例在笔记本领域早已证明其价值&#xff0…

2026/7/22 10:31:43 阅读更多 →
读懂AI智能体下半场:从“懂行业”到“稳执行”的五层能力栈

读懂AI智能体下半场:从“懂行业”到“稳执行”的五层能力栈

什么是智能体?云厂商把模型、知识库和工作流装进一套开发平台;行业软件公司让智能体进入财务、金融和企业管理系统;一些垂直应用厂商直接瞄准营销、客服、风控等具体业务;还有一批从RPA和流程自动化走出来的公司,试图解…

2026/7/22 10:31:43 阅读更多 →
2026年,专业核酸标准物质品牌都有哪些值得关注?

2026年,专业核酸标准物质品牌都有哪些值得关注?

在生物科技迅猛发展的当下,核酸标准物质在科研、医疗、检测等领域的重要性日益凸显。2026年,有几个专业核酸标准物质品牌值得我们重点关注。北纳生物(BNCC)北纳生物成立于2010年,是一家专注于实验细胞、微生物菌种、微…

2026/7/22 10:31:43 阅读更多 →
解决Docker部署etcd的权限问题与生产实践

解决Docker部署etcd的权限问题与生产实践

1. 项目概述与核心问题定位最近在容器化环境中部署etcd时,遇到了一个典型的权限问题:容器启动时报错"permission denied"无法访问数据目录。这个问题看似简单,却涉及到Docker安全模型、文件系统权限和etcd运行机制的交叉领域。经过…

2026/7/22 10:31:43 阅读更多 →
AI大模型人才转型:核心能力与实战路线

AI大模型人才转型:核心能力与实战路线

1. 行业现象解析:大模型人才缺口与就业困境的矛盾 2023年被称为AI大模型元年,央视财经报道显示国内AI大模型相关岗位缺口高达百万级,但与之形成鲜明对比的是,大量转型学习大模型技术的求职者却面临"投递无门"的困境。作…

2026/7/22 10:31:43 阅读更多 →
Cesium GPU粒子系统:大规模动态数据流畅可视化实战

Cesium GPU粒子系统:大规模动态数据流畅可视化实战

在三维地球可视化项目中,你是否遇到过这样的场景:想要展示风场流动、污染物扩散、或者海洋洋流运动,却发现传统的标记点和线框动画显得生硬且性能低下?特别是在处理大规模动态数据时,CPU计算的粒子系统往往卡顿明显&am…

2026/7/22 10:30:43 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统,尤其是像TI C6000系列这样的高性能DSP开发中,我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动,但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案? 在数字化协作环境中,消息通知系统的重要性不言而喻明。但现实情况是,企业级通知方案往往需要复杂的API对接(如企业微信、钉钉、飞书),个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点",乙方听到的是"少做几页"。甲方说"不要太复杂",乙方理解成"别放图表了"。结果交过去,甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里,是…

2026/7/22 0:00:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 8:25:39 阅读更多 →

月新闻