Courses
视觉语言模型(VLMs)正迅速变革各行各业,使 AI 系统能够同时理解并推理图像与文本。与传统计算机视觉模型不同,现代 VLM 能解读复杂图像、回答与视觉内容相关的细致问题,甚至可处理包含嵌入文本的视频与文档。
这一特性使其在医疗诊断、自动化质量控制以及对精度要求高于速度的敏感场景中极具价值。
在本文中,我们将评测 2026 年顶尖的视觉语言模型,涵盖开源与专有选项。我们将重点介绍其独特能力,并展示其性能与基准测试结果。针对开发者和研究人员,我们还提供了示例代码片段,便于您快速上手体验这些模型。
如果您想进一步了解这些模型的基础知识,欢迎查看我们的Python 图像处理技能路径。
1. Gemini 2.5 Pro
Gemini 2.5 Pro 是 Google 最先进的 AI 模型,目前在 LMArena 和 WebDevArena 的视觉与编码任务榜单上名列前茅。它面向跨文本、图像、音频和视频的复杂推理与理解而设计。
在视觉语言能力方面,它在 Open LLM 榜单上位居前列。Gemini 2.5 Pro 能解读图像和视频,生成细致且具备上下文意识的描述,并回答与视觉内容相关的问题。

您可以通过 gemini.google.com/app 的 Gemini 网页应用或使用 Google AI Studio 免费访问 Gemini 2.5 Pro。
针对开发者,Gemini 2.5 Pro 也可通过 Gemini API、Vertex AI 以及官方 Python SDK 获取,便于将其视觉语言功能集成到您的应用或工作流中。
示例用法:
from google.genai import types
with open('path/to/image.jpg', 'rb') as f:
image_bytes = f.read()
response = client.models.generate_content(
model='gemini-2.5-pro',
contents=[
types.Part.from_bytes(
data=image_bytes,
mime_type='image/jpeg',
),
'Explain the image.'
]
)
print(response.text)
2. InternVL3-78B
InternVL3 是一系列先进的多模态大语言模型(MLLM),性能优于其前代 InternVL 2.5。它在多模态感知与推理方面表现出色,并强化了工具使用、GUI 代理、工业图像分析和 3D 视觉感知等能力。
InternVL3-78B 的视觉组件采用 InternViT-6B-448px-V2_5,语言组件采用 Qwen2.5-72B。其总参数量为 784.1 亿,在 MMMU 基准上取得 72.2 分,创下开源 MLLM 的最新 SOTA 纪录。其表现可与领先的专有模型竞争。

来源:OpenGVLab/InternVL3-78B · Hugging Face
示例用法:
# pip install lmdeploy>=0.7.3
from lmdeploy import pipeline, TurbomindEngineConfig, ChatTemplateConfig
from lmdeploy.vl import load_image
model = 'OpenGVLab/InternVL3-78B'
image = load_image('https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/tests/data/tiger.jpeg')
pipe = pipeline(model, backend_config=TurbomindEngineConfig(session_len=16384, tp=4), chat_template_config=ChatTemplateConfig(model_name='internvl2_5'))
response = pipe(('Explain the image.', image))
print(response.text)
3. Ovis2-34B
Ovis2 是 AIDC-AI 开发的一系列多模态大语言模型(MLLM)。这些模型旨在高效对齐视觉与文本嵌入。尤其是 Ovis2-34B,采用 aimv2-1B-patch14-448 作为视觉编码器,Qwen2.5-32B-Instruct 作为语言模型,总参数量 340 亿。其最长上下文可达 32,768 个 token,并采用 bfloat16 精度以提升效率。
Ovis2-34B 在多项基准测试中表现强劲,取得如下成绩:
- MMBench-V1.1:86.6%
- MMStar:69.2%
- MMMUval:66.7%
- MathVista:76.1%
- MMVet:77.1%
- VideoMME:带字幕 75.6%

