首页 / 资讯中心 / 文章详情

North-Micro-Vision-Instruct-bf16 对话模板(Chat Template)深度解读:如何正确构造多模态提示词

North-Micro-Vision-Instruct-bf16 对话模板(Chat Template)深度解读:如何正确构造多模态提示词 ★ FEATURED ARTICLE
【免费下载链接】North-Micro-Vision-Instruct-bf16项目地址https://ai.gitcode.com/hf_mirrors/mlx-community/North-Micro-Vision-Instruct-bf16点击查看免费下载North-Micro-Vision-Instruct-bf16 是运行在 Apple MLX 框架上的多模态视觉语言模型VLMBF16 版本。本文深入解读它的对话模板Chat Template工作机制教你正确构造图片 视频 文本混合的多模态提示词让模型真正看懂你输入的内容。 一句话理解对话模板是人类自然语言与模型 token 序列之间的翻译层。你写的每一句提示词最终都会被模板加工成一串带角色标记和视觉占位符的特殊符号。翻译对了模型才听得懂。对话模板是什么多模态提示词背后的翻译机制打开 chat_template.jinja这是一个 Jinja2 模板。它的工作流程可以概括为 3 步以BOS_TOKEN开头起始标记见 tokenizer_config.json逐条遍历消息为每条消息套上角色令牌外壳在结尾追加助手起始令牌当add_generation_prompt为真时告诉模型该你回答了BOS_TOKEN |START_OF_TURN_TOKEN||SYSTEM_TOKEN| 系统指令 |END_OF_TURN_TOKEN| |START_OF_TURN_TOKEN||USER_TOKEN| 图片问题 |END_OF_TURN_TOKEN| |START_OF_TURN_TOKEN||CHATBOT_TOKEN| ← 从这里开始生成回答这种每句话都被 START/END 令牌包裹的设计让模型能精确知道谁说的、说到哪结束了。三大角色令牌system / user / assistant 如何划分对话模板为三种角色分配了专属令牌规则如下表消息角色角色令牌内容处理规则system|SYSTEM_TOKEN|支持字符串或内容块列表仅提取其中的textuser|USER_TOKEN|支持图文混排自动识别image/video/text块assistant或chatbot|CHATBOT_TOKEN|仅提取text忽略图像内容⚠️ 注意两个易踩的坑助手角色同时兼容assistant和chatbot两种写法只有user 消息会处理图像和视觉占位符其他角色里塞图片是无效的模型如何看见图片IMAGE_PAD 占位符工作原理这是整个模板最精妙的设计。在 chat_template.jinja 中user 消息的内容块会被这样处理内容块类型生成的占位符序列type image或含image/image_url字段\|VISION_START\|\|IMAGE_PAD\|\|VISION_END\|type video或含video字段\|VISION_START\|\|VIDEO_PAD\|\|VISION_END\|含text字段原样输出文本关键机制模板里只写入一个|IMAGE_PAD|占位符随后由处理器CohereCompassImageProcessor把图片切分为16×16的像素块patch_size: 16再按2×2合并merge_size: 2最终把这个占位符展开成几十个图像 token。这也解释了为什么 processor_config.json 里有像素上下限min_pixels: 16384—— 图片太小会被放大避免丢细节max_pixels: 3868706—— 图片太大会被压缩控制视觉 token 数量 结论你不需要手动数占位符只要消息结构正确processor 会自动完成1 个占位符 → N 个图像 token的展开。正确构造多模态提示词图文混排消息的标准写法这些视觉令牌在 special_tokens_map.json 和 tokenizer_config.json 中有完整定义。按模板规则一条看图说话的标准消息结构如下{ messages: [ { role: user, content: [ { type: image, image: /path/to/photo.jpg }, { text: 描述这张图片的内容 } ] } ] }✅ 构造多模态提示词的 5 条军规content 用列表形式传图文混排纯文本对话可以直接传字符串图像块字段必须是type: image或键名里含image/image_url模板用这三者判断见 chat_template.jinja图像块在前、文字块在后顺序即模型阅读的顺序系统指令放在system消息里用来设定回答风格如你是一位严谨的图像分析师生成时由模板自动追加|CHATBOT_TOKEN|起始标记不要自己手写 用 mlx-vlm 命令行跑通时提示词通过--prompt传入即可底层同样走这套模板mlx_vlm.generate \ --model mlx-community/North-Micro-Vision-Instruct-bf16 \ --image /path/to/image.jpg \ --prompt Describe this image. \ --max-tokens 512 \ --temperature 0.0完整命令见 README.md。视频输入写法VIDEO_PAD 与图片的区别模板对视频的支持与图片完全对称只需把内容块换成{ type: video, video: /path/to/video.mp4 }生成序列变为|VISION_START||VIDEO_PAD||VISION_END|。视频处理由 video_preprocessor_config.json 控制允许更大的像素预算最长边上限 25165824并带temporal_patch_size: 2的时间轴切帧参数——即相邻 2 帧共享一个时间块让模型理解画面随时间的变化。生成参数速查让输出更稳定的配置模板决定了输入长什么样generation_config.json 则决定输出长什么样。本模型默认采样参数参数默认值作用do_sampletrue开启随机采样temperature0.7数值越低越确定top_p0.8核采样截断top_k20每步只从概率最高的 20 个 token 里选实用建议图像描述、信息提取等追求准确的任务 → 用--temperature 0.0贪心解码结果可复现README 推荐方式创意描述、开放式问答→ 保持默认0.7回答更自然多样关键文件路径速查表文件作用chat_template.jinja对话模板核心角色令牌、视觉占位符注入逻辑special_tokens_map.json视觉特殊 token 清单VISION_START / IMAGE_PAD / VIDEO_PAD 等tokenizer_config.json分词器配置含image_token、video_token映射processor_config.json图像处理器参数patch 切分、像素上下限video_preprocessor_config.json视频帧处理参数generation_config.json默认生成参数temperature / top_p / top_kconfig.json模型架构与词表规模vocab 262144总结掌握 North-Micro-Vision-Instruct-bf16 的多模态提示词构造核心就三点——角色令牌分好角色、内容块写对类型、生成参数按任务调。模板会自动完成视觉占位符的展开与助手标记的追加你只需专注于把问题本身问清楚。赞分享【免费下载链接】North-Micro-Vision-Instruct-bf16项目地址https://ai.gitcode.com/hf_mirrors/mlx-community/North-Micro-Vision-Instruct-bf16点击查看免费下载相关推荐North-Micro-Vision-Instruct-mxfp4多模态进阶视频理解与多图对话的10个实用技巧North Micro Vision Instruct mxfp4多模态进阶视频理解与多图对话的10个实用技巧 North Micro Vision InstMLX量化选型终极指南North-Micro-Vision-Instruct-mxfp4 vs BF16 vs NVFP44bit模型到底选哪个MLX量化选型终极指南North Micro Vision Instruct mxfp4 vs BF16 vs NVFP44bit模型到底选哪个 正在为Cohere Compass架构拆解North-Micro-Vision-Instruct-mxfp4如何实现50万Token超长上下文Cohere Compass架构拆解North Micro Vision Instruct mxfp4如何实现50万Token超长上下文 North Micr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站