跳至内容

2026 年十大视觉语言模型

探索 2026 年用于视觉推理、图像分析和计算机视觉的顶级开源与专有视觉语言模型。
更新 2026年8月31日  · 7分钟

用 AI 探索

ChatGPTClaudePerplexity

视觉语言模型(VLMs)正迅速变革各行各业,使 AI 系统能够同时理解并推理图像与文本。与传统计算机视觉模型不同,现代 VLM 能解读复杂图像、回答与视觉内容相关的细致问题,甚至可处理包含嵌入文本的视频与文档。

这一特性使其在医疗诊断、自动化质量控制以及对精度要求高于速度的敏感场景中极具价值。

在本文中,我们将评测 2026 年顶尖的视觉语言模型,涵盖开源与专有选项。我们将重点介绍其独特能力,并展示其性能与基准测试结果。针对开发者和研究人员,我们还提供了示例代码片段,便于您快速上手体验这些模型。

如果您想进一步了解这些模型的基础知识,欢迎查看我们的Python 图像处理技能路径。

1. Gemini 2.5 Pro

Gemini 2.5 Pro 是 Google 最先进的 AI 模型,目前在 LMArena 和 WebDevArena 的视觉与编码任务榜单上名列前茅。它面向跨文本、图像、音频和视频的复杂推理与理解而设计。

在视觉语言能力方面,它在 Open LLM 榜单上位居前列。Gemini 2.5 Pro 能解读图像和视频,生成细致且具备上下文意识的描述,并回答与视觉内容相关的问题。

‎Google Gemini app

来源:‎Google Gemini

您可以通过 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 纪录。其表现可与领先的专有模型竞争。

a graph showing the opencompass average score of InternVL3-78B  model

来源: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%

 

a diagram showing the process of embedding AIDC-AI/Ovis2-34B

来源: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。

Qwen2.5-VL-72B-Instruct model diagram

来源: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 表现相当。

o3 Latest benchmark

来源: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)任务。

GPT 4.1 vision benchmark

来源: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 OpusClaude 4 Sonnet。这些模型旨在为编码、高级推理与 AI 能力树立新标杆。

它们配备了增强的视觉能力,用户可以据此理解图像并基于图像生成代码或提供信息。尽管其本质上是编码模型,但也具备多模态能力,能够理解不同类型的文件格式。

参考下方对比表可以看到,Claude 4 在可视化推理和视觉问答方面,除 OpenAI 的 GPT-3 模型外,整体优于其他顶尖模型。

Claude Sonnet 4 benchmark results

来源: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)等基准上已达到或超越非思维模型的表现。

Kimi-VL-A3B-Thinking-2506 diagram

来源: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)。

Gemma-3-27b-it rank on the Open LLM leaderboard

来源:Open VLM Leaderboard

示例用法:

# 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-3.2-90B-Vision-Instruct benchmark results

来源: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 专业背景的团队也能轻松使用。

如果您希望进一步学习视觉语言模型,建议参考以下资源:

主题
人工智能
大语言模型

Top DataCamp Courses

Courses

Python 图像处理

4小时
56.8K
学会随心处理、转换和操作图像。
查看详情Right Arrow
开始课程
查看更多Right Arrow