MiniCPM-V MiniCPM-V & o Cookbook

MiniCPM-V 4.7 β€” Overview

The latest release in the MiniCPM-V series, in two sizes: an edge-friendly 1B and a sparse Mixture-of-Experts 35B-A3B.

Models

Checkpoint Size Language backbone Context
openbmb/MiniCPM-V-4.7-1B 1.55 B qwen3_5_text (dense) 256K
openbmb/MiniCPM-V-4.7-35B-A3B 35.2 B total Β· ~3.5 B active qwen3_5_moe_text (256 experts, 8/token) 256K

Both share the same SigLIP-based canvas M-RoPE vision tower (27 layers, patch 14, mixed 4Γ—/16Γ— token compression) and support single-image, multi-image and video understanding. The 1B model is the edge/on-device tier; the 35B-A3B model is the high-throughput serving tier.

What's new in 4.7

Quick start (HF Transformers)

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

model_path = "openbmb/MiniCPM-V-4.7-1B"   # or "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":  "Describe the image."},
]}]
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))

Thinking mode

The chat template enables a <think> block by default. To turn it off (recommended for plain assistant replies), pass:

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)

Deployment

Framework Status Entry
vLLM Supported upstream (PR #58674) vllm serve
SGLang Via fork tc-mb/sglang (branch Support-MiniCPM-V4.7); not upstream yet sglang.launch_server
llama.cpp Supported upstream (PR #29416) llama-mtmd-cli / llama-server
Ollama Model code ready; runtime awaits the bundled llama.cpp catching up to #29416 ollama create -f

Quantization

Format 1B 35B-A3B Repository suffix
GGUF βœ… βœ… -gguf
BNB (int4) βœ… βœ… -int4
AWQ βœ… βœ… -AWQ
GPTQ βœ… βœ… -GPTQ
FP8 β€” βœ… -FP8 (llm-compressor)

Model repositories

Where to next