VLMEvalKit
VLMEvalKit 是一款专为大型视觉 - 语言模型(LVLMs)打造的开源评估工具箱。它旨在解决多模态模型评估中数据准备繁琐、基准测试分散的痛点,让用户只需一条命令即可在 80 多个主流基准上对超过 220 种模型进行高效评测,无需在不同代码库间反复切换。
这款工具特别适合 AI 研究人员、算法工程师及开发者使用,无论是想要快速验证新模型性能,还是希望系统对比不同架构的优劣,都能从中获益。VLMEvalKit 采用基于生成的评估范式,同时支持“精确匹配”和“大模型辅助答案提取”两种判分机制,确保评估结果既严谨又灵活。
其技术亮点在于持续进化的适应性:不仅最新支持了针对长文本输出的 TSV 格式保存,避免数据截断,还专门优化了对具备“思考模式”模型的处理,能精准解析思维链内容。此外,它紧跟前沿,已率先集成 Video-MME-v2、SeePhys 等最新权威基准,帮助社区实时追踪多模态技术在视频理解与物理推理等领域的最新进展。通过统一的接口与丰富的记录,VLMEvalKit 正成为推动多模态模型标准化评估的重要基础设施。
使用场景
某多模态算法团队正在研发新一代视觉语言模型,急需在发布前对 5 个候选模型进行全面的性能基准测试,以筛选出最优版本。
没有 VLMEvalKit 时
- 环境配置繁琐:团队需手动克隆 80+ 个不同数据集的仓库,逐一处理数据格式转换,耗时数天且极易出错。
- 评估标准不一:针对不同模型需编写独立的推理脚本,难以统一采用“生成式评估”或"LLM 辅助提取”等先进策略,导致结果不可比。
- 长文本支持缺失:面对输出超过 32k token 的复杂推理任务,传统 Excel 存储方式直接截断内容,导致关键逻辑链丢失,无法准确评估模型能力。
- 新特性适配困难:对于具备“思维链(Thinking Mode)”的新模型,缺乏自动解析
<think>标签的机制,人工清洗答案效率极低。
使用 VLMEvalKit 后
- 一键启动评测:只需一条命令即可自动拉取并预处理 220+ 种模型所需的 80+ 个基准数据集,将准备时间从数天缩短至几分钟。
- 统一评估范式:内置标准化的生成式评估流程,自动切换精确匹配或 LLM 提取模式,确保所有候选模型在公平条件下产出可比数据。
- 无损长文记录:通过设置
PRED_FORMAT=tsv,完美支持超长响应保存,彻底解决因单元格字符限制导致的数据截断问题。 - 智能思维解析:开启
SPLIT_THINK=True后,自动识别并分离模型的思考过程与最终答案,精准评估具备深度推理能力模型的真实水平。
VLMEvalKit 将原本碎片化、高门槛的多模态评测工作转化为标准化、自动化的流水线,让研发团队能专注于模型迭代而非数据杂务。
运行环境要求
- 未说明
需要 NVIDIA GPU(隐含,因依赖 flash-attn 和 CUDA),具体显存需求取决于所选模型(如支持长文本或多节点推理),需安装 flash-attn(部分模型如 Aria 需特定安装方式)
未说明(建议根据模型大小配置,大规模或思维链模型推荐多节点分布式推理)