来源:AIDC-AI/Ovis2-34B · Hugging Face
示例用法:
import torch
from PIL import Image
from transformers import AutoModelForCausalLM
# load model
model = AutoModelForCausalLM.from_pretrained("AIDC-AI/Ovis2-34B",
torch_dtype=torch.bfloat16,
multimodal_max_length=32768,
trust_remote_code=True).cuda()
text_tokenizer = model.get_text_tokenizer()
visual_tokenizer = model.get_visual_tokenizer()
# single-image input
image_path = '/data/images/example_1.jpg'
images = [Image.open(image_path)]
max_partition = 9
text = 'Describe the image.'
query = f'<image>\n{text}'
# format conversation
prompt, input_ids, pixel_values = model.preprocess_inputs(query, images, max_partition=max_partition)
attention_mask = torch.ne(input_ids, text_tokenizer.pad_token_id)
input_ids = input_ids.unsqueeze(0).to(device=model.device)
attention_mask = attention_mask.unsqueeze(0).to(device=model.device)
if pixel_values is not None:
pixel_values = pixel_values.to(dtype=visual_tokenizer.dtype, device=visual_tokenizer.device)
pixel_values = [pixel_values]
# generate output
with torch.inference_mode():
gen_kwargs = dict(
max_new_tokens=1024,
do_sample=False,
top_p=None,
top_k=None,
temperature=None,
repetition_penalty=None,
eos_token_id=model.generation_config.eos_token_id,
pad_token_id=text_tokenizer.pad_token_id,
use_cache=True
)
output_ids = model.generate(input_ids, pixel_values=pixel_values, attention_mask=attention_mask, **gen_kwargs)[0]
output = text_tokenizer.decode(output_ids, skip_special_tokens=True)
print(f'Output:\n{output}')
4. Qwen2.5-VL-72B-Instruct
Qwen2.5-VL-72B-Instruct 是 Qwen 家族的一款多模态大语言模型(MLLM),能够理解并处理视觉与文本信息。许多开源 MLLM 都以其为基础,表明 Qwen 系列在推动 AI 研究方面发挥着重要作用。
Qwen2.5-VL-72B-Instruct 在多项基准上表现强劲,涵盖图像与视频理解以及智能体能力。其在 MMMUval 上得分 70.2、在 MathVista_MINI 上 74.8、在 MMStar 上 70.8。

来源:Qwen/Qwen2.5-VL-72B-Instruct · Hugging Face
示例用法:
# pip install qwen-vl-utils[decord]==0.0.8
from transformers import Qwen2_5_VLForConditionalGeneration, AutoTokenizer, AutoProcessor
from qwen_vl_utils import process_vision_info
# default: Load the model on the available device(s)
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
"Qwen/Qwen2.5-VL-72B-Instruct", torch_dtype="auto", device_map="auto"
)
# default processer
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-72B-Instruct")
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg",
},
{"type": "text", "text": "Describe this image."},
],
}
]
# Preparation for inference
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
inputs = inputs.to("cuda")
# Inference: Generation of the output
generated_ids = model.generate(**inputs, max_new_tokens=128)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text)
5. o3 Latest
OpenAI 的 o3 是一款新的推理模型,旨在在应用中提供更高智能、更低成本和更高效的 token 使用,代表着强调高级推理能力的新一代模型。
该模型为数学、科学、编码和视觉推理任务树立了新标准。在多项视觉基准上,它优于 o4-min 和 o1,与 o3 Pro 表现相当。

来源:Introducing OpenAI o3 and o4-mini | OpenAI
示例用法:
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="o3-2025-04-16",
input=[{
"role": "user",
"content": [
{"type": "input_text", "text": "what's in this image?"},
{
"type": "input_image",
"image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg",
},
],
}],
)
print(response.output_text)
6. GPT 4.1 (2025-04-14)
GPT-4.1 是一组新的非推理模型家族,包括 GPT-4.1、GPT-4.1 Mini 和 GPT-4.1 Nano。在多项基准测试中,这些模型均优于其前代 GPT-4o 和 GPT-4o Mini。
GPT-4.1 依旧具备强大的视觉能力,并在图表、示意图和视觉数学分析方面有所提升。它擅长对象计数、视觉问答以及多种光学字符识别(OCR)任务。

