
NInfer 多模态推理实战图像与视频 prompt 如何一步到位【免费下载链接】ninferHigh-performance single-GPU inference for selected model checkpoints and GPUs.项目地址: https://gitcode.com/gh_mirrors/ni/ninferNInfer 是一款面向单卡 GPU 的高性能推理引擎原生支持 Qwen 系列模型的文字、图像与视频多模态推理。本文带你从零掌握 NInfer 多模态推理只需一条命令加上一个 JSON 文件就能让模型看懂图表、识别自然场景、理解视频事件顺序并给出可验证的答案。NInfer 多模态推理能做什么NInfer 的多模态能力对外的接口非常统一——无论文字、图片还是视频都走同一套messages 结构化输入你不需要为看图单独学一套 API。官方示例目录 examples/cli/ 内置了一组可离线运行的标准用例覆盖️单图理解读图表标题、数图形数量、判断空间位置视频时序理解识别哪个物体移动、事件先后顺序、末尾标记数字⚖️多图对比两张图同时输入比较差异图文混合一张静态图 一段视频 多段文字指令交叉引用多模态推理题从两张图、一段视频中读取独立事实并计算校验值所有示例媒体都是项目自制的确定性画面固定像素、固定帧运行结果可精确对照适合新手复现。用例清单与预期输出见 examples/cli/manifest.json。第一步开启 Vision 多模态推理开关NInfer 出于显存优化考虑默认不加载视觉权重。想让模型处理图片或视频只需在启动时加上--vision参数./build/apps/ninfer models/qwen3_6_27b.ninfer \ --messages examples/cli/messages/image_chart.json \ --max-context 8192 --max-new 128 --kv-dtype fp8 \ --vision两个新手要点Vision 是启动期冻结的能力——启动时不加--vision之后就无法对媒体请求热开启请求会直接报vision_disabledVision 与投机解码MTP / DFlash可以同时开启它们会加速多模态 prefill 之后的文本解码但不会加速视觉编码本身。第二步图像 prompt 的写法一条图像请求就是一个 JSON 数组图片用type: image片段引用后面跟一条文字指令即可。下面这个例子来自 examples/cli/messages/image_chart.json指令要求模型读标题、数红色圆形、判断蓝色方块的方位[ { role: user, content: [ { type: image, image: examples/cli/media/visual_chart.png }, { type: text, text: 读取图中的标题数出红色圆形并判断蓝色方块在绿色三角形的哪一侧。 } ] } ]模型的标准输出为NIFER VISION 7313左侧三个事实一次到位。图片来源支持三种形式本地路径、HTTP(S) URL、base64 data URI——本地路径在命令行模式下最省事跑相对路径时记得在仓库根目录执行命令。自然场景类图片同样适用。例如下图出自 examples/cli/messages/image_natural.json 用例模型能准确读出邮箱上的数字24并指出太阳位于画面右侧第三步视频 prompt 与时序理解视频走type: video片段接口与图片完全对称。官方时序用例examples/cli/messages/video_temporal.json用的是一段 5 秒、8 FPS、40 帧 H.264 的自制动画一条指令同时问四个时序问题哪个物体发生移动绿色数字是什么数字首次出现时蓝色方块是否仍可见末尾标记中的数字是什么预期输出为红圈移动3是9——物体运动、事件顺序、帧间可见性、结尾标记全部答对。这正是视频多模态推理与静态图理解的关键差异prompt 要问发生了什么而不只是看到了什么。进阶多图对比与图文混合 prompt多图对比——把两张图放进同一条消息让模型跨图比较示例见 examples/cli/messages/multi_image_compare.json。下面左右两图来自同一个对比用例右图比左图多一个黄色星星图文混合——最一步到位的玩法是单条消息里交替排列文字、图片、视频片段示例见 examples/cli/messages/mixed_image_video.json先从图中读标题第一个单词再从视频末尾读 END 标记数字最后把两者拼成NIFER-9。文本片段在数组里可以任意穿插模型会按顺序引用前文出现的每个媒体片段。部署上线用 HTTP 服务对外提供多模态推理命令行跑通之后部署成服务只需把 CLI 换成 ninfer-serve。启动时同样加--vision即可获得兼容 OpenAI / Anthropic 的 HTTP 端点POST /v1/chat/completions图片用image_url片段、视频用video_url扩展URL 或 data URI 均可POST /v1/messagesAnthropic 风格消息接口GET /v1/models、GET /health模型别名与就绪检查仓库里还附了一个现成脚本 examples/cli/send_to_serve.py把任意 CLI messages JSON含本地图片/视频自动转成标准请求发给服务本地文件会在客户端编码为 data URI服务器永远收不到文件系统路径。python3 -m examples.cli.send_to_serve \ examples/cli/messages/image_chart.json \ --base-url http://127.0.0.1:8080 --model qwen3.6-27b --no-thinking --max-tokens 64新手避坑清单坑说明忘记--vision任何媒体请求都会返回vision_disabledCLI 直接报错HTTP 返回 400相对路径跑不了messages 里的媒体路径是仓库相对路径请在仓库根目录执行或用--media-root指定基准目录上下文预算不足视觉 token 会显著膨胀 prompt 长度图像/视频场景请把--max-context放宽示例用 8192 起步用错 KV 精度长上下文多模态请求建议--kv-dtype fp8或int8节省显存期望投机解码加速视觉编码MTP/DFlash 只加速文本解码Vision encode 阶段不走投机路径更多运行细节可查 docs/cli.md 与 examples/cli/README.md视觉权重在 artifact 中的组织方式见 docs/maintainer/qwen3_5-model.md媒体解码实现位于 src/media/decode/ 目录。一句话总结在 NInfer 里做多模态推理 --vision开关 一个 messages JSON。图片、视频、混合输入共用同一套 prompt 结构CLI 与 HTTP 服务无缝切换这就是一步到位的全部含义。【免费下载链接】ninferHigh-performance single-GPU inference for selected model checkpoints and GPUs.项目地址: https://gitcode.com/gh_mirrors/ni/ninfer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考