快速开始
VLMEvalKit(Python软件包名为 vlmeval)是一个针对 大型视觉-语言模型(LVLMs) 的 开源评估工具包。它能够在多个基准测试上实现对 LVLMs 的 一键式评估,而无需在多个代码库中进行繁琐的数据准备工作。在 VLMEvalKit 中,我们对所有 LVLMs 采用 基于生成的评估方法,并提供通过 精确匹配 和 基于 LLM 的答案提取 所获得的评估结果。
最近的代码库变更
[2025-09-12] 重大更新:改进了对具有思考模式模型的处理
在 PR 1229 中新增了一项功能,用于更好地支持具有思考模式的模型。VLMEvalKit 现在允许使用自定义的
split_thinking函数。我们强烈建议具有思考模式的模型使用此功能,以确保评估的准确性。要使用此新功能,请启用环境变量:SPLIT_THINK=True。默认情况下,该函数会解析<think>... </think>标签内的内容,并将其存储在输出的thinking键中。如需更高级的自定义,您也可以为模型创建一个split_think函数。请参阅 InternVL 的实现作为示例。[2025-09-12] 重大更新:改进了对长响应(超过16k/32k)的处理
在 PR 1229 中新增了一项功能,用于更好地支持具有长响应输出的模型。VLMEvalKit 现在可以将预测文件保存为 TSV 格式。由于
.xlsx文件中的单个单元格最多只能容纳 32,767 个字符,因此我们强烈建议对于生成长响应的模型(例如超过 16k 或 32k 个标记)使用此功能,以防止数据截断。 要使用此新功能,请启用环境变量:PRED_FORMAT=tsv。[2025-08-04] 在 PR 1175 中,我们优化了
can_infer_option和can_infer_text,这使得评估更加倾向于使用 LLM 选项提取器,并且在多项选择题基准测试中带来了轻微的性能提升。
🆕 新闻
- [2026-04-08] 支持了 Video-MME-v2。Video-MME-v2 是面向视频理解评估下一阶段的权威基准测试。🔥🔥🔥
- [2025-07-07] 支持了 SeePhys,这是一个涵盖不同知识水平的物理推理评估的全谱多模态基准测试。感谢 Quinn777 🔥🔥🔥
- [2025-07-02] 支持了 OvisU1,感谢 liyang-7 🔥🔥🔥
- [2025-06-16] 支持了 PhyX,这是一个旨在评估视觉场景中基于物理学推理能力的基准测试。🔥🔥🔥
- [2025-05-24] 为了便于对大规模或具有思考模式的模型进行更快的评估,VLMEvalKit 支持使用 LMDeploy(支持 InternVL 系列、QwenVL 系列、LLaMa4)或 VLLM(支持 QwenVL 系列、LLaMa4)进行多节点分布式推理。您可以通过在 config.py 中的自定义模型配置中添加
use_lmdeploy或use_vllm标志来激活此功能。利用这些工具可以显著加快您的评估流程 🔥🔥🔥 - [2025-05-24] 支持的模型:InternVL3 系列、Gemini-2.5-Pro、Kimi-VL、LLaMA4、NVILA、Qwen2.5-Omni、Phi4、SmolVLM2、Grok、SAIL-VL-1.5、WeThink-Qwen2.5VL-7B、Bailingmm、VLM-R1、Taichu-VLR。支持的基准测试:HLE-Bench、MMVP、MM-AlignBench、Creation-MMBench、MM-IFEval、OmniDocBench、OCR-Reasoning、EMMA、ChaXiv、MedXpertQA、Physics、MSEarthMCQ、MicroBench、MMSci、VGRP-Bench、wildDoc、TDBench、VisuLogic、CVBench、LEGO-Puzzles、Video-MMLU、QBench-Video、MME-CoT、VLM2Bench、VMCBench、MOAT、Spatial457 Benchmark。更多详情请参阅 VLMEvalKit 功能。感谢所有贡献者 🔥🔥🔥
- [2025-02-20] 支持的模型:InternVL2.5 系列、Qwen2.5VL 系列、QVQ-72B、Doubao-VL、Janus-Pro-7B、MiniCPM-o-2.6、InternVL2-MPO、LLaVA-CoT、Hunyuan-Standard-Vision、Ovis2、Valley、SAIL-VL、Ross、Long-VITA、EMU3、SmolVLM。支持的基准测试:MMMU-Pro、WeMath、3DSRBench、LogicVista、VL-RewardBench、CC-OCR、CG-Bench、CMMMU、WorldSense。感谢所有贡献者 🔥🔥🔥
- [2024-12-11] 支持了 NaturalBench,这是一个以视觉为中心的 VQA 基准测试(NeurIPS'24),它通过关于自然图像的简单问题来挑战视觉-语言模型。
- [2024-12-02] 支持了 VisOnlyQA,这是一个用于评估视觉感知能力的基准测试 🔥🔥🔥
- [2024-11-26] 支持了 Ovis1.6-Gemma2-27B,感谢 runninglsy 🔥🔥🔥
- [2024-11-25] 创建了一个新的标志
VLMEVALKIT_USE_MODELSCOPE。通过设置此环境变量,您可以从 modelscope 下载支持的视频基准测试 🔥🔥🔥
🏗️ 快速入门
有关快速入门指南,请参阅 [QuickStart | 快速开始]。
📊 数据集、模型和评估结果
评估结果
我们官方多模态排行榜上的性能数据可从此处下载!
请查看 VLMEvalKit 功能 中的“支持的基准”选项卡,以查看所有受支持的图像和视频基准(70+)。
请查看 VLMEvalKit 功能 中的“支持的 LMM”选项卡,以查看所有受支持的 LMM,包括商业 API、开源模型等(200+)。
Transformers 版本推荐:
请注意,某些 VLM 在特定版本的 Transformers 下可能无法运行。我们建议使用以下设置来评估每种 VLM:
- 请使用
transformers==4.33.0用于:Qwen 系列、Monkey 系列、InternLM-XComposer 系列、mPLUG-Owl2、OpenFlamingo v2、IDEFICS 系列、VisualGLM、MMAlaya、ShareCaptioner、MiniGPT-4 系列、InstructBLIP 系列、PandaGPT、VXVERSE。 - 请使用
transformers==4.36.2用于:Moondream1。 - 请使用
transformers==4.37.0用于:LLaVA 系列、ShareGPT4V 系列、TransCore-M、LLaVA (XTuner)、CogVLM 系列、EMU2 系列、Yi-VL 系列、MiniCPM-[V1/V2]、OmniLMM-12B、DeepSeek-VL 系列、InternVL 系列、Cambrian 系列、VILA 系列、Llama-3-MixSenseV1_1、Parrot-7B、PLLaVA 系列。 - 请使用
transformers==4.40.0用于:IDEFICS2、Bunny-Llama3、MiniCPM-Llama3-V2.5、360VL-70B、Phi-3-Vision、WeMM。 - 请使用
transformers==4.42.0用于:AKI。 - 请使用
transformers==4.44.0用于:Moondream2、H2OVL 系列。 - 请使用
transformers==4.45.0用于:Aria。 - 请使用
transformers==4.48.0(或4.46.0) 用于:LLaVA-Next 系列(例如llava-hf/llava-v1.6-vicuna-7b-hf)。 - 请使用
transformers==latest用于:PaliGemma-3B、Chameleon 系列、Video-LLaVA-7B-HF、Ovis 系列、Mantis 系列、MiniCPM-V2.6、OmChat-v2.0-13B-sinlge-beta、Idefics-3、GLM-4v-9B、VideoChat2-HD、RBDash_72b、Llama-3.2 系列、Kosmos 系列。 - 请使用
transformers==4.50.3(或4.46.1、4.51或4.53) 用于:Molmo 系列。 - 请使用
transformers>=5.2.0用于:Qwen3.5 系列。
Torchvision 版本推荐:
请注意,某些 VLM 在特定版本的 torchvision 下可能无法运行。我们建议使用以下设置来评估每种 VLM:
- 请使用
torchvision>=0.16用于:Moondream 系列和Aria。
Flash-attn 版本推荐:
请注意,某些 VLM 在特定版本的 flash-attention 下可能无法运行。我们建议使用以下设置来评估每种 VLM:
- 请使用
pip install flash-attn --no-build-isolation用于:Aria。
# 示例
from vlmeval.config import supported_VLM
model = supported_VLM['idefics_9b_instruct']()
# 单张图片推理
ret = model.generate(['assets/apple.jpg', '这张图片里有什么?'])
print(ret) # 图片中有一颗带有叶子的红苹果。
# 多张图片推理
ret = model.generate(['assets/apple.jpg', 'assets/apple.jpg', '提供的图片中有几颗苹果?'])
print(ret) # 提供的图片中有两颗苹果。
🛠️ 开发指南
如需开发自定义基准、VLM,或仅为 VLMEvalKit 贡献其他代码,请参阅 [Development_Guide | 开发指南]。
征集贡献
为鼓励社区贡献并分享相应荣誉(在下一次报告更新中):
- 所有贡献都将在报告中被致谢。
- 拥有3项或以上重大贡献(实现一个 MLLM、基准或主要功能)的贡献者,可加入 ArXiv 上的 VLMEvalKit 技术报告 的作者名单。符合条件的贡献者可在 VLMEvalKit Discord 频道 中创建议题或私信 kennyutc。
我们根据记录整理了一份 贡献者列表。
🎯 VLMEvalKit 的目标
该代码库旨在:
- 提供一个易于使用、开源的评估工具包,方便研究人员和开发者评估现有的 LVLM,并使评估结果易于复现。
- 方便 VLM 开发者评估自己的模型。只需实现一个
generate_inner()函数,即可在多个受支持的基准上评估 VLM;其余工作负载(数据下载、数据预处理、预测推理、指标计算)均由代码库自动处理。
该代码库并非旨在:
- 复现所有第三方基准原始论文中报告的确切准确率。原因有两点:
- VLMEvalKit 对所有 VLM 采用基于生成的评估方法(并可选地结合基于 LLM 的答案提取)。而部分基准可能采用不同的评估方式(例如 SEEDBench 使用 PPL 评估)。对于这些基准,我们在相应结果中同时比较两种分数。我们鼓励开发者在代码库中支持其他评估范式。
- 默认情况下,我们对所有 VLM 在同一基准上使用相同的提示模板进行评估。然而,某些 VLM 可能有其特定的提示模板(目前代码库可能尚未覆盖)。我们鼓励 VLM 开发者在 VLMEvalKit 中实现他们自己的提示模板,若当前尚未支持的话。这将有助于提高结果的可重复性。
🖊️ 引用
如果您觉得这项工作对您有帮助,请考虑给本仓库加星🌟。感谢您的支持!
如果您在研究中使用了 VLMEvalKit,或希望引用已发布的开源评估结果,请使用以下 BibTeX 条目,以及您所使用的特定多模态大模型或基准测试对应的 BibTeX 条目。
@inproceedings{duan2024vlmevalkit,
title={Vlmevalkit: 用于评估大型多模态模型的开源工具包},
author={Duan, Haodong and Yang, Junming and Qiao, Yuxuan and Fang, Xinyu and Chen, Lin and Liu, Yuan and Dong, Xiaoyi and Zang, Yuhang and Zhang, Pan and Wang, Jiaqi and others},
booktitle={第32届 ACM 国际多媒体会议论文集},
pages={11198--11201},
year={2024}
}
版本历史
v0.3rc12025/06/21v0.22025/03/24v0.2rc12024/06/29v0.12024/01/22常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