来源:Introducing GPT-4.1 in the API | OpenAI
示例用法:
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-4.1-2025-04-14",
input=[{
"role": "user",
"content": [
{"type": "input_text", "text": "what's in this image?"},
{
"type": "input_image",
"image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg",
},
],
}],
)
print(response.output_text)
7. Claude Sonnet 4
Anthropic 推出了新一代 Claude 模型:Claude 4 Opus 与 Claude 4 Sonnet。这些模型旨在为编码、高级推理与 AI 能力树立新标杆。
它们配备了增强的视觉能力,用户可以据此理解图像并基于图像生成代码或提供信息。尽管其本质上是编码模型,但也具备多模态能力,能够理解不同类型的文件格式。
参考下方对比表可以看到,Claude 4 在可视化推理和视觉问答方面,除 OpenAI 的 GPT-3 模型外,整体优于其他顶尖模型。

来源:Introducing Claude 4 \ Anthropic
示例用法:
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "url",
"url": "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg",
},
},
{
"type": "text",
"text": "Describe this image."
}
],
}
],
)
print(message)
8. Kimi-VL-A3B-Thinking-2506
Kimi-VL-A3B-Thinking-2506 是一款开源模型,标志着多模态 AI 的重要进展。它在多模态推理基准上表现突出,取得了令人印象深刻的准确率:MathVision 56.9、MathVista 80.1、MMMU-Pro 46.3、MMMU 64.0,同时平均将“思维长度”降低约 20%。
除推理能力外,2506 版本在通用视觉感知与理解方面也有所增强。其在 MMBench-EN-v1.1(84.4)、MMStar(70.4)、RealWorldQA(70.0)和 MMVet(78.4)等基准上已达到或超越非思维模型的表现。

来源:MoonshotAI/Kimi-VL: Kimi-VL
示例用法:
from transformers import AutoProcessor
from vllm import LLM, SamplingParams
model_path = "moonshotai/Kimi-VL-A3B-Thinking-2506"
llm = LLM(
model_path,
trust_remote_code=True,
max_num_seqs=8,
max_model_len=131072,
limit_mm_per_prompt={"image": 256}
)
processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
sampling_params = SamplingParams(max_tokens=32768, temperature=0.8)
import requests
from PIL import Image
def extract_thinking_and_summary(text: str, bot: str = "◁think▷", eot: str = "◁/think▷") -> str:
if bot in text and eot not in text:
return ""
if eot in text:
return text[text.index(bot) + len(bot):text.index(eot)].strip(), text[text.index(eot) + len(eot) :].strip()
return "", text
OUTPUT_FORMAT = "--------Thinking--------\n{thinking}\n\n--------Summary--------\n{summary}"
url = "https://huggingface.co/spaces/moonshotai/Kimi-VL-A3B-Thinking/resolve/main/images/demo6.jpeg"
image = Image.open(requests.get(url,stream=True).raw)
messages = [
{"role": "user", "content": [{"type": "image", "image": ""}, {"type": "text", "text": "What kind of cat is this? Answer with one word."}]}
]
text = processor.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
outputs = llm.generate([{"prompt": text, "multi_modal_data": {"image": image}}], sampling_params=sampling_params)
generated_text = outputs[0].outputs[0].text
thinking, summary = extract_thinking_and_summary(generated_text)
print(OUTPUT_FORMAT.format(thinking=thinking, summary=summary))
9. Gemma-3-27b-it
Gemma 3 是 Google 开发的一组多模态 AI 模型,能够处理文本与图像输入并生成文本输出。该系列提供 1B、4B、12B 和 27B 等多种规模,满足不同硬件与性能需求。
最大变体 Gemma 3 27B 在人工偏好评估中表现出色,甚至超越了更大规模的 Llama 3-405B 和 DeepSeek-V3。
这些模型在多项基准中表现优异,特别是在多模态任务上成绩突出,例如 COCOcap(116)、DocVQA(85.6)、MMMU(56.1)与 VQAv2(72.9)。

