MiniCPM-V MiniCPM-V & o Cookbook

MiniCPM-V 4.7 — 概览

MiniCPM-V 系列最新一代,提供两个尺寸:端侧友好的 1B 与稀疏 MoE 的 35B-A3B。

模型

Checkpoint 参数量 语言骨干 上下文
openbmb/MiniCPM-V-4.7-1B 1.55 B qwen3_5_text(dense) 256K
openbmb/MiniCPM-V-4.7-35B-A3B 35.2 B 总 · ~3.5 B 激活 qwen3_5_moe_text(256 专家,8/token) 256K

两者共用同一套 SigLIP canvas M-RoPE 视觉塔(27 层,patch 14,4×/16× 混合压缩), 均支持单图、多图与视频理解。1B 面向端侧/低资源,35B-A3B 面向高吞吐服务。

4.7 的新特性

快速开始(HF Transformers)

import torch
from PIL import Image
from transformers import AutoProcessor, AutoModelForImageTextToText

model_path = "openbmb/MiniCPM-V-4.7-1B"   # 或 "openbmb/MiniCPM-V-4.7-35B-A3B"
processor = AutoProcessor.from_pretrained(model_path)
model = AutoModelForImageTextToText.from_pretrained(
    model_path, dtype="auto", device_map="auto",
).eval()

image = Image.open("example.jpg").convert("RGB")
messages = [{"role": "user", "content": [
    {"type": "image", "image": image},
    {"type": "text",  "text":  "描述这张图片。"},
]}]
inputs = processor.apply_chat_template(
    messages, add_generation_prompt=True, tokenize=True,
    return_dict=True, return_tensors="pt",
).to(model.device)

out = model.generate(**inputs, max_new_tokens=256)
print(processor.decode(out[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))

思考模式

对话模板默认开启 <think> 块。如需关闭(普通问答建议关闭):

inputs = processor.apply_chat_template(
    messages, add_generation_prompt=True, tokenize=True,
    return_dict=True, return_tensors="pt",
    chat_template_kwargs={"enable_thinking": False},
).to(model.device)

部署

框架 状态 入口
vLLM 上游已支持(PR #58674) vllm serve
SGLang 走 fork tc-mb/sglang(分支 Support-MiniCPM-V4.7);上游暂未支持 sglang.launch_server
llama.cpp 上游已支持(PR #29416) llama-mtmd-cli / llama-server
Ollama 模型代码已就绪;运行时待其内置 llama.cpp 同步到 #29416 ollama create -f

量化

格式 1B 35B-A3B 仓库后缀
GGUF ✅ ✅ -gguf
BNB (int4) ✅ ✅ -int4
AWQ ✅ ✅ -AWQ
GPTQ ✅ ✅ -GPTQ
FP8 — ✅ -FP8(llm-compressor)

模型仓库

下一步