示例用法:
# pip install accelerate
from transformers import AutoProcessor, Gemma3ForConditionalGeneration
from PIL import Image
import requests
import torch
model_id = "google/gemma-3-27b-it"
model = Gemma3ForConditionalGeneration.from_pretrained(
model_id, device_map="auto"
).eval()
processor = AutoProcessor.from_pretrained(model_id)
messages = [
{
"role": "system",
"content": [{"type": "text", "text": "You are a helpful assistant."}]
},
{
"role": "user",
"content": [
{"type": "image", "image": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg"},
{"type": "text", "text": "Describe this image in detail."}
]
}
]
inputs = processor.apply_chat_template(
messages, add_generation_prompt=True, tokenize=True,
return_dict=True, return_tensors="pt"
).to(model.device, dtype=torch.bfloat16)
input_len = inputs["input_ids"].shape[-1]
with torch.inference_mode():
generation = model.generate(**inputs, max_new_tokens=100, do_sample=False)
generation = generation[0][input_len:]
decoded = processor.decode(generation, skip_special_tokens=True)
print(decoded)
10. Llama-3.2-90B-Vision-Instruct
这款Llama 3.2 90B Vision Instruct 模型由 Meta 开发,是一款先进的多模态大语言模型,专为视觉识别、图像推理与图像描述等任务而设计。
Llama 3.2 90B Vision Instruct 基于文本版 Llama 3.1 打造,并引入单独训练的视觉适配器,使其能够同时处理图像与文本输入并生成精准的文本输出。
在大规模训练下,Llama 3.2 90B Vision 模型耗时 885 万 GPU 小时。在 VQAv2(73.6)、Text VQA(73.5)和 DocVQA(70.7)等基准上表现出色。

来源:llama-models
示例用法:
import requests
import torch
from PIL import Image
from transformers import MllamaForConditionalGeneration, AutoProcessor
model_id = "meta-llama/Llama-3.2-90B-Vision-Instruct"
model = MllamaForConditionalGeneration.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
processor = AutoProcessor.from_pretrained(model_id)
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"
image = Image.open(requests.get(url, stream=True).raw)
messages = [
{"role": "user", "content": [
{"type": "image"},
{"type": "text", "text": "If I had to write a haiku for this one, it would be: "}
]}
]
input_text = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(
image,
input_text,
add_special_tokens=False,
return_tensors="pt",
).to(model.device)
output = model.generate(**inputs, max_new_tokens=30)
print(processor.decode(output[0]))
使用图表进行视觉推理也是 Meta 最新模型Muse Spark的强项。
总结
视觉语言模型正在从根本上改变我们与视觉与文本信息的交互方式,在众多行业中带来卓越的准确性与灵活性。这些模型无缝融合计算机视觉与自然语言处理,支持从高级目标检测到直观视觉助手等全新应用。
若您的用例将隐私与安全置于首位,强烈建议优先考虑开源视觉语言模型。本地运行可让您对数据拥有完全掌控,非常适合敏感环境。开源 VLM 的可适配性也很高;多数模型只需几百条样本微调,便可针对您的特定需求取得优异效果。
另一方面,专有模型可可靠、经济地获取最前沿能力。它们通常精度很高,且只需几行代码即可集成到您的工作流中,即便缺乏深厚 AI 专业背景的团队也能轻松使用。
如果您希望进一步学习视觉语言模型,建议参考以下资源:
- Python 图像处理:动手掌握图像操作、分析与特征提取等关键技术。
- 使用 PyTorch 进行图像深度学习:实践二分类与多分类、利用预训练模型完成深度学习任务,并掌握带边界框的目标检测与图像分割生成。
- Python 自然语言处理:学习文本数据的处理与分析技能,对于结合 NLP 与计算机视觉的多模态应用至关重要。