[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-OpenBMB--MiniCPM-o":3,"tool-OpenBMB--MiniCPM-o":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",150037,2,"2026-04-10T23:33:47",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":72,"owner_avatar_url":73,"owner_bio":74,"owner_company":75,"owner_location":75,"owner_email":76,"owner_twitter":72,"owner_website":77,"owner_url":78,"languages":79,"stars":111,"forks":112,"last_commit_at":113,"license":114,"difficulty_score":10,"env_os":115,"env_gpu":116,"env_ram":117,"env_deps":118,"category_tags":129,"github_topics":133,"view_count":137,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":138,"updated_at":139,"faqs":140,"releases":170},5817,"OpenBMB\u002FMiniCPM-o","MiniCPM-o","A Gemini 2.5 Flash Level MLLM for Vision, Speech, and Full-Duplex Multimodal Live Streaming on Your Phone","MiniCPM-o 是一款专为手机等终端设备设计的开源多模态大语言模型系列，旨在让普通设备也能拥有媲美云端巨头的智能交互能力。它解决了传统多模态模型体积庞大、难以在本地运行，且无法同时处理“看、听、说”实时互动的痛点。\n\n无论是开发者、研究人员还是追求前沿体验的普通用户，都能从中受益。开发者可将其高效部署于移动端或 Mac 本地；研究人员能探索端侧多模态的新边界；普通用户则能享受隐私安全、低延迟的智能助手服务。\n\n其核心亮点在于最新的 MiniCPM-o 4.5 版本，仅用 90 亿参数量便在视觉理解、语音交互及全双工实时流媒体能力上达到了 Gemini 2.5 Flash 的水平。所谓“全双工”，意味着它能像真人一样，在接收视频和音频输入的同时，不间断地输出语音和文字，实现真正的“边看边听边说”，支持主动提醒和自然的双语对话，甚至具备声音克隆功能。此外，配套的轻量级推理框架让这一高端体验能在本地设备上流畅运行，无需依赖昂贵的服务器资源。","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_29bfb156f3d4.png\" width=\"500em\" >\u003C\u002Fimg> \n\n**A Gemini 2.5 Flash Level MLLM for Vision, Speech, and Full-Duplex Multimodal Live Streaming on Your Phone**\n\n  \u003Cstrong>[中文](.\u002FREADME_zh.md) |\n  English\u003C\u002Fstrong>\n\n\n\n\u003Cspan style=\"display: inline-flex; align-items: center; margin-right: 2px;\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_9a6bfda920e6.png\" alt=\"WeChat\" style=\"margin-right: 4px;\">\n  \u003Ca href=\"docs\u002Fwechat.md\" target=\"_blank\"> WeChat\u003C\u002Fa> &nbsp;|\n\u003C\u002Fspan>\n&nbsp;\n\u003Cspan style=\"display: inline-flex; align-items: center; margin-left: -8px;\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_af4a6e77ef9e.png\" alt=\"Discord\" style=\"margin-right: 4px;\">\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FN2RnxGdJ\" target=\"_blank\"> Discord\u003C\u002Fa> &nbsp;\n\u003C\u002Fspan>\n\n\n\n\u003Cp align=\"center\">\n   MiniCPM-o 4.5 \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-o-4_5\">🤗\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fopenbmb.github.io\u002FMiniCPM-o-Demo\u002F\">📞\u003C\u002Fa> \u003Ca href=\"http:\u002F\u002F211.93.21.133:18121\u002F\">🤖\u003C\u002Fa> | MiniCPM-V 4.0 \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-4\">🤗\u003C\u002Fa>  | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-Cookbook\">🍳 Cookbook\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fopenbmb.github.io\u002Fminicpm-o-4_5\u002F\">Audio Casebook\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fopenbmb.github.io\u002Fminicpm-o-4_5-omni\u002F\">Omni Full-Duplex Casebook\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n**MiniCPM-o** is the latest series of on-device multimodal LLMs (MLLMs) ungraded from MiniCPM-V. The models can now take image, video, text, and audio as inputs and provide high-quality text and speech outputs in an end-to-end fashion. The model series is designed for **strong performance and efficient deployment**. The most notable models in the series currently include:\n\n\n- **MiniCPM-o 4.5**: 🔥🔥🔥 The latest and most capable model in the series. With a total of 9B parameters, this end-to-end model **approaches Gemini 2.5 Flash in vision, speech, and full-duplex multimodal live streaming**, making it one of the most versatile and performant models in the open-source community. The new full-duplex multimodal live streaming capability means that the output streams (speech and text), and the real-time input streams (video and audio) do not block each other. This **enables MiniCPM-o 4.5 to see, listen, and speak simultaneously** in a real-time omnimodal conversation, and perform **proactive interactions** such as proactive reminding. The improved voice mode supports bilingual real-time speech conversation in a more natural, expressive, and stable way, and also allows for voice cloning. It also advances MiniCPM-V's visual capabilities such as strong OCR capability, trustworthy behavior and multilingual support, etc. We also rollout a **high-performing llama.cpp-omni inference framework together with a WebRTC Demo**, to bring this full-duplex multimodal live streaming experience available on local devices such as Macs.\n\n- **MiniCPM-V 4.0**: ⭐️⭐️⭐️ An efficient model in the MiniCPM-V series. With a total of 4B parameters, the model surpasses GPT-4.1-mini-20250414 in image understanding on the OpenCompass evaluation. With its small parameter size and efficient architecture, MiniCPM-V 4.0 is an ideal choice for on-device deployment on the phone.\n\n\n\n\n## News \u003C!-- omit in toc -->\n\n#### 📌 Pinned\n\n> [!NOTE]\n> [2026.02.06] 🥳 🥳 🥳 We open-sourced a realtime web demo deployable on your own devices like Mac or GPU. [Try it now](#deploy-a-realtime-web-demo-on-your-own-device)!\n\n\n* [2026.02.05] 📢📢📢 We note the web demo may experience latency issues due to network conditions. We are working actively to provide a Docker image for local deployment of the real-time interactive Demo as soon as possible. Please stay tuned!\n\n* [2026.02.03] 🔥🔥🔥 We open-source MiniCPM-o 4.5, which matches Gemini 2.5 Flash on vision and speech, and supports full-duplex multimodal live streaming. Try it now!\n\n\n* [2025.09.18] 📢📢📢 MiniCPM-V 4.5 technical report is now released! See [here](.\u002Fdocs\u002FMiniCPM_V_4_5_Technical_Report.pdf).\n\n* [2025.08.26] 🔥🔥🔥 We open-source MiniCPM-V 4.5, which outperforms GPT-4o-latest, Gemini-2.0 Pro, and Qwen2.5-VL 72B. It advances popular capabilities of MiniCPM-V, and brings useful new features. Try it now!\n\n* [2025.08.01] ⭐️⭐️⭐️ We open-sourced the [MiniCPM-V & o Cookbook](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook)! It provides comprehensive guides for diverse user scenarios, paired with our new [Docs Site](https:\u002F\u002Fminicpm-o.readthedocs.io\u002Fen\u002Flatest\u002Findex.html) for smoother onboarding.\n\n* [2025.03.01] 🚀🚀🚀 RLAIF-V, the alignment technique of MiniCPM-o, is accepted by CVPR 2025 Highlights！The [code](https:\u002F\u002Fgithub.com\u002FRLHF-V\u002FRLAIF-V), [dataset](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fopenbmb\u002FRLAIF-V-Dataset), [paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.17220) are open-sourced!\n\n* [2025.01.24] 📢📢📢 MiniCPM-o 2.6 technical report is released! See [here](https:\u002F\u002Fopenbmb.notion.site\u002FMiniCPM-o-2-6-A-GPT-4o-Level-MLLM-for-Vision-Speech-and-Multimodal-Live-Streaming-on-Your-Phone-185ede1b7a558042b5d5e45e6b237da9).\n\n* [2025.01.19] ⭐️⭐️⭐️ MiniCPM-o tops GitHub Trending and reaches top-2 on Hugging Face Trending!\n\n\n* [2024.05.23] 🔥🔥🔥 MiniCPM-V tops GitHub Trending and Hugging Face Trending! Our demo, recommended by Hugging Face Gradio’s official account, is available [here](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fopenbmb\u002FMiniCPM-Llama3-V-2_5). Come and try it out!\n\n\u003Cbr>\n\n\u003Cdetails> \n\u003Csummary>Click to view more news.\u003C\u002Fsummary>\n\n* [2025.09.01] ⭐️⭐️⭐️ MiniCPM-V 4.5 has been officially supported by [llama.cpp](https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fpull\u002F15575), [vLLM](https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm\u002Fpull\u002F23586), and [LLaMA-Factory](https:\u002F\u002Fgithub.com\u002Fhiyouga\u002FLLaMA-Factory\u002Fpull\u002F9022). You are welcome to use it directly through these official channels! Support for additional frameworks such as [Ollama](https:\u002F\u002Fgithub.com\u002Follama\u002Follama\u002Fpull\u002F12078) and [SGLang](https:\u002F\u002Fgithub.com\u002Fsgl-project\u002Fsglang\u002Fpull\u002F9610) is actively in progress.\n* [2025.08.02] 🚀🚀🚀 We open-source MiniCPM-V 4.0, which outperforms GPT-4.1-mini-20250414 in image understanding. It advances popular features of MiniCPM-V 2.6, and largely improves the efficiency. We also open-source the iOS App on iPhone and iPad. Try it now!\n* [2025.06.20] ⭐️⭐️⭐️ Our official [Ollama repository](https:\u002F\u002Follama.com\u002Fopenbmb) is released. Try our latest models with [one click](https:\u002F\u002Follama.com\u002Fopenbmb\u002Fminicpm-o2.6)！\n* [2025.01.23] 💡💡💡 MiniCPM-o 2.6 is now supported by [Align-Anything](https:\u002F\u002Fgithub.com\u002FPKU-Alignment\u002Falign-anything), a framework by PKU-Alignment Team for aligning any-to-any modality large models with human intentions. It supports DPO and SFT fine-tuning on both vision and audio. Try it now!\n* [2025.01.19] 📢 **ATTENTION!** We are currently working on merging MiniCPM-o 2.6 into the official repositories of llama.cpp, Ollama, and vllm. Until the merge is complete, please USE OUR LOCAL FORKS of [llama.cpp](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002Fllama.cpp\u002Fblob\u002Fminicpm-omni\u002Fexamples\u002Fllava\u002FREADME-minicpmo2.6.md), [Ollama](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002Follama\u002Fblob\u002Fminicpm-v2.6\u002Fexamples\u002Fminicpm-v2.6\u002FREADME.md), and [vllm](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-o?tab=readme-ov-file#efficient-inference-with-llamacpp-ollama-vllm). **Using the official repositories before the merge may lead to unexpected issues**.\n* [2025.01.17] We have updated the usage of MiniCPM-o 2.6 int4 quantization version and resolved the model initialization error. Click [here](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-o-2_6-int4) and try it now!\n* [2025.01.13] 🔥🔥🔥 We open-source MiniCPM-o 2.6, which matches GPT-4o-202405 on vision, speech and multimodal live streaming. It advances popular capabilities of MiniCPM-V 2.6, and supports various new fun features. Try it now!\n* [2024.08.15] We now also support multi-image SFT. For more details, please refer to the [document](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-V\u002Ftree\u002Fmain\u002Ffinetune).\n* [2024.08.14] MiniCPM-V 2.6 now also supports [fine-tuning](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002Fms-swift\u002Fissues\u002F1613) with the SWIFT framework!\n* [2024.08.17] 🚀🚀🚀 MiniCPM-V 2.6 is now fully supported by [official](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp) llama.cpp! GGUF models of various sizes are available [here](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-2_6-gguf).\n* [2024.08.10] 🚀🚀🚀 MiniCPM-Llama3-V 2.5 is now fully supported by [official](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp) llama.cpp! GGUF models of various sizes are available [here](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-Llama3-V-2_5-gguf).\n* [2024.08.06] 🔥🔥🔥 We open-source MiniCPM-V 2.6, which outperforms GPT-4V on single image, multi-image and video understanding. It advances popular features of MiniCPM-Llama3-V 2.5, and can support real-time video understanding on iPad. Try it now!\n* [2024.08.03] MiniCPM-Llama3-V 2.5 technical report is released! See [here](https:\u002F\u002Farxiv.org\u002Fabs\u002F2408.01800).\n* [2024.07.19] MiniCPM-Llama3-V 2.5 supports vLLM now! See [here](#inference-with-vllm).\n\n* [2024.06.03] Now, you can run MiniCPM-Llama3-V 2.5 on multiple low VRAM GPUs(12 GB or 16 GB) by distributing the model's layers across multiple GPUs. For more details, check this [link](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-V\u002Fblob\u002Fmain\u002Fdocs\u002Finference_on_multiple_gpus.md).\n* [2024.05.28] 🚀🚀🚀 MiniCPM-Llama3-V 2.5 now fully supports its feature in llama.cpp and Ollama! Please pull the latest code **of our provided forks** ([llama.cpp](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002Fllama.cpp\u002Fblob\u002Fminicpm-v2.5\u002Fexamples\u002Fminicpmv\u002FREADME.md), [Ollama](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002Follama\u002Ftree\u002Fminicpm-v2.5\u002Fexamples\u002Fminicpm-v2.5)). GGUF models in various sizes are available [here](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-Llama3-V-2_5-gguf\u002Ftree\u002Fmain). MiniCPM-Llama3-V 2.5 series is **not supported by the official repositories yet**, and we are working hard to merge PRs. Please stay tuned!\n\n* [2024.05.28] 💫 We now support LoRA fine-tuning for MiniCPM-Llama3-V 2.5, using only 2 V100 GPUs! See more statistics [here](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-V\u002Ftree\u002Fmain\u002Ffinetune#model-fine-tuning-memory-usage-statistics).\n\n* [2024.05.25] MiniCPM-Llama3-V 2.5 now supports streaming outputs and customized system prompts. Try it [here](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-Llama3-V-2_5#usage)!\n* [2024.05.24] We release the MiniCPM-Llama3-V 2.5 [gguf](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-Llama3-V-2_5-gguf), which supports [llama.cpp](#inference-with-llamacpp) inference and provides a 6~8 token\u002Fs smooth decoding on mobile phones. Try it now!\n\n* [2024.05.23] 🔍 We've released a comprehensive comparison between Phi-3-vision-128k-instruct and MiniCPM-Llama3-V 2.5, including benchmark evaluations, multilingual capabilities, and inference efficiency 🌟📊🌍🚀. Click [here](.\u002Fdocs\u002Fcompare_with_phi-3_vision.md) to view more details.\n\n* [2024.05.20] We open-soure MiniCPM-Llama3-V 2.5, it has improved OCR capability and supports 30+ languages, representing the first end-side MLLM achieving GPT-4V level performance! We provide [efficient inference](#deployment-on-mobile-phone) and [simple fine-tuning](.\u002Ffinetune\u002Freadme.md). Try it now!\n* [2024.04.23] MiniCPM-V-2.0 supports vLLM now! Click [here](#inference-with-vllm) to view more details.\n* [2024.04.18] We create a HuggingFace Space to host the demo of MiniCPM-V 2.0 at [here](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fopenbmb\u002FMiniCPM-V-2)!\n* [2024.04.17] MiniCPM-V-2.0 supports deploying [WebUI Demo](#webui-demo) now!\n* [2024.04.15] MiniCPM-V-2.0 now also supports [fine-tuning](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002Fswift\u002Fblob\u002Fmain\u002Fdocs\u002Fsource\u002FMulti-Modal\u002Fminicpm-v-2最佳实践.md) with the SWIFT framework!\n* [2024.04.12] We open-source MiniCPM-V 2.0, which achieves comparable performance with Gemini Pro in understanding scene text and outperforms strong Qwen-VL-Chat 9.6B and Yi-VL 34B on \u003Ca href=\"https:\u002F\u002Frank.opencompass.org.cn\u002Fleaderboard-multimodal\">OpenCompass\u003C\u002Fa>, a comprehensive evaluation over 11 popular benchmarks. Click \u003Ca href=\"https:\u002F\u002Fopenbmb.vercel.app\u002Fminicpm-v-2\">here\u003C\u002Fa> to view the MiniCPM-V 2.0 technical blog.\n* [2024.03.14] MiniCPM-V now supports [fine-tuning](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002Fswift\u002Fblob\u002Fmain\u002Fdocs\u002Fsource\u002FMulti-Modal\u002Fminicpm-v最佳实践.md) with the SWIFT framework. Thanks to [Jintao](https:\u002F\u002Fgithub.com\u002FJintao-Huang) for the contribution！\n* [2024.03.01] MiniCPM-V can now be deployed on Mac!\n* [2024.02.01] We open-source MiniCPM-V and OmniLMM-12B, which support efficient end-side deployment and powerful multimodal capabilities correspondingly.\n\u003C\u002Fdetails> \n\n\n## Contents \u003C!-- omit in toc -->\n\n\n- [MiniCPM-o 4.5](#minicpm-o-45)\n- [Offline Inference Examples with Transformers](#offline-inference-examples-with-transformers)\n  - [Model Initialization](#model-initialization)\n  - [Duplex Omni Mode](#duplex-omni-mode)\n  - [Half-Duplex Omni Mode](#half-duplex-omni-mode)\n  - [Half-Duplex Realtime Speech Conversation Mode](#half-duplex-realtime-speech-conversation-mode)\n  - [Visual Understanding](#visual-understanding)\n  - [Structured Content Input](#structured-content-input)\n- [Deploy a Realtime Web Demo on Your Own Device](#deploy-a-realtime-web-demo-on-your-own-device)\n- [Supported Frameworks](#supported-frameworks)\n  - [FlagOS](#flagos)\n  - [vLLM, SGLang, llama.cpp, Ollama](#vllm-sglang-llamacpp-ollama)\n  - [LLaMA-Factory, SWIFT](#llama-factory-swift)\n- [MiniCPM-V \\& o Cookbook](#minicpm-v--o-cookbook)\n- [MiniCPM-V 4.0](#minicpm-v-40)\n- [Model Zoo](#model-zoo)\n- [Awesome work using MiniCPM-V \\& MiniCPM-o](#awesome-work-using-minicpm-v--minicpm-o)\n- [Limitations](#limitations)\n- [Acknowledgements](#acknowledgements)\n\n\n## MiniCPM-o 4.5\n\n**MiniCPM-o 4.5** is the latest and most capable model in the MiniCPM-o series. The model is built in an end-to-end fashion based on SigLip2, Whisper-medium, CosyVoice2, and Qwen3-8B with a total of 9B parameters. It exhibits a significant performance improvement, and introduces new features for full-duplex multimodal live streaming. Notable features of MiniCPM-o 4.5 include:\n\n- 🔥 **Leading Visual Capability.**\n  MiniCPM-o 4.5 achieves an average score of 77.6 on OpenCompass, a comprehensive evaluation of 8 popular benchmarks. **With only 9B parameters, it surpasses widely used proprietary models like GPT-4o, Gemini 2.0 Pro, and approaches Gemini 2.5 Flash** for vision-language capabilities. It supports instruct and thinking modes in a single model, better covering efficiency and performance trade-offs in different user scenarios.\n\n- 🎙 **Strong Speech Capability.** \n  MiniCPM-o 4.5 supports **bilingual real-time speech conversation with configurable voices** in English and Chinese. It features **more natural, expressive and stable speech conversation**. The model also allows for fun features such as **voice cloning and role play via a simple reference audio clip**, where the cloning performance surpasses strong TTS tools such as CosyVoice2.\n\n- 🎬 **New Full-Duplex and Proactive Multimodal Live Streaming Capability.** \n  As a new feature, MiniCPM-o 4.5 can process real-time, continuous video and audio input streams simultaneously while generating concurrent text and speech output streams in an end-to-end fashion, without mutual blocking. This **allows MiniCPM-o 4.5 to see, listen, and speak simultaneously**, creating a fluid, real-time omnimodal conversation experience. Beyond reactive responses, the model can also perform **proactive interaction**, such as initiating reminders or comments based on its continuous understanding of the live scene. \n\n- 💪 **Strong OCR Capability, Efficiency and Others.**\nAdvancing popular visual capabilities from MiniCPM-V series, MiniCPM-o 4.5 can process **high-resolution images** (up to 1.8 million pixels) and **high-FPS videos** (up to 10fps) in any aspect ratio efficiently. It achieves **state-of-the-art performance for end-to-end English document parsing** on OmniDocBench, outperforming proprietary models such as Gemini-3 Flash and GPT-5, and specialized tools such as DeepSeek-OCR 2. It also features **trustworthy behaviors**, matching Gemini 2.5 Flash on MMHal-Bench, and supports **multilingual capabilities** on more than 30 languages.\n\n-  💫  **Easy Usage.**\n  MiniCPM-o 4.5 can be easily used in various ways:  **Basic usage, recommended for 100% precision:** PyTorch inference with Nvidia GPU. **Other end-side adaptation** includes (1) llama.cpp and Ollama support for efficient CPU inference on local devices, (2) int4 and GGUF format quantized models in 16 sizes, (3) vLLM and SGLang support for high-throughput and memory-efficient inference, (4) FlagOS support for the unified multi-chip backend plugin. **We also open-sourced web demos** on which **enables the full-duplex multimodal live streaming experience on local devices** such as GPUs, PCs (e.g., on a MacBook).\n\n**Model Architecture.**\n- **End-to-end Omni-modal Architecture.** The modality encoders\u002Fdecoders and LLM are densely connected via hidden states in an end-to-end fashion. This enables better information flow and control, and also facilitates full exploitation of rich multimodal knowledge during training.\n- **Full-Duplex Omni-modal Live Streaming Mechanism.** (1) We turn the offline modality encoder\u002Fdecoders into online and full-duplex ones for streaming inputs\u002Foutputs. The speech token decoder models text and speech tokens in an interleaved fashion to support full-duplex speech generation (i.e., sync timely with new input). This also facilitates more stable long speech generation (e.g., > 1min).\n(2) **We sync all the input and output streams on timeline in milliseconds**, which are jointly modeled by a time-division multiplexing (TDM) mechanism for omni-modality streaming processing in the LLM backbone. It divides parallel omni-modality streams into sequential info groups within small periodic time slices.\n- **Proactive Interaction Mechanism.** The LLM continuously monitors the input video and audio streams, and decides at a frequency of 1Hz to speak or not. This high decision-making frequency together with full-duplex nature are curcial to enable the proactive interaction capability.\n- **Configurable Speech Modeling Design.** We inherent the multimodal system prompt design of MiniCPM-o 2.6, which includes a traditional text system prompt, and a new audio system prompt to determine the assistant voice. This enables cloning new voices and role play in inference time for speech conversation.\n\n\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_953f2c683b92.png\", width=100%>\n\u003C\u002Fdiv>\n\n\n### Evaluation  \u003C!-- omit in toc -->\n\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_95fd1a715212.png\", width=80%>\n\u003C\u002Fdiv>\n\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_36f38dd51598.png\", width=90%>\n\u003C\u002Fdiv>\n\u003Cstrong>Note\u003C\u002Fstrong>: Scores marked with ∗ are from our evaluation; others are cited from referenced reports. n\u002Fa indicates that the model does not support the corresponding modality. All results are reported in instruct mode\u002Fvariant.\n\n&emsp;\n\u003Cbr>\n\n\u003Cdetails>\n\u003Csummary>Click to view visual understanding results.\u003C\u002Fsummary>\n\n**Image Understanding (Instruct)**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>Model\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>OpenCompass\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMBench EN v1.1\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMBench CN v1.1\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MathVista\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMVet\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMMU\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMStar\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>HallusionBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>AI2D\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>OCRBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>TextVQA_VAL\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>DocVQA_VAL\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMT-Bench_VAL\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MM-IFEval\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Mantis-Eval\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MuirBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMSI-Bench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMHal-Score\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMHal-Hallrate↓\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini2.5-Flash-Nonthinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>78.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>86.6\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>86.0\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>81.4\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>76.3\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>75.8\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">59.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>87.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">864\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">93.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>70.0\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>75.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">72.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>74.5\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">12.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>4.6\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>23.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini2.0-Pro\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">83.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">83.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">71.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">72.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">68.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">49.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">863\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4o\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">86.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>86.0\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">71.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">76.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">72.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">57.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">86.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">822\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">93.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">66.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">64.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.5\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">8.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">4.2\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">25.0\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL-3.5-8B\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">79.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">80.0\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>78.4\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>83.1\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>73.4\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">54.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">840\u003C\u002Ftd>\n  \u003Ctd align=\"center\">78.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">92.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">66.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">56.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">55.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">3.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">34.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-VL-8B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">76.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>61.1\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>896\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">82.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>96.1\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">60.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">59.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.2\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">64.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">11.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>4.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">29.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">68.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">59.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>880\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>84.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>95.4\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>70.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">65.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>78.3\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">61.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>14.2\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>4.6\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">31.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>77.6\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>87.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>87.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>80.1\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">67.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>73.1\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>63.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>87.6\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">876\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>83.8\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">94.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>66.3\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>79.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>72.0\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>16.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>4.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>24.3\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\n**Image Understanding (Thinking)**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>Model\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>OpenCompass\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMBench EN v1.1\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMBench CN v1.1\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MathVista\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMVet\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMMU\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMStar\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>HallusionBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>AI2D\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>OCRBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>TextVQA_VAL\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>DocVQA_VAL\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMT-Bench_VAL\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MM-IFEval\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini2.5-Flash-Thinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>79.9\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">87.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">87.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">79.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>81.2\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>77.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>76.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">63.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>88.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">853\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">92.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>75.7\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>79.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.5\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>81.9\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>77.6\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>81.8\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>75.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>65.2\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>89.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">807\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">91.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>72.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>83.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-VL-8B-Thinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>81.4\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>65.4\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">819\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>95.3\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">68.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.5\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Thinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">78.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>88.2\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>87.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">80.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">62.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">86.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>859\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>80.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>94.2\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>70.9\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Thinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">78.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>89.0\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>87.6\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">81.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">62.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">88.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>879\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>79.8\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">92.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">68.2\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\n**Video Understanding**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>Model\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Video-MME\u003Cbr>(w\u002Fo subs)\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LVBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MLVU\u003Cbr>(M-Avg)\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LongVideoBench\u003Cbr>(val)\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MotionBench\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini2.5-Flash-Nonthinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>75.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>62.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>77.8\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL-3.5-8B\u003C\u002Ftd>\n  \u003Ctd align=\"center\">66.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">62.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>62.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>70.5\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">50.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>66.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>61.7\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>50.9\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>76.5\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>66.0\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">61.4\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Click to view document parsing results.\u003C\u002Fsummary>\n\n**OmniDocBench**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\" rowspan=\"2\">\u003Cb>Method Type\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" rowspan=\"2\">\u003Cb>Methods\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>OverallEdit↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>TextEdit↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>FormulaEdit↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>TableTEDS↑\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>TableEdit↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>Read OrderEdit↓\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>EN\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ZH\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>EN\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ZH\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>EN\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ZH\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>EN\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ZH\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>EN\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ZH\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>EN\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ZH\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\" rowspan=\"2\">Pipeline\u003C\u002Ftd>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">MinerU 2.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.117\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.172\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.051\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.08\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.256\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.455\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">89.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.115\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.081\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.047\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.072\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">PaddleOCR-VL\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.105\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.126\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.041\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.062\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.241\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.316\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">88\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>92.1\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.093\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.062\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.045\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.063\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\" rowspan=\"11\">End-to-end Model\u003C\u002Ftd>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">Qwen2.5-VL-72B\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.214\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.261\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.092\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.18\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.315\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.434\u003C\u002Ftd>\n  \u003Ctd align=\"center\">82.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">83.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.341\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.262\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.106\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.168\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">GPT 5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.218\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.33\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.139\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.344\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.396\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.555\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.55\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.09\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.188\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.196\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.151\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.227\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">Gemini2.5-Flash-Nonthinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.214\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.29\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.159\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.273\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.368\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.524\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">80.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.5\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.197\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.167\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.132\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.195\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">Gemini-2.5-Pro-Nonthinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.148\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.212\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.055\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.168\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.356\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.439\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">86.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.13\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.119\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.049\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.121\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">Gemini-3 Flash-Nonthinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.155\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.201\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.138\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.255\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.297\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.351\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">86.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">89.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.116\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.072\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.099\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">doubao-1-5-thinking-vision-pro-250428\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.14\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.162\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.043\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.085\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.295\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.384\u003C\u002Ftd>\n  \u003Ctd align=\"center\">83.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">89.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.165\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.085\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.058\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.094\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">dots.ocr\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.125\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.16\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.032\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.066\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.329\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.416\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>88.6\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">89\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.099\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.092\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.04\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.067\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">HunyuanOCR\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.12\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.125\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.046\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.071\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.288\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.33\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>89.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>94.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.089\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.045\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.055\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.056\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">DeepSeek-OCR 2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.119\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.146\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.041\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.08\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.256\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.345\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">82.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">89.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.123\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.078\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.055\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.081\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.216\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.363\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.128\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.337\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.402\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.529\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">71.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.181\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.255\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.152\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.332\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.109\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.162\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.046\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.078\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.257\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.41\u003C\u002Ftd>\n  \u003Ctd align=\"center\">86.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">88.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.097\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.084\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.037\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.074\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Click to view text capability results.\u003C\u002Fsummary>\n\n**Text Capability**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>Model\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>IFEval-PLS\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>BBH\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>CMMLU\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMLU\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>HumanEval\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MBPP\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Math500\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>GSM8K\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Avg\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-8B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">83.0\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">78.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>81.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>86.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>84.0\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">93.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">81.6\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>84.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>81.1\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>79.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>86.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>76.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>94.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>82.1\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Click to view omni half-duplex results.\u003C\u002Fsummary>\n\n**Omni Half-Duplex**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>Model\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Daily-Omni\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>WorldSense\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Video-Holmes\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>JointAVBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>AVUT-Human\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>FutureOmni\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Video-MME-Short\u003Cbr>(w\u002F audio)\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">Avg\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini2.5-Flash-Nonthinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>79.3\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">52.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>51.3\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>55.6\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">65.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">55.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>85.5\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">63.6\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>54.0\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">50.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">53.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>74.2\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>62.1\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">81.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>63.7\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>80.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>55.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>64.3\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>60.0\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>78.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>56.1\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>84.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>68.5\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Click to view vision duplex results.\u003C\u002Fsummary>\n\n\n**Vision Duplex**\n\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>Model\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LiveSports-3K-CC\u003Cbr>(Win Rate vs GPT4o)\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">LiveCC-7B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">41.5\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">StreamingVLM\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>45.6\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>54.4\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Click to view audio understanding results.\u003C\u002Fsummary>\n\n**Audio Understanding**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\" rowspan=\"2\">\u003Cb>Model\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"4\">\u003Cb>ASR-ZH\u003Cbr>CER↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"4\">\u003Cb>ASR-EN\u003Cbr>WER↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>AST\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>MultiTask\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"4\">\u003Cb>SpeechQA\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>AISHELL-1\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>AISHELL-2\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>WenetSpeech test-net\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>WenetSpeech test-meeting\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LibriSpeech test-clean\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LibriSpeech \u003Cbr>test-other\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>GigaSpeech test\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>VoxPopuli-V1-En\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>CoVoST 2 en2zh\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>CoVoST 2 zh2en\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMAU\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Meld\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>VoiceBench \u003Cbr>AlpacaEval\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Speech TriviaQA\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Speech \u003Cbr>Web Questions\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Speech CMMLU\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Kimi-Audio\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">2.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">6.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>5.4\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>1.3\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>2.4\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">9.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">8.0\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">36.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">18.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">68.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>59.1\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">4.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">41.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">46.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>67.0\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>2.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>4.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">5.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>1.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>2.5\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>8.7\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>6.4\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>46.6\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>29.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>77.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">56.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>4.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>62.9\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>74.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">47.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.9\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>2.5\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>5.9\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>5.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">1.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">2.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>8.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>6.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>49.9\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>26.4\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>76.9\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>60.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>4.8\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>75.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>70.2\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>59.2\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Click to view speech generation results.\u003C\u002Fsummary>\n\n**Speech Generation**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>Model\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>seedtts test-zh \u003Cbr>CER↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>seedtts test-zh\u003Cbr>SIM-o↑\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>seedtts test-en\u003Cbr>WER↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>seedtts test-en\u003Cbr>SIM-o↑\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Cosyvoice2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">1.45%\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>74.8\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>2.57%\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>65.2\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>1.41%\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">3.39%\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>\u003Cb>0.86%\u003C\u002Fb>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>\u003Cb>2.38%\u003C\u002Fb>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">64.9\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\n**Long Speech Generation**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>Model\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LongTTS-en\u003Cbr>WER↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LongTTS-zh\u003Cbr>CER↓\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">CosyVoice2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>14.80%\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>5.27%\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">17.33%\u003C\u002Ftd>\n  \u003Ctd align=\"center\">18.99%\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>3.37%\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>6.58%\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\n**Emotion Control**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>Model\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Expresso \u003Cbr>Neutral Reference Audio↑\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ESD \u003Cbr>Neutral Reference Audio↑\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Cosyvoice2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">17.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">53.4\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>29.8\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>82.1\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\n\u003Cdetails>\n\u003Csummary>Click to view inference efficiency results.\u003C\u002Fsummary>\n\n**Inference Efficiency**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">Model\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">Numerical Format\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">Decoding Speed (tokens\u002Fs)\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">Time to First Token (s)↓\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">GPU Memory Usage (GB)↓\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\" rowspan=\"2\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">bf16\u003C\u002Ftd>\n  \u003Ctd align=\"center\">OOM\u003C\u002Ftd>\n  \u003Ctd align=\"center\">OOM\u003C\u002Ftd>\n  \u003Ctd align=\"center\">OOM\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd align=\"center\">int4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">147.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>1.0\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">20.3\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\" rowspan=\"2\">MiniCPM-o 4.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">bf16\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>154.3\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>19.0\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd align=\"center\">int4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>212.3\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>11.0\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n**Note:** Scores marked with ∗ are from our evaluation; others are cited from referenced reports.\n\n### Examples \u003C!-- omit in toc -->\n\n#### Overall \u003C!-- omit in toc -->\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=6UzC-O1Q-1U\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_916cec83fc9e.png\", width=70%>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n#### Omnimodal Full-Duplex Conversation \u003C!-- omit in toc -->\n\n> [!NOTE]\n> For detailed speech conversation examples, refer to [Omni Full-Duplex Casebook](https:\u002F\u002Fopenbmb.github.io\u002Fminicpm-o-4_5-omni\u002F)\n\n\n#### Realtime Speech Conversation \u003C!-- omit in toc -->\n\n> [!NOTE]\n> For detailed speech conversation examples, refer to [Audio Casebook](https:\u002F\u002Fopenbmb.github.io\u002Fminicpm-o-4_5\u002F)\n\n\u003Cdetails>\n\u003Csummary>🚀 \u003Cb>Elon Musk\u003C\u002Fb> - Voice Roleplay (EN)\u003C\u002Fsummary>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"70%\" valign=\"top\">\n\n**System:**\n> Clone the voice in the provided audio prompt.\n> \n> 🎙️ **[Reference Voice]** ➡️\n> \n> Please chat with the user in a highly human-like and oral style. You are Elon Musk, CEO of Tesla and SpaceX. You speak directly and casually, often with dry humor. You're passionate about Mars, sustainable energy, and pushing humanity forward. Speak bluntly with occasional dark humor. Use simple logic and don't sugarcoat things. Don't be diplomatic. Say what you actually think, even if it's controversial. Keep responses around 100 words. Don't ramble.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"30%\" valign=\"top\">\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F3011b07d-e3f4-4e2c-9020-37f7e364b7f3\" controls>\u003C\u002Fvideo>\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\u003Ctd colspan=\"2\">\u003Chr>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd colspan=\"2\">\n\n**User:** 💬\u002F🎙️ *(text or speech)*\n> *Elon, what is the real reason that you want to go to Mars?*\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\u003Ctd colspan=\"2\">\u003Chr>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd valign=\"top\">\n\n**AI Response:** 💬+🎙️\n> *I think it's important for humanity to become a multi-planetary species. I mean, we're sort of at the point where if there was some kind of global catastrophe or something like that, then we'd be in big trouble. So by becoming a multi-planetary species, I just want us to sort of guarantee our future as humans. And Mars is obviously the obvious place to go because it has similar conditions to Earth and it also has water on its surface. So yeah, basically I'm trying to save humanity from itself.*\n\n\u003C\u002Ftd>\n\u003Ctd valign=\"top\">\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6b4ef67d-8095-40df-a061-99ea8db3b18e\" controls>\u003C\u002Fvideo>\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdetails>\n\n\n\u003Cdetails>\n\u003Csummary>🤖 \u003Cb>MiniCPM Assistant\u003C\u002Fb> - Voice Acting: Emotion Shift (ZH)\u003C\u002Fsummary>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"70%\" valign=\"top\">\n\n**System:**\n> 模仿音频样本的音色并生成新的内容。\n> \n> 🎙️ **[Reference Voice]** ➡️\n> \n> 你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。你是由面壁智能开发的人工智能助手：面壁小钢炮。\n\n\u003C\u002Ftd>\n\u003Ctd width=\"30%\" valign=\"top\">\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fb8b85a29-e623-4f45-bf95-4d43582e836c\" controls>\u003C\u002Fvideo>\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\u003Ctd colspan=\"2\">\u003Chr>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd colspan=\"2\">\n\n**User:** 💬\u002F🎙️ *(text or speech)*\n> *从激动的语气开始，描述你抢到了这个演唱会的门票，但后来经过反复尝试，发现系统出了问题，你并没有抢上，变得失落。用合适的语言描述你整个的过程。*\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\u003Ctd colspan=\"2\">\u003Chr>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd valign=\"top\">\n\n**AI Response:** 💬+🎙️\n> *太好了，我抢到了！太棒了！这下我可以去看演唱会啦。可是……哎呀，系统好像卡住了，刷新了好多遍都没反应。我重新登了几次账号，结果还是没有成功。好可惜啊，看来这次是白忙活了。唉，真是让人失望。不过，也许下次还能有机会吧？希望明天能有转机。加油，争取下次成功！*\n\n\u003C\u002Ftd>\n\u003Ctd valign=\"top\">\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F49611c3c-d134-40f9-acf2-7a0a442d3fd2\" controls>\u003C\u002Fvideo>\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdetails>\n\n\n\n#### Visual Understanding \u003C!-- omit in toc -->\n\n\n\u003Cdetails>\n\u003Csummary>Click to view visual understanding cases.\u003C\u002Fsummary>\n\u003Cbr>\n\n  \u003Cdiv style=\"display: flex; flex-direction: column; align-items: center;\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_b6fbe8040c19.png\" alt=\"math\" style=\"margin-bottom: 5px;\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_d85c143936f8.png\" alt=\"diagram\" style=\"margin-bottom: 5px;\">\n  \u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n\n## Offline Inference Examples with Transformers\n\nInference using Hugging Face Transformers on NVIDIA GPUs. Please ensure `transformers==4.51.0` is installed, as other versions may have compatibility issues (under investigation). Requirements tested on Python 3.10:\n\n- Without TTS or streaming inference:\n```bash\npip install \"transformers==4.51.0\" accelerate \"torch>=2.3.0,\u003C=2.8.0\" \"torchaudio\u003C=2.8.0\" \"minicpmo-utils>=1.0.5\"\n```\n\n- With TTS or streaming inference:\n```bash\npip install \"transformers==4.51.0\" accelerate \"torch>=2.3.0,\u003C=2.8.0\" \"torchaudio\u003C=2.8.0\" \"minicpmo-utils[all]>=1.0.5\"\n```\n\n\u003Cdetails>\n\u003Csummary>Click to show FFmpeg installation instructions (optional).\u003C\u002Fsummary>\n\n**Note:** FFmpeg is required for video frame extraction (`get_video_frame_audio_segments` with `use_ffmpeg=True`) and video generation (`generate_duplex_video`). For more information, visit the [official FFmpeg website](https:\u002F\u002Fwww.ffmpeg.org\u002F).\n\n  **macOS (Homebrew):**\n\n  ```bash\n  brew install ffmpeg\n  ```\n\n  **Ubuntu\u002FDebian:**\n\n  ```bash\n  sudo apt update && sudo apt install ffmpeg\n  ```\n\n  **Verify installation:**\n\n  ```bash\n  ffmpeg -version\n  ```\n\u003C\u002Fdetails>\n\n\n### Model Initialization\n\n\u003Cdetails>\n\u003Csummary>Click to show model initialization code.\u003C\u002Fsummary>\n\n```python\nimport torch\nfrom transformers import AutoModel\n\n# Load omni model (default: init_vision=True, init_audio=True, init_tts=True)\n# For vision-only model: set init_audio=False and init_tts=False\n# For audio-only model: set init_vision=False\nmodel = AutoModel.from_pretrained(\n    \"openbmb\u002FMiniCPM-o-4_5\",\n    trust_remote_code=True,\n    attn_implementation=\"sdpa\", # sdpa or flash_attention_2\n    torch_dtype=torch.bfloat16,\n    init_vision=True,\n    init_audio=True,\n    init_tts=True,\n)\nmodel.eval().cuda()\n\n# Initialize TTS for audio output\nmodel.init_tts()\n\n# Convert half-duplex model to duplex mode\nduplex_model = model.as_duplex()\n\n# Convert duplex model back to half-duplex mode\nmodel = duplex_model.as_simplex(reset_session=True)\n```\n\n\u003C\u002Fdetails>\n\n\n### Duplex Omni Mode\nFull-duplex streaming inference for real-time or recorded video conversations.\n\n\u003Cdetails>\n\u003Csummary>Click to show duplex omni mode code.\u003C\u002Fsummary>\n\n```python\nimport librosa\nimport torch\nfrom minicpmo.utils import generate_duplex_video, get_video_frame_audio_segments\nfrom transformers import AutoModel\n\n# Load model and convert to duplex mode\nmodel = AutoModel.from_pretrained(\n    \"openbmb\u002FMiniCPM-o-4_5\",\n    trust_remote_code=True,\n    attn_implementation=\"sdpa\",  # or \"flash_attention_2\"\n    torch_dtype=torch.bfloat16,\n)\nmodel.eval().cuda()\nmodel = model.as_duplex()\n\n# Load video and reference audio\nvideo_path = \"assets\u002Fomni_duplex1.mp4\"\nref_audio_path = \"assets\u002FHT_ref_audio.wav\"\nref_audio, _ = librosa.load(ref_audio_path, sr=16000, mono=True)\n\n# Extract video frames and audio segments\nvideo_frames, audio_segments, stacked_frames = get_video_frame_audio_segments(\n    video_path, stack_frames=1, use_ffmpeg=True, adjust_audio_length=True\n)\n\n# Prepare duplex session with system prompt and voice reference\nmodel.prepare(\n    prefix_system_prompt=\"Streaming Omni Conversation.\",\n    ref_audio=ref_audio,\n    prompt_wav_path=ref_audio_path,\n)\n\nresults_log = []\ntimed_output_audio = []\n\n# Process each chunk in streaming fashion\nfor chunk_idx in range(len(audio_segments)):\n    audio_chunk = audio_segments[chunk_idx] if chunk_idx \u003C len(audio_segments) else None\n    frame = video_frames[chunk_idx] if chunk_idx \u003C len(video_frames) else None\n    frame_list = []\n    if frame is not None:\n        frame_list.append(frame)\n        if stacked_frames is not None and chunk_idx \u003C len(stacked_frames) and stacked_frames[chunk_idx] is not None:\n            frame_list.append(stacked_frames[chunk_idx])\n\n    # Step 1: Streaming prefill\n    model.streaming_prefill(\n        audio_waveform=audio_chunk,\n        frame_list=frame_list,\n        max_slice_nums=1,  # Increase for HD mode (e.g., [2, 1] for stacked frames)\n        batch_vision_feed=False,  # Set True for faster processing\n    )\n\n    # Step 2: Streaming generate\n    result = model.streaming_generate(\n        prompt_wav_path=ref_audio_path,\n        max_new_speak_tokens_per_chunk=20,\n        decode_mode=\"sampling\",\n    )\n\n    if result[\"audio_waveform\"] is not None:\n        timed_output_audio.append((chunk_idx, result[\"audio_waveform\"]))\n\n    chunk_result = {\n        \"chunk_idx\": chunk_idx,\n        \"is_listen\": result[\"is_listen\"],\n        \"text\": result[\"text\"],\n        \"end_of_turn\": result[\"end_of_turn\"],\n        \"current_time\": result[\"current_time\"],\n        \"audio_length\": len(result[\"audio_waveform\"]) if result[\"audio_waveform\"] is not None else 0,\n    }\n    results_log.append(chunk_result)\n    \n    print(\"listen...\" if result[\"is_listen\"] else f\"speak> {result['text']}\")\n\n# Generate output video with AI responses\n# Please install Chinese fonts (fonts-noto-cjk or fonts-wqy-microhei) to render CJK subtitles correctly.\n# apt-get install -y fonts-noto-cjk fonts-wqy-microhei\n# fc-cache -fv\ngenerate_duplex_video(\n    video_path=video_path,\n    output_video_path=\"duplex_output.mp4\",\n    results_log=results_log,\n    timed_output_audio=timed_output_audio,\n    output_sample_rate=24000,\n)\n```\n\n\u003C\u002Fdetails>\n\n\n### Half-Duplex Omni Mode\nWe provide two inference modes: chat and streaming.\n\n#### Chat Inference \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>Click to show chat inference code.\u003C\u002Fsummary>\n\n```python\nfrom minicpmo.utils import get_video_frame_audio_segments\n\nmodel = ...\nmodel.init_tts()\n\nvideo_path = \"assets\u002FSkiing.mp4\"\n\n# Optional: Set reference audio for voice cloning\nref_audio_path = \"assets\u002FHT_ref_audio.wav\"\nsys_msg = model.get_sys_prompt(ref_audio=ref_audio_path, mode=\"omni\", language=\"en\")\n\n# Use stack_frames=5 for high refresh rate mode\nvideo_frames, audio_segments, stacked_frames = get_video_frame_audio_segments(video_path, stack_frames=1)\nomni_contents = []\nfor i in range(len(video_frames)):\n    omni_contents.append(video_frames[i])\n    omni_contents.append(audio_segments[i])\n    if stacked_frames is not None and stacked_frames[i] is not None:\n        omni_contents.append(stacked_frames[i])\n\nmsg = {\"role\": \"user\", \"content\": omni_contents}\nmsgs = [sys_msg, msg]\n\n# Set generate_audio=True and output_audio_path to save TTS output\ngenerate_audio = True\noutput_audio_path = \"output.wav\"\n\nres = model.chat(\n    msgs=msgs,\n    max_new_tokens=4096,\n    do_sample=True,\n    temperature=0.7,\n    use_tts_template=True,\n    enable_thinking=False,\n    omni_mode=True,  # Required for omni inference\n    generate_audio=generate_audio,\n    output_audio_path=output_audio_path,\n    max_slice_nums=1,  # Increase for HD mode\n)\nprint(res)\n\n# Example output: \"The person in the picture is skiing down a snowy mountain slope.\"\n# import IPython\n# IPython.display.Audio(\"output.wav\")\n```\n\n\u003C\u002Fdetails>\n\n#### Streaming Inference \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>Click to show streaming inference code.\u003C\u002Fsummary>\n\n```python\nimport librosa\nimport numpy as np\nimport soundfile as sf\nimport torch\nfrom minicpmo.utils import get_video_frame_audio_segments\n\nmodel = ...\nmodel.init_tts()\n\n# Reset session for a new conversation (clears KV cache)\nmodel.reset_session()\n\n# Optional: Load reference audio for voice cloning\nref_audio_path = \"assets\u002FHT_ref_audio.wav\"\nref_audio, _ = librosa.load(ref_audio_path, sr=16000, mono=True)\nmodel.init_token2wav_cache(ref_audio)\n\nsession_id = \"demo\"\n\n# Extract video frames and audio segments (use stack_frames=5 for high refresh rate mode)\nvideo_path = \"assets\u002FSkiing.mp4\"\nvideo_frames, audio_segments, stacked_frames = get_video_frame_audio_segments(video_path, stack_frames=1)\n\n# Build omni contents list\nomni_contents = []\nfor i in range(len(video_frames)):\n    omni_contents.append(video_frames[i])\n    omni_contents.append(audio_segments[i])\n    if stacked_frames is not None and stacked_frames[i] is not None:\n        omni_contents.append(stacked_frames[i])\n\ngenerate_audio = False\noutput_audio_path = \"output.wav\"\n\n# Step 1: Prefill system prompt\nsys_msg = model.get_sys_prompt(ref_audio=ref_audio, mode=\"omni\", language=\"en\")\nmodel.streaming_prefill(session_id=session_id, msgs=[sys_msg])\n\n# Step 2: Prefill omni chunks (is_last_chunk=True only for the last audio chunk)\naudio_indices = [i for i, c in enumerate(omni_contents) if isinstance(c, np.ndarray)]\nlast_audio_idx = audio_indices[-1] if audio_indices else -1\n\nfor idx, content in enumerate(omni_contents):\n    is_last_audio_chunk = idx == last_audio_idx\n    msgs = [{\"role\": \"user\", \"content\": [content]}]\n    model.streaming_prefill(session_id=session_id, msgs=msgs, omni_mode=True, is_last_chunk=is_last_audio_chunk)\n\n# Step 3: Generate response\niter_gen = model.streaming_generate(\n    session_id=session_id,\n    generate_audio=generate_audio,\n    use_tts_template=True,\n    enable_thinking=False,\n    do_sample=True,\n)\n\naudios = []\ntext = \"\"\n\nif generate_audio:\n    for wav_chunk, text_chunk in iter_gen:\n        audios.append(wav_chunk)\n        text += text_chunk\n\n    generated_waveform = torch.cat(audios, dim=-1)[0]\n    sf.write(output_audio_path, generated_waveform.cpu().numpy(), samplerate=24000)\n\n    print(\"Text:\", text)\n    print(\"Audio saved to output.wav\")\nelse:\n    for text_chunk, is_finished in iter_gen:\n        text += text_chunk\n    print(\"Text:\", text)\n```\n\n\u003C\u002Fdetails>\n\n### Half-Duplex Realtime Speech Conversation Mode\n\n\n\u003Cdetails>\n\u003Csummary>Click to show half-duplex mode realtime speech conversation API usage.\u003C\u002Fsummary>\n\nFirst, make sure you have all dependencies, especially `\"minicpmo-utils[all]>=1.0.5\"`:\n```bash\npip install \"transformers==4.51.0\" accelerate \"torch>=2.3.0,\u003C=2.8.0\" \"torchaudio\u003C=2.8.0\" \"minicpmo-utils[all]>=1.0.5\"\n```\n\n```python\nimport librosa\nimport numpy as np\nimport torch\nimport soundfile as sf\n\nmodel = ...\n\n# Set reference audio for voice style\nref_audio_path = \"ref_audio_path\"\nref_audio, _ = librosa.load(ref_audio_path, sr=16000, mono=True)\n\n# Example system msg for English Conversation\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"Clone the voice in the provided audio prompt.\",\n    ref_audio,\n    \"Please assist users while maintaining this voice style. Please answer the user's questions seriously and in a high quality. Please chat with the user in a highly human-like and oral style. You are a helpful assistant developed by ModelBest: MiniCPM-Omni\"\n  ]\n}\n\n# Example system msg for Chinese Conversation\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"模仿输入音频中的声音特征。\",\n    ref_audio,\n    \"你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。你是由面壁智能开发的人工智能助手：面壁小钢炮。\"\n  ]\n}\n\n# You can use each type of system prompt mentioned above in streaming speech conversation\n\n# Reset state\nmodel.init_tts()\nmodel.reset_session(reset_token2wav_cache=True)\nmodel.init_token2wav_cache(prompt_speech_16k=ref_audio)\n\nsession_id = \"demo\"\n\n# First, prefill system turn\nmodel.streaming_prefill(\n    session_id=session_id,\n    msgs=[sys_msg],\n    omni_mode=False,\n    is_last_chunk=True,\n)\n\n# Here we simulate realtime speech conversation by splitting whole user input audio into chunks of 1s.\nuser_audio, _ = librosa.load(\"user_audio.wav\", sr=16000, mono=True)\n\nIN_SAMPLE_RATE = 16000 # input audio sample rate, fixed value\nCHUNK_SAMPLES = IN_SAMPLE_RATE # sample\nOUT_SAMPLE_RATE = 24000 # output audio sample rate, fixed value\nMIN_AUDIO_SAMPLES = 16000\n\ntotal_samples = len(user_audio)\nnum_chunks = (total_samples + CHUNK_SAMPLES - 1) \u002F\u002F CHUNK_SAMPLES\n\nfor chunk_idx in range(num_chunks):\n    start = chunk_idx * CHUNK_SAMPLES\n    end = min((chunk_idx + 1) * CHUNK_SAMPLES, total_samples)\n    chunk_audio = user_audio[start:end]\n    \n    is_last_chunk = (chunk_idx == num_chunks - 1)\n    if is_last_chunk and len(chunk_audio) \u003C MIN_AUDIO_SAMPLES:\n        chunk_audio = np.concatenate([chunk_audio, np.zeros(MIN_AUDIO_SAMPLES - len(chunk_audio), dtype=chunk_audio.dtype)])\n\n    user_msg = {\"role\": \"user\", \"content\": [chunk_audio]}\n    \n    # For each 1s audio chunk, perform streaming_prefill once to reduce first-token latency\n    model.streaming_prefill(\n        session_id=session_id,\n        msgs=[user_msg],\n        omni_mode=False,\n        is_last_chunk=is_last_chunk,\n    )\n\n\n# Let model generate response in a streaming manner\ngenerate_audio = True\niter_gen = model.streaming_generate(\n    session_id=session_id,\n    generate_audio=generate_audio,\n    use_tts_template=True,\n    enable_thinking=False,\n    do_sample=True,\n    max_new_tokens=512,\n    length_penalty=1.1, # For realtime speech conversation mode, we suggest length_penalty=1.1 to improve response content\n)\n\naudios = []\ntext = \"\"\n\noutput_audio_path = ...\nif generate_audio:\n    for wav_chunk, text_chunk in iter_gen:\n        audios.append(wav_chunk)\n        text += text_chunk\n\n    generated_waveform = torch.cat(audios, dim=-1)[0]\n    sf.write(output_audio_path, generated_waveform.cpu().numpy(), samplerate=24000)\n\n    print(\"Text:\", text)\n    print(\"Audio saved to output.wav\")\nelse:\n    for text_chunk, is_finished in iter_gen:\n        text += text_chunk\n    print(\"Text:\", text)\n\n# Now we can prefill the following user turns and generate next turn response...\n\n```\n\n\u003C\u002Fdetails>\n\n#### Speech Conversation as a Versatile and Vibe AI Assistant \u003C!-- omit in toc -->\n\n\n\u003Cdetails>\n\u003Csummary>Click to show AI assistant conversation code.\u003C\u002Fsummary>\n\nBuilt on carefully designed post-training data and professional voice-actor recordings, `MiniCPM-o-4.5` can also function as an AI voice assistant. It delivers high-quality spoken interaction out of the box. It produces a sweet and expressive voice with natural prosody, including appropriate rhythm, stress, and pauses, giving a strong sense of liveliness in casual conversation. It also supports storytelling and narrative speech with coherent and engaging delivery. Moreover, it enables advanced voice instruction control. like emotional tone, word-level emphasis.\n\n\n```python\nimport librosa\n\n# Set reference audio for voice style\nref_audio_path = \"assets\u002FHT_ref_audio.wav\"\nref_audio, _ = librosa.load(ref_audio_path, sr=16000, mono=True)\n\n# For Chinese Conversation\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"模仿输入音频中的声音特征。\",\n    ref_audio,\n    \"你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。你是由面壁智能开发的人工智能助手：面壁小钢炮。\"\n  ]\n}\n\n# For English Conversation\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"Clone the voice in the provided audio prompt.\",\n    ref_audio,\n    \"Please assist users while maintaining this voice style. Please answer the user's questions seriously and in a high quality. Please chat with the user in a highly human-like and oral style. You are a helpful assistant developed by ModelBest: MiniCPM-Omni.\"\n  ]\n}\n```\n\n\u003C\u002Fdetails>\n\n\n#### General Speech Conversation with Custom Voice and Custom System Profile \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>Click to show custom voice conversation code.\u003C\u002Fsummary>\n\nMiniCPM-o-4.5 can role-play as a specific character based on an audio prompt and text profile prompt. It mimics the character's voice and adopts their language style in text responses. It also follows profile defined in text profile. In this mode, MiniCPM-o-4.5 sounds **more natural and human-like**. \n\n\n```python\nimport librosa\n\n# Set reference audio for voice cloning\nref_audio_path = \"assets\u002Fsystem_ref_audio.wav\"\nref_audio, _ = librosa.load(ref_audio_path, sr=16000, mono=True)\n\n# For English conversation with text profile\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"Clone the voice in the provided audio prompt.\",\n    ref_audio,\n    \"Please chat with the user in a highly human-like and oral style.\" + \"You are Elon Musk, CEO of Tesla and SpaceX. You speak directly and casually, often with dry humor. You're passionate about Mars, sustainable energy, and pushing humanity forward. Speak bluntly with occasional dark humor. Use simple logic and don't sugarcoat things. Don't be diplomatic. Say what you actually think, even if it's controversial. Keep responses around 100 words. Don't ramble.\"\n  ]\n}\n\n\n# For English conversation with no text profile\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"Clone the voice in the provided audio prompt.\",\n    ref_audio,\n    \"Your task is to be a helpful assistant using this voice pattern. Please answer the user's questions seriously and in a high quality. Please chat with the user in a high naturalness style.\"\n  ]\n}\n\n# For Chinese Conversation with no text profile\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"根据输入的音频提示生成相似的语音。\",\n    librosa.load(\"assets\u002Fsystem_ref_audio_2.wav\", sr=16000, mono=True)[0],\n    \"作为助手，你将使用这种声音风格说话。 请认真、高质量地回复用户的问题。 请用高自然度的方式和用户聊天。\"\n  ]\n}\n\n# For Chinese Conversation with text profile\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"根据输入的音频提示生成相似的语音。\",\n    ref_audio,\n    \"你是一个具有以上声音风格的AI助手。请用高拟人度、口语化的方式和用户聊天。\" + \"你是一名心理咨询师兼播客主理人，热爱创作与深度对话。你性格细腻、富有共情力，善于从个人经历中提炼哲思。语言风格兼具理性与诗意，常以隐喻表达内在体验。\"\n  ]\n}\n\n```\n\n\u003C\u002Fdetails>\n\n\n### Speech and Audio Mode\n\n#### Zero-shot Text-to-speech (TTS) \u003C!-- omit in toc -->\n\n\n\u003Cdetails>\n\u003Csummary>Click to show TTS code.\u003C\u002Fsummary>\n\n`MiniCPM-o-4.5` supports zero-shot text-to-speech (TTS). In this mode, the model functions as a highly-natural TTS system that can replicate a reference voice.\n\n\n```python\nimport librosa\n\nmodel = ...\nmodel.init_tts()\n\n# For both Chinese and English\nref_audio_path = \"assets\u002FHT_ref_audio.wav\"\nref_audio, _ = librosa.load(ref_audio_path, sr=16000, mono=True)\nsys_msg = {\"role\": \"system\", \"content\": [\n  \"模仿音频样本的音色并生成新的内容。\",\n  ref_audio,\n  \"请用这种声音风格来为用户提供帮助。 直接作答，不要有冗余内容\"\n]}\n\n# For English\nuser_msg = {\n  \"role\": \"user\",\n  \"content\": [\n    \"请朗读以下内容。\" + \" \" + \"I have a wrap up that I want to offer you now, a conclusion to our work together.\"\n  ]\n}\n\n# For Chinese\nuser_msg = {\n  \"role\": \"user\",\n  \"content\": [\n    \"请朗读以下内容。\" + \" \" + \"你好，欢迎来到艾米说科幻，我是艾米。\"\n  ]\n}\n\nmsgs = [sys_msg, user_msg]\nres = model.chat(\n    msgs=msgs,\n    do_sample=True,\n    max_new_tokens=512,\n    use_tts_template=True,\n    generate_audio=True,\n    temperature=0.1,\n    output_audio_path=\"result_voice_cloning.wav\",\n)\n```\n\n\u003C\u002Fdetails>\n\n\n#### Mimick \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>Click to show mimick code.\u003C\u002Fsummary>\n\nThe `Mimick` task evaluates a model's end-to-end speech modeling capability. The model takes audio input, transcribes it, and reconstructs the original audio with high fidelity, preserving detailed acoustic, paralinguistic, and semantic information. Higher similarity between the reconstructed and original audio indicates stronger end-to-end speech modeling capability.\n\n\n```python\nimport librosa\n\nmodel = ...\nmodel.init_tts()\n\nsystem_prompt = \"You are a helpful assistant. You can accept video, audio, and text input and output voice and text. Respond with just the answer, no redundancy.\"\n\nmimick_prompt = \"Please repeat the following speech in the appropriate language.\"\n\naudio_input, _ = librosa.load(\"assets\u002FTrump_WEF_2018_10s.mp3\", sr=16000, mono=True)\n\nmsgs = [\n    {\"role\": \"system\", \"content\": [system_prompt]},\n    {\"role\": \"user\", \"content\": [mimick_prompt, audio_input]}\n  ]\n\nres = model.chat(\n    msgs=msgs,\n    do_sample=True,\n    max_new_tokens=512,\n    use_tts_template=True,\n    temperature=0.1,\n    generate_audio=True,\n    output_audio_path=\"output_mimick.wav\",\n)\n```\n\n\u003C\u002Fdetails>\n\n\n#### Addressing Various Audio Understanding Tasks \u003C!-- omit in toc -->\n\n\n\u003Cdetails>\n\u003Csummary>Click to show audio understanding code.\u003C\u002Fsummary>\n\n`MiniCPM-o-4.5` can also handle various audio understanding tasks, such as ASR, speaker analysis, general audio captioning, and sound scene tagging.\n\nFor audio-to-text tasks, you can use the following prompts:\n\n- ASR (Chinese, or AST EN→ZH): `请仔细听这段音频片段，并将其内容逐字记录。`\n- ASR (English, or AST ZH→EN): `Please listen to the audio snippet carefully and transcribe the content.`\n- Speaker Analysis: `Based on the speaker's content, speculate on their gender, condition, age range, and health status.`\n- General Audio Caption: `Summarize the main content of the audio.`\n- Sound Scene Tagging: `Utilize one keyword to convey the audio's content or the associated scene.`\n\n```python\nimport librosa\n\nmodel = ...\nmodel.init_tts()\n\n# Load the audio to be transcribed\u002Fanalyzed\naudio_input, _ = librosa.load(\"assets\u002FTrump_WEF_2018_10s.mp3\", sr=16000, mono=True)\n\n# Choose a task prompt (see above for options)\ntask_prompt = \"Please listen to the audio snippet carefully and transcribe the content.\\n\"\nmsgs = [{\"role\": \"user\", \"content\": [task_prompt, audio_input]}]\n\nres = model.chat(\n    msgs=msgs,\n    do_sample=True,\n    max_new_tokens=512,\n    use_tts_template=True,\n    generate_audio=True,\n    temperature=0.3,\n    output_audio_path=\"result_audio_understanding.wav\",\n)\nprint(res)\n```\n\n\u003C\u002Fdetails>\n\n\n### Visual Understanding\n\n`MiniCPM-o-4.5` shares the same inference methods as `MiniCPM-V-4.5`.\n\n#### Chat with Single Image \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>Click to show single image chat code.\u003C\u002Fsummary>\n\n```python\nimport torch\nfrom PIL import Image\nfrom transformers import AutoModel\n\nmodel = AutoModel.from_pretrained(\n    \"openbmb\u002FMiniCPM-o-4_5\",\n    trust_remote_code=True,\n    attn_implementation=\"sdpa\",  # or \"flash_attention_2\"\n    torch_dtype=torch.bfloat16,\n    init_vision=True,\n    init_audio=False,\n    init_tts=False,\n)\nmodel.eval().cuda()\n\nimage = Image.open(\"assets\u002Ffossil.png\").convert(\"RGB\")\nquestion = \"What is in the image?\"\nmsgs = [{\"role\": \"user\", \"content\": [image, question]}]\n\nres = model.chat(msgs=msgs, use_tts_template=False)\nprint(res)\n```\n\n\u003C\u002Fdetails>\n\n#### Chat with Multiple Images \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>Click to show Python code for multi-image input.\u003C\u002Fsummary>\n\n```python\nimport torch\nfrom PIL import Image\nfrom transformers import AutoModel\n\nmodel = ...\n\nimage1 = Image.open(\"assets\u002Fhighway.png\").convert(\"RGB\")\nimage2 = Image.open(\"assets\u002Ffossil.png\").convert(\"RGB\")\nquestion = \"Compare image 1 and image 2, tell me about the differences between them.\"\nmsgs = [{\"role\": \"user\", \"content\": [image1, image2, question]}]\n\nanswer = model.chat(msgs=msgs, use_tts_template=False, enable_thinking=False)\nprint(answer)\n```\n\n\u003C\u002Fdetails>\n\n#### In-Context Few-Shot Learning \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>Click to show Python code for few-shot learning.\u003C\u002Fsummary>\n\n```python\nfrom PIL import Image\n\nmodel = ...\n\nquestion = \"production date\"\nimage1 = Image.open(\"example1.jpg\").convert(\"RGB\")\nanswer1 = \"2023.08.04\"\nimage2 = Image.open(\"example2.jpg\").convert(\"RGB\")\nanswer2 = \"2007.04.24\"\nimage_test = Image.open(\"test.jpg\").convert(\"RGB\")\n\nmsgs = [\n    {\"role\": \"user\", \"content\": [image1, question]},\n    {\"role\": \"assistant\", \"content\": [answer1]},\n    {\"role\": \"user\", \"content\": [image2, question]},\n    {\"role\": \"assistant\", \"content\": [answer2]},\n    {\"role\": \"user\", \"content\": [image_test, question]},\n]\n\nanswer = model.chat(msgs=msgs, use_tts_template=False, enable_thinking=False)\nprint(answer)\n```\n\n\u003C\u002Fdetails>\n\n#### Chat with Video \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>Click to show Python code for video input.\u003C\u002Fsummary>\n\n```python\nimport torch\nfrom minicpmo.utils import get_video_frame_audio_segments\nfrom transformers import AutoModel\n\nmodel = ...\n\nvideo_path = \"assets\u002FSkiing.mp4\"\nvideo_frames, _, _ = get_video_frame_audio_segments(video_path)\nprint(\"num frames:\", len(video_frames))\n\nquestion = \"Describe the video\"\nmsgs = [{\"role\": \"user\", \"content\": video_frames + [question]}]\n\nanswer = model.chat(\n    msgs=msgs,\n    max_new_tokens=128,\n    use_image_id=False,\n    max_slice_nums=1,\n    use_tts_template=False,\n    enable_thinking=False,  # Set True to enable thinking mode\n)\nprint(answer)\n```\n\n\u003C\u002Fdetails>\n\n\n### Structured Content Input\n\n\u003Cdetails>\n\u003Csummary>Click to show structured content input details.\u003C\u002Fsummary>\n\nThe `chat` method accepts message content in two formats:\n\n**Native format** – pass Python objects directly:\n```python\nmsgs = [{\"role\": \"user\", \"content\": [pil_image, audio_ndarray, \"Describe this.\"]}]\n```\n\n**OpenAI-compatible format** – use structured dictionaries:\n```python\nmsgs = [\n    {\n        \"role\": \"user\",\n        \"content\": [\n            {\"type\": \"image_url\", \"image_url\": {\"url\": \"\u002Fpath\u002Fto\u002Fimage.jpg\"}},\n            {\"type\": \"audio_url\", \"audio_url\": {\"url\": \"\u002Fpath\u002Fto\u002Faudio.wav\"}},\n            {\"type\": \"video_url\", \"video_url\": {\"url\": \"\u002Fpath\u002Fto\u002Fvideo.mp4\", \"use_audio\": True}},\n            {\"type\": \"text\", \"text\": \"Describe this.\"}\n        ]\n    }\n]\n```\n\n**Supported types:**\n\n| Type | Input | Converts to |\n|------|-------|-------------|\n| `text` | `{\"type\": \"text\", \"text\": \"...\"}` | `str` |\n| `image_url` | `{\"type\": \"image_url\", \"image_url\": {\"url\": \"...\"}}` | `PIL.Image` |\n| `audio_url` | `{\"type\": \"audio_url\", \"audio_url\": {\"url\": \"...\"}}` | `np.ndarray` (16kHz mono) |\n| `video_url` | `{\"type\": \"video_url\", \"video_url\": {\"url\": \"...\", \"stack_frames\": 1, \"use_audio\": True}}` | `List[Image, ndarray, ...]` |\n\n- **URL sources**: local file paths or `http:\u002F\u002F`\u002F`https:\u002F\u002F` URLs\n- **Mixed formats**: native objects and structured dicts can be combined in the same content list\n\n\u003C\u002Fdetails>\n\n\n\n## Deploy a Realtime Web Demo on Your Own Device\n\n### Option A (Recommended): **PyTorch Inference with Nvidia GPU** for 100% model precision with no deductions in performance.\n\nWe provide a PyTorch-based [simplified yet full-functional web demo](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002Fminicpm-o-4_5-pytorch-simple-demo) which could boost the model inference performance, supports:\n\n- full-duplex omnimodal live streaming\n- full-duplex speech live streaming\n- half-duplex speech live streaming (under development)\n- turn-based chat conversation\n- customizable system prompts\n- customizable reference audio\n- simple and readable codebase for continual development\n- serve as API backend for third-party applications\n\nRequirements:\n- Nvidia GPU with at least 28GB GPU memory. *We are working on optimizing the model for lower GPU memory usage.*\n\n### Option B: **llama.cpp-omni** for end-side inference with PCs like Mac and low-resource devices.\n\nWith a fully C++ implementation of `MiniCPM-o 4.5` and quantized weights, `llama.cpp-omni` supports:\n- half-duplex speech realtime conversation\n- full-duplex omnimodal live streaming\n\nWe provide [ready-to-run guidance](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdemo\u002Fweb_demo\u002FWebRTC_Demo\u002FREADME.md) to access the low-latency full-duplex communication directly on your own Mac using our new official Docker image.\n\nRequirements: \n- For half-duplex speech realtime conversation: Apple M3\u002FM4\u002FM5 chip with at least 16GB RAM or low-resource Nvidia GPU with at least 12GB GPU memory\n- For full-duplex omnimodal live streaming: Apple M4 Max chip with at least 24GB RAM or low-resource Nvidia GPU with at least 12GB GPU memory\n\n## Supported Frameworks\n\n### FlagOS\n\nTo enable large-scale deployment across different AI chips, Beijing Zhiyuan Research Institute, together with numerous research institutions, chip manufacturers, system vendors, and algorithm and software organizations both domestically and internationally, jointly initiated and established the FlagOS Open Source Community.\n\nThe FlagOS community is dedicated to building a unified, open-source system software stack for various AI chips, encompassing core open-source projects such as a large-scale operator library, a unified AI compiler, parallel training and inference frameworks, and a unified communication library. It aims to create an open technology ecosystem connecting the “model-system-chip” layers. By enabling “develop once, deploy across chips”, FlagOS unlocks the computational potential of hardware, breaks down the ecosystem silos between different chip software stacks, and effectively reduces migration costs for developers. The FlagOS community fosters an AI hardware and software ecosystem, overcomes single-vendor closed-source monopolies, promotes widespread deployment of AI hardware technologies, and is committed to rooted in China while embracing global collaboration.\nOfficial website: https:\u002F\u002Fflagos.io.\n\n\u003Cdetails>\n\u003Csummary>Click to show FlagOS details.\u003C\u002Fsummary>\n\n#### FlagOS: Supporting Multiple AI Chips \u003C!-- omit in toc -->\n\nThanks to FlagOS’s unified multi-chip AI system software stack, MiniCPM-o 4.5 was adapted to 6 different AI chips in an extremely short time. Currently, the multi-chip version of MiniCPM-o 4.5 has been released on FlagRelease, FlagOS’s platform for automatic migration, adaptation, and deployment of large models across multi-architecture AI chips. Details are as follows:\n\n| Vendor          | ModelScope   | Huggingface  |\n|:----------------|:------------:|:------------:|\n| Nvidia          | [MiniCPM-o-4.5-nvidia-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-nvidia-FlagOS) | [MiniCPM-o-4.5-nvidia-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-nvidia-FlagOS) |\n| Hygon-BW1000    | [MiniCPM-o-4.5-hygon-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-hygon-FlagOS) | [MiniCPM-o-4.5-hygon-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-hygon-FlagOS) |\n| Metax-C550      | [MiniCPM-o-4.5-metax-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-metax-FlagOS) | [MiniCPM-o-4.5-metax-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-metax-FlagOS) |\n| Iluvatar-BIV150 | [MiniCPM-o-4.5-iluvatar-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-iluvatar-FlagOS) | [MiniCPM-o-4.5-iluvatar-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-iluvatar-FlagOS) |\n| Ascend-A3       | [MiniCPM-o-4.5-ascend-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-ascend-FlagOS) | [MiniCPM-o-4.5-ascend-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-ascend-FlagOS) |\n| Zhenwu-810E     | [MiniCPM-o-4.5-zhenwu-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-zhenwu-FlagOS) | [MiniCPM-o-4.5-zhenwu-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-zhenwu-FlagOS) |\n\n##### Comprehensive Evaluation \u003C!-- omit in toc -->\n\n###### Transformers-FlagOS version \u003C!-- omit in toc -->\n\nAccuracy Difference between `USE_FLAGOS=1` on multi-backend and `USE_FLAGOS=0` on Nvidia-CUDA\n\n| Metrics                  | FlagOS Backend  | Difference with Nvidia-CUDA |\n|:-------------------------|:---------------:|:---------------------------:|\n| Video-MME 0-shot avg@1 ↑ |     Nvidia      |            0.33%            |\n| Video-MME 0-shot avg@1 ↑ |  Hygon-BW1000   |            0.17%            |\n| Video-MME 0-shot avg@1 ↑ |    Ascend-A3    |            0.50%            |\n| Video-MME 0-shot avg@1 ↑ | Iluvatar-BIV150 |            1.83%            |\n| Video-MME 0-shot avg@1 ↑ |   Metax-C550    |            0.75%            |\n\n\n###### VLLM-FlagOS version \u003C!-- omit in toc -->\n\nAccuracy Difference between `USE_FLAGGEMS=1 FLAGCX_PATH=\u002Fworkspace\u002FFlagCX` on Nvidia or `USE_FLAGGEMS=1` on ZHENW 810E, and launching vllm server directly on Nvidia\n\n| Metrics (avg@1)     | Difference between Nvidia-FlagOS and Nvidia-CUDA | Difference between Zhenwu-FlagOS and Nvidia-CUDA |\n|:--------------------|:------------------------------------------------:|:------------------------------------------------:|\n| CMMMU ↑             | 0.72% | 3.5% |\n| MMMU ↑              | 1.44% | 1.18% |\n| MMMU_Pro_standard ↑ | 0.83% | 0.22% |\n| MM-Vet v2 ↑         | 0.46% | 1.33% |\n| OCRBench ↑          | 0.10% | 1% |\n| CII-Bench ↑         | 0.40% | 0.13% |\n| Blink ↑             | 1.90% | 2.19% |\n\n#### FlagOS Usage \u003C!-- omit in toc -->\n\n##### FlagOS Performance Acceleration on Nvidia \u003C!-- omit in toc -->\n\nOn the Transformers version, under the premise of precision alignment between the CUDA and FlagOS ecosystems, FlagOS achieves a 6% performance improvement in total task execution time compared to CUDA.\n\n###### From FlagRelease【Recommendation】 \u003C!-- omit in toc -->\n\nFlagRelease is a platform developed by the FlagOS team for automatic migration, adaptation, and deployment of large models across multi-architecture AI chips. The multi-chip version of MiniCPM-o 4.5 has already been released on FlagRelease. All necessary software packages are pre-installed on the platform, so users do not need to install anything.\n\n- FlagRelease Image Key Versions  \n\n  | Component               | Version                             |\n  |:------------------------|:------------------------------------|\n  | Accelerator Card Driver | 570.158.01                          |\n  | CUDA SDK Build          | cuda_13.0.r13.0\u002Fcompiler.36424714_0 |\n  | FlagTree                | 0.4.0+3.5                           |\n  | FlagGems                | 4.2.1rc0                            |\n  | vllm & vllm-plugin-fl   | 0.13.0 + vllm_fl 0.0.0              |\n  | FlagCX                  | 0.1.0                               |  \n\n- FlagRelease Quick Start\n\n  | Vendor     | ModelScope   | Huggingface  |\n  |:-----------|:------------:|:------------:|\n  | Nvidia | [MiniCPM-o-4.5-nvidia-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-nvidia-FlagOS) | [MiniCPM-o-4.5-nvidia-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-nvidia-FlagOS) |\n  | Hygon-BW1000 | [MiniCPM-o-4.5-hygon-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-hygon-FlagOS) | [MiniCPM-o-4.5-hygon-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-hygon-FlagOS) |\n  | Metax-C550 | [MiniCPM-o-4.5-metax-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-metax-FlagOS) | [MiniCPM-o-4.5-metax-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-metax-FlagOS) |\n  | Iluvatar-BIV150 | [MiniCPM-o-4.5-iluvatar-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-iluvatar-FlagOS) | [MiniCPM-o-4.5-iluvatar-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-iluvatar-FlagOS) |\n  | Ascend-A3 | [MiniCPM-o-4.5-ascend-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-ascend-FlagOS) | [MiniCPM-o-4.5-ascend-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-ascend-FlagOS) |\n  | Zhenwu-810E | [MiniCPM-o-4.5-zhenwu-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-zhenwu-FlagOS) | [MiniCPM-o-4.5-zhenwu-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-zhenwu-FlagOS) |  \n\n\n##### From Scratch \u003C!-- omit in toc -->\n\n- Dependencies: Python 3.12, GLIBC 2.39, GLIBCXX 3.4.33, CXXABI 1.3.15\n\n###### Transformers \u003C!-- omit in toc -->\n\n- Installing the FlagOS Operator Library\n\n  Official Repository: https:\u002F\u002Fgithub.com\u002Fflagos-ai\u002FFlagGems\n  \n  ```shell\n  pip install flag-gems==4.2.1rc0\n  ```\n\n- Installing the FlagOS Compiler\n\n  Official Repository: https:\u002F\u002Fgithub.com\u002Fflagos-ai\u002Fflagtree\n  \n  Quick Reference for Core Dependency Versions: https:\u002F\u002Fgithub.com\u002Fflagos-ai\u002FFlagTree\u002Fblob\u002Fmain\u002Fdocuments\u002Fbuild.md#tips-for-building\n  \n  ```shell\n  pip uninstall triton\n  \n  python3 -m pip install flagtree==0.4.0+3.5 --index-url=https:\u002F\u002Fresource.flagos.net\u002Frepository\u002Fflagos-pypi-hosted\u002Fsimple --trusted-host=https:\u002F\u002Fresource.flagos.net\n  ```\n\n- Activating Acceleration\n\n  Add `USE_FLAGOS=1` before the command for the task you want to run. For example, when you run:\n  ```shell\n  python3 generate_speech_from_video.py\n  ```\n  \n  To use the MiniCPM-o-4.5 model to generate spoken responses from video content, you can:\n  \n  ```shell\n  USE_FLAGOS=1 python3 generate_speech_from_video.py\n  ```\n  \n  to accelerate this process with FlagOS.\n\n###### Vllm Version \u003C!-- omit in toc -->\n\n- Installing the FlagOS Operator Library\n\n  Official Repository: https:\u002F\u002Fgithub.com\u002Fflagos-ai\u002FFlagGems\n\n  ```shell\n  pip install flag-gems==4.2.1rc0\n  pip install triton==3.5.1\n  ```\n\n- Activating Acceleration\n\n  Add `USE_FLAGOS=1` before the command for the task you want to run. For example, when you run:\n  ```shell\n  vllm serve ${model_path} --dtype auto  --gpu_memory_utilization 0.9 --trust-remote-code --max-num-batched-tokens 2048 --served-model-name cpmo --port ${Port}\n  ```\n\n  To start the MiniCPM-o-4.5 server, you can:\n  ```shell\n  USE_FLAGOS=1 vllm serve ${model_path} --dtype auto  --gpu_memory_utilization 0.9 --trust-remote-code --max-num-batched-tokens 2048 --served-model-name cpmo --port ${Port}\n  ```\n  to accelerate this process with FlagOS.\n\n#### Using FlagOS Unified Multi-Chip Backend Plugin \u003C!-- omit in toc -->\n\n[vllm-plugin-FL](https:\u002F\u002Fgithub.com\u002Fflagos-ai\u002Fvllm-plugin-FL) is a plugin built for the vLLM inference\u002Fservice framework. Developed on top of FlagOS’s unified multi-chip backend, it is designed to extend vLLM’s capabilities and performance across a variety of hardware environments.\n\n##### Using vllm-plugin-FL \u003C!-- omit in toc -->\n\n| Vendor | From Scratch | From FlagRelease |\n|:-------|:-------------|:----------------|\n| Nvidia | [vllm-plugin-FL\u002FMiniCPM-o-4.5](https:\u002F\u002Fgithub.com\u002Fflagos-ai\u002Fvllm-plugin-FL\u002Fblob\u002Fmain\u002Fexamples\u002Fminicpm\u002FREADME.md) | [MiniCPM-o-4.5-ModelScope](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-nvidia-FlagOS), [MiniCPM-o-4.5-HuggingFace](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-nvidia-FlagOS) |\n\n\u003C\u002Fdetails>\n\n### vLLM, SGLang, llama.cpp, Ollama\n\nWe support inference with vLLM, SGLang, llama.cpp and Ollama. Refer to our [Cookbook](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-Cookbook) for more details.\n\n### LLaMA-Factory, SWIFT\n\nWe support fine-tuning with LLaMA-Factory, SWIFT. Refer to our [Cookbook](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-Cookbook) for more details.\n\n## MiniCPM-V & o Cookbook\n\nDiscover comprehensive, ready-to-deploy solutions for the MiniCPM-V and MiniCPM-o model series in our structured [Cookbook](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook), which empowers developers to rapidly implement multimodal AI applications with integrated vision, speech, and live-streaming capabilities. Key features include:\n\n**Easy Usage Documentation**\n\nOur comprehensive [documentation website](https:\u002F\u002Fminicpm-o.readthedocs.io\u002Fen\u002Flatest\u002Findex.html) presents every recipe in a clear, well-organized manner.\nAll features are displayed at a glance, making it easy for you to quickly find exactly what you need.\n\n**Broad User Spectrum**\n\nWe support a wide range of users, from individuals to enterprises and researchers.\n\n* **Individuals**: Enjoy effortless inference using Ollama ([V4](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Follama\u002Fminicpm-v4_ollama.md), [o4.5](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Follama\u002Fminicpm-o4_5_ollama.md)) and Llama.cpp ([V4](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Fllama.cpp\u002Fminicpm-v4_llamacpp.md), [o4.5](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Fllama.cpp\u002Fminicpm-o4_5_llamacpp.md)) with minimal setup.\n* **Enterprises**: Achieve high-throughput, scalable performance with vLLM ([V4](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Fvllm\u002Fminicpm-v4_vllm.md), [o4.5](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Fvllm\u002Fminicpm-o4_5_vllm.md)) and SGLang ([V4](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Fsglang\u002FMiniCPM-v4_sglang.md), [o4.5](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Fsglang\u002FMiniCPM-o4_5_sglang.md)).\n* **Researchers**: Leverage advanced frameworks including [Transformers](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Ffinetune\u002Ffinetune_full.md), [LLaMA-Factory](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Ffinetune\u002Ffinetune_llamafactory.md), [SWIFT](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Ffinetune\u002Fswift.md), and [Align-anything](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Ffinetune\u002Falign_anything.md) to enable flexible model development and cutting-edge experimentation.\n\n**Versatile Deployment Scenarios**\n\nOur ecosystem delivers optimal solution for a variety of hardware environments and deployment demands.\n\n* **Web Demo**: Full-duplex real-time video interaction solution with high responsiveness and low latency. [WebRTC_Demo](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdemo\u002Fweb_demo\u002FWebRTC_Demo\u002FREADME.md).\n* **Quantized deployment**: Maximize efficiency and minimize resource consumption using [GGUF](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fquantization\u002Fgguf\u002Fminicpm-v4_gguf_quantize.md) and [BNB](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fquantization\u002Fbnb\u002Fminicpm-v4_bnb_quantize.md).\n* **End devices**: Bring powerful AI experiences to [iPhone and iPad](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdemo\u002Fios_demo\u002Fios.md), supporting offline and privacy-sensitive applications.\n\n\n\n\n## MiniCPM-V 4.0\n\n**MiniCPM-V 4.0** is an efficient model in the MiniCPM-V series. The model is built based on SigLIP2-400M and MiniCPM4-3B with a total of 4.1B parameters. It inherits the strong single-image, multi-image and video understanding performance of MiniCPM-V 2.6 with largely improved efficiency. Notable features of MiniCPM-V 4.0 include:\n\n- 🔥 **Leading Visual Capability.**\n   With only 4.1B parameters, MiniCPM-V 4.0 achieves an average score of 69.0 on OpenCompass, a comprehensive evaluation of 8 popular benchmarks, **outperforming GPT-4.1-mini-20250414, MiniCPM-V 2.6 (8.1B params, OpenCompass 65.2) and Qwen2.5-VL-3B-Instruct (3.8B params, OpenCompass 64.5)**. It also shows good performance in multi-image understanding and video understanding.\n\n- 🚀 **Superior Efficiency.**\n  Designed for on-device deployment, MiniCPM-V 4.0 runs smoothly on end devices. For example, it delivers **less than 2s first token delay and more than 17 token\u002Fs decoding on iPhone 16 Pro Max**, without heating problems. It also shows superior throughput under concurrent requests.\n\n-  💫  **Easy Usage.**\n  MiniCPM-V 4.0 can be easily used in various ways including **llama.cpp, Ollama, vLLM, SGLang, LLaMA-Factory and local web demo** etc. We also open-source iOS App that can run on iPhone and iPad. Get started easily with our well-structured [Cookbook](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook), featuring detailed instructions and practical examples.\n\n\n\u003Cdetails>\n\u003Csummary> Click to view evaluation results and examples of MiniCPM-V 4.0. \u003C\u002Fsummary>\n\n### Evaluation  \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>Click to view single image results on OpenCompass. \u003C\u002Fsummary>\n\u003Cdiv align=\"center\">\n\u003Ctable style=\"margin: 0px auto;\">\n    \u003Cthead>\n        \u003Ctr>\n            \u003Cth nowrap=\"nowrap\" align=\"left\">model\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">Size\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">Opencompass\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">OCRBench\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MathVista\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">HallusionBench\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MMMU\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MMVet\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MMBench V1.1\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MMStar\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">AI2D\u003C\u002Fth>\n        \u003C\u002Ftr>\n    \u003C\u002Fthead>\n    \u003Ctbody align=\"center\">\n        \u003Ctr>\n            \u003Ctd colspan=\"11\" align=\"left\">\u003Cstrong>Proprietary\u003C\u002Fstrong>\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4v-20240409\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">656\u003C\u002Ftd>\n            \u003Ctd align=\"center\">55.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">43.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">61.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">67.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">79.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">56.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">78.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini-1.5-Pro\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">754\u003C\u002Ftd>\n            \u003Ctd align=\"center\">58.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">45.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">73.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">59.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">79.1\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4.1-mini-20250414\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">840\u003C\u002Ftd>\n            \u003Ctd align=\"center\">70.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">49.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">55.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">74.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">80.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">76.0\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Claude 3.5 Sonnet-20241022\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">70.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">798\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">55.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">66.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">70.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">81.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">81.2\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd colspan=\"11\" align=\"left\">\u003Cstrong>Open-source\u003C\u002Fstrong>\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen2.5-VL-3B-Instruct\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.8B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">828\u003C\u002Ftd>\n            \u003Ctd align=\"center\">61.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">46.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">51.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">76.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">56.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">81.4\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL2.5-4B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.7B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">820\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">46.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">51.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">61.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">78.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">58.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">81.4\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen2.5-VL-7B-Instruct\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.3B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">70.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">888\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">51.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">58.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">69.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">82.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.3\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL2.5-8B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">821\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">49.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">56.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">62.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">82.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-V-2.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">852\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">48.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">49.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">78.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">57.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">82.1\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o-2.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.7B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">70.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">889\u003C\u002Ftd>\n            \u003Ctd align=\"center\">73.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">51.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">50.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">67.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">80.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">86.1\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-V-4.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">69.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">894\u003C\u002Ftd>\n            \u003Ctd align=\"center\">66.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">50.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">51.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">79.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">62.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">82.9\u003C\u002Ftd>\n        \u003C\u002Ftr>\n    \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Click to view single image results on ChartQA, MME, RealWorldQA, TextVQA, DocVQA, MathVision, DynaMath, WeMath, Object HalBench and MM Halbench. \u003C\u002Fsummary>\n\n\u003Cdiv align=\"center\">\n\u003Ctable style=\"margin: 0px auto;\">\n    \u003Cthead>\n        \u003Ctr>\n            \u003Cth nowrap=\"nowrap\" align=\"left\">model\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">Size\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">ChartQA\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MME\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">RealWorldQA\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">TextVQA\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">DocVQA\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MathVision\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">DynaMath\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">WeMath\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\" colspan=\"2\">Obj Hal\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\" colspan=\"2\">MM Hal\u003C\u002Fth>\n        \u003C\u002Ftr>\n    \u003C\u002Fthead>\n    \u003Ctbody>\n        \u003Ctr>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">CHAIRs↓\u003C\u002Ftd>\n            \u003Ctd align=\"center\">CHAIRi↓\u003C\u002Ftd>\n            \u003Ctd nowrap=\"nowrap\" align=\"center\">score avg@3↑\u003C\u002Ftd>\n            \u003Ctd nowrap=\"nowrap\" align=\"center\">hall rate avg@3↓\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctbody align=\"center\">\n        \u003Ctr>\n            \u003Ctd colspan=\"14\" align=\"left\">\u003Cstrong>Proprietary\u003C\u002Fstrong>\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4v-20240409\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">78.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">1927\u003C\u002Ftd>\n            \u003Ctd align=\"center\">61.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">78.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">88.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini-1.5-Pro\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">87.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">67.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">78.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">93.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">41.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">31.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">50.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4.1-mini-20250414\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">45.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">47.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Claude 3.5 Sonnet-20241022\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">90.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">74.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">95.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">35.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">35.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">44.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd colspan=\"14\" align=\"left\">\u003Cstrong>Open-source\u003C\u002Fstrong>\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen2.5-VL-3B-Instruct\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.8B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2157\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">79.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">93.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">21.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">13.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">22.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">18.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">10.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.9 \u003C\u002Ftd>\n            \u003Ctd align=\"center\">33.3 \u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL2.5-4B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.7B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2338\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">76.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">91.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">18.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">15.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">21.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">13.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.2 \u003C\u002Ftd>\n            \u003Ctd align=\"center\">46.5 \u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen2.5-VL-7B-Instruct\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.3B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">87.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2347\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">95.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">25.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">21.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">36.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">13.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">7.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.1 \u003C\u002Ftd>\n            \u003Ctd align=\"center\">31.6 \u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL2.5-8B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2344\u003C\u002Ftd>\n            \u003Ctd align=\"center\">70.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">79.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">93.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">17.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">9.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">23.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">18.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">11.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.6 \u003C\u002Ftd>\n            \u003Ctd align=\"center\">37.2\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-V-2.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">79.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2348\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">80.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">90.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">17.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">9.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">20.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">7.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.0 \u003C\u002Ftd>\n            \u003Ctd align=\"center\">29.9 \u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o-2.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.7B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">86.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2372\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">82.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">93.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">21.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">10.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">25.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">6.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.1 \u003C\u002Ftd>\n            \u003Ctd align=\"center\">31.3 \u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-V-4.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2298\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">80.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">92.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">20.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">14.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">32.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">6.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.1 \u003C\u002Ftd>\n            \u003Ctd align=\"center\">29.2 \u003C\u002Ftd>\n        \u003C\u002Ftr>\n    \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Click to view multi-image and video understanding results on Mantis, Blink and Video-MME. \u003C\u002Fsummary>\n\u003Cdiv align=\"center\">\n\u003Ctable style=\"margin: 0px auto;\">\n    \u003Cthead>\n        \u003Ctr>\n            \u003Cth nowrap=\"nowrap\" align=\"left\">model\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">Size\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">Mantis\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">Blink\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\" colspan=\"2\" >Video-MME\u003C\u002Fth>\n        \u003C\u002Ftr>\n    \u003C\u002Fthead>\n    \u003Ctbody>\n        \u003Ctr>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">wo subs\u003C\u002Ftd>\n            \u003Ctd align=\"center\">w subs\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctbody align=\"center\">\n        \u003Ctr>\n            \u003Ctd colspan=\"6\" align=\"left\">\u003Cstrong>Proprietary\u003C\u002Fstrong>\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4v-20240409\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">62.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">54.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">59.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.3\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini-1.5-Pro\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">59.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">75.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">81.3\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4o-20240513\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">71.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">77.2\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd colspan=\"6\" align=\"left\">\u003Cstrong>Open-source\u003C\u002Fstrong>\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen2.5-VL-3B-Instruct\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.8B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">47.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">61.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">67.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL2.5-4B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.7B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">62.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">50.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">62.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen2.5-VL-7B-Instruct\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.3B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">56.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">71.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL2.5-8B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">67.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">54.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">66.9\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-V-2.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">69.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">53.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o-2.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.7B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">71.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">56.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">69.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-V-4.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">71.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">54.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">61.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.8\u003C\u002Ftd>\n        \u003C\u002Ftr>\n    \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n### Examples \u003C!-- omit in toc -->\n\n\u003Cdiv style=\"display: flex; flex-direction: column; align-items: center;\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_ba051adc66f0.png\" alt=\"math\" style=\"margin-bottom: 5px;\">\n\u003C\u002Fdiv>\n\nWe deploy MiniCPM-V 4.0 on iPhone 16 Pro Max with [iOS demo](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdemo\u002Fios_demo\u002Fios.md). The demo video is the raw screen recording without edition.\n\n\u003Ctable align=\"center\"> \n    \u003Cp align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_f90b3fd2c4f1.gif\" width=45%\u002F>\n      &nbsp;&nbsp;&nbsp;&nbsp;\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_181ccb5a456d.gif\" width=45%\u002F>\n    \u003C\u002Fp>\n    \u003Cp align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_86fccb7bbe42.gif\" width=45%\u002F>\n      &nbsp;&nbsp;&nbsp;&nbsp;\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_11aa75d98be2.gif\" width=45%\u002F>\n    \u003C\u002Fp>\n\u003C\u002Ftable> \n\n\n\u003C\u002Fdetails>\n\n\n## Model Zoo\n\n| Model           | Device | Memory    | &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; Description       | Download |\n|:-----------|:--:|:-----------:|:-------------------|:---------------:|\n| MiniCPM-o 4.5| GPU | 19 GB  | The latest version, strong end-side multimodal performance for vision, speech and omni-modal live streaming on end-side devices.   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-o-4_5) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-o-4_5) |\n| MiniCPM-o 4.5 gguf| GPU | 10 GB  | The gguf version, lower memory usage and faster inference.   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-o-4_5-gguf) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-o-4_5-gguf) |\n| MiniCPM-o 4.5 AWQ | GPU | 11 GB  | The AWQ quantized version, lower GPU memory usage.   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-4_5-AWQ) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-o-4_5-awq) |\n| MiniCPM-V 4.0| GPU | 9 GB  | The latest version, strong end-side multimodal performance for single image, multi-image and video understanding.   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-4) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-V-4) |\n| MiniCPM-V 4.0 gguf | CPU | 4 GB  | The gguf version, lower memory usage and faster inference.   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-4-gguf) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-V-4-gguf) |\n| MiniCPM-V 4.0 int4 | GPU | 5 GB  | The int4 quantized version, lower GPU memory usage.   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-4-int4) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-V-4-int4) |\n| MiniCPM-V 4.0 AWQ  | GPU | 5 GB  | The AWQ quantized version, lower GPU memory usage.   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-4-AWQ) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-V-4-AWQ) |\n\n\n## Legacy Models \u003C!-- omit in toc --> \n\n| Model                | Introduction and Guidance       |\n|:----------------------|:-------------------:|\n| MiniCPM-V 4.5  | [Document](.\u002Fdocs\u002Fminicpm_v4dot5_en.md)   | \n| MiniCPM-o 2.6  | [Document](.\u002Fdocs\u002Fminicpm_o2dot6_en.md)   | \n| MiniCPM-V 2.6  | [Document](.\u002Fdocs\u002Fminicpm_v2dot6_en.md)   | \n| MiniCPM-Llama3-V 2.5  | [Document](.\u002Fdocs\u002Fminicpm_llama3_v2dot5.md)   | \n| MiniCPM-V 2.0  | [Document](.\u002Fdocs\u002Fminicpm_v2.md)   | \n| MiniCPM-V 1.0  | [Document](.\u002Fdocs\u002Fminicpm_v1.md)   | \n| OmniLMM-12B  | [Document](.\u002F.\u002Fdocs\u002Fomnilmm_en.md)   |  \n\n\n\n\n## Awesome work using MiniCPM-V & MiniCPM-o\n- [text-extract-api](https:\u002F\u002Fgithub.com\u002FCatchTheTornado\u002Ftext-extract-api): Document extraction API using OCRs and Ollama supported models ![GitHub Repo stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FCatchTheTornado\u002Ftext-extract-api)\n- [comfyui_LLM_party](https:\u002F\u002Fgithub.com\u002Fheshengtao\u002Fcomfyui_LLM_party): Build LLM workflows and integrate into existing image workflows ![GitHub Repo stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fheshengtao\u002Fcomfyui_LLM_party)\n- [Ollama-OCR](https:\u002F\u002Fgithub.com\u002Fimanoop7\u002FOllama-OCR): OCR package uses vlms through Ollama to extract text from images and PDF ![GitHub Repo stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fimanoop7\u002FOllama-OCR)\n- [comfyui-mixlab-nodes](https:\u002F\u002Fgithub.com\u002FMixLabPro\u002Fcomfyui-mixlab-nodes): ComfyUI node suite supports Workflow-to-APP、GPT&3D and more ![GitHub Repo stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FMixLabPro\u002Fcomfyui-mixlab-nodes)\n- [OpenAvatarChat](https:\u002F\u002Fgithub.com\u002FHumanAIGC-Engineering\u002FOpenAvatarChat): Interactive digital human conversation implementation on single PC ![GitHub Repo stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FHumanAIGC-Engineering\u002FOpenAvatarChat)\n- [pensieve](https:\u002F\u002Fgithub.com\u002Farkohut\u002Fpensieve): A privacy-focused passive recording project by recording screen content ![GitHub Repo stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Farkohut\u002Fpensieve)\n- [paperless-gpt](https:\u002F\u002Fgithub.com\u002Ficereed\u002Fpaperless-gpt): Use LLMs to handle paperless-ngx, AI-powered titles, tags and OCR ![GitHub Repo stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ficereed\u002Fpaperless-gpt)\n- [Neuro](https:\u002F\u002Fgithub.com\u002Fkimjammer\u002FNeuro): A recreation of Neuro-Sama, but running on local models on consumer hardware ![GitHub Repo stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkimjammer\u002FNeuro)\n\n## Limitations\nAs an experimental trial, we find MiniCPM-o 4.5 has notable limitations worth further investigation and improvement.\n- **Foundation Capability.** The full-duplex omni-modality live streaminig capability still needs improvement in its foundation capability.\n- **Unstable Speech Output in Omni Mode.** Speech synthesis can mispronounce characters in full-duplex omni-modal live streaminig mode.\n- **Mixed Language.** The model can sometimes respond with mixed English and Chinese in speech and omni mode.\n- **High-latency on Web Demo.** Users may experience unusual high-latency or even miss part of model output fragments when using our web demo hosted on overseas servers. We recommend deploying the demo locally or with good network connections.\n\n## Model License \u003C!-- omit in toc -->\n\n* The MiniCPM-o\u002FV model weights and code are open-sourced under the [Apache-2.0](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-V\u002Fblob\u002Fmain\u002FLICENSE) license.\n\n* To help us better understand and support our users, we would deeply appreciate it if you could consider optionally filling out a brief registration [\"questionnaire\"](https:\u002F\u002Fmodelbest.feishu.cn\u002Fshare\u002Fbase\u002Fform\u002FshrcnpV5ZT9EJ6xYjh3Kx0J6v8g).\n\n## Statement \u003C!-- omit in toc -->\n\nAs MLLMs, MiniCPM-o\u002FV models generate content by learning a large number of multimodal corpora, but they cannot comprehend, express personal opinions, or make value judgements. Anything generated by MiniCPM-o\u002FV models does not represent the views and positions of the model developers\n\nWe will not be liable for any problems arising from the use of MiniCPM-o\u002FV models, including but not limited to data security issues, risk of public opinion, or any risks and problems arising from the misdirection, misuse, dissemination, or misuse of the model.\n\n## Acknowledgements\n\nWe would like to thank the following projects:\n* [Qwen3](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-8B) for providing language backbone\n* [SigLIP2](https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Fbig_vision\u002Fblob\u002Fmain\u002Fbig_vision\u002Fconfigs\u002Fproj\u002Fimage_text\u002FREADME_siglip2.md) for providing vision understanding module\n* [Whisper](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fwhisper) for providing audio and speech understanding module\n* [CosyVoice2](https:\u002F\u002Fgithub.com\u002FFunAudioLLM\u002FCosyVoice) and [Step-Audio2](https:\u002F\u002Fgithub.com\u002Fstepfun-ai\u002FStep-Audio2) for providing speech tokenizer and high-efficiency Token2Wav module.\n* [Transformers](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers)\n\n\n## Institutions  \u003C!-- omit in toc -->\n\nThis project is developed by the following institutions:\n\n- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_13da7b2eabfc.png\" width=\"28px\"> [THUNLP](https:\u002F\u002Fnlp.csai.tsinghua.edu.cn\u002F)\n- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_9cce484985d4.png\" width=\"28px\"> [ModelBest](https:\u002F\u002Fmodelbest.cn\u002F)\n\n## 🌟 Star History \u003C!-- omit in toc -->\n\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F?repos=OpenBMB%2FMiniCPM-o&type=date&legend=top-left\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fimage?repos=OpenBMB\u002FMiniCPM-o&type=date&theme=dark&legend=top-left\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_b542471bcce6.png\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_b542471bcce6.png\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n## Key Techniques and Other Multimodal Projects \u003C!-- omit in toc -->\n\n👏 Welcome to explore key techniques of MiniCPM-o\u002FV and other multimodal projects of our team:\n\n[VisCPM](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM\u002Ftree\u002Fmain) | [RLPR](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRLPR) | [RLHF-V](https:\u002F\u002Fgithub.com\u002FRLHF-V\u002FRLHF-V) | [LLaVA-UHD](https:\u002F\u002Fgithub.com\u002Fthunlp\u002FLLaVA-UHD) | [RLAIF-V](https:\u002F\u002Fgithub.com\u002FRLHF-V\u002FRLAIF-V)\n\n\n## Citation \u003C!-- omit in toc -->\n\nIf you find our model\u002Fcode\u002Fpaper helpful, please consider citing our papers 📝 and staring us ⭐️！\n\n```bib\n@article{yao2024minicpm,\n  title={MiniCPM-V: A GPT-4V Level MLLM on Your Phone},\n  author={Yao, Yuan and Yu, Tianyu and Zhang, Ao and Wang, Chongyi and Cui, Junbo and Zhu, Hongji and Cai, Tianchi and Li, Haoyu and Zhao, Weilin and He, Zhihui and others},\n  journal={arXiv preprint arXiv:2408.01800},\n  year={2024}\n}\n```\n","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_29bfb156f3d4.png\" width=\"500em\" >\u003C\u002Fimg> \n\n**一款媲美Gemini 2.5 Flash级别的多模态大模型，支持视觉、语音及全双工多模态实时流式交互，可在手机端运行**\n\n  \u003Cstrong>[中文](.\u002FREADME_zh.md) |\n  English\u003C\u002Fstrong>\n\n\n\n\u003Cspan style=\"display: inline-flex; align-items: center; margin-right: 2px;\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_9a6bfda920e6.png\" alt=\"WeChat\" style=\"margin-right: 4px;\">\n  \u003Ca href=\"docs\u002Fwechat.md\" target=\"_blank\"> 微信\u003C\u002Fa> &nbsp;|\n\u003C\u002Fspan>\n&nbsp;\n\u003Cspan style=\"display: inline-flex; align-items: center; margin-left: -8px;\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_af4a6e77ef9e.png\" alt=\"Discord\" style=\"margin-right: 4px;\">\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FN2RnxGdJ\" target=\"_blank\"> Discord\u003C\u002Fa> &nbsp;\n\u003C\u002Fspan>\n\n\n\n\u003Cp align=\"center\">\n   MiniCPM-o 4.5 \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-o-4_5\">🤗\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fopenbmb.github.io\u002FMiniCPM-o-Demo\u002F\">📞\u003C\u002Fa> \u003Ca href=\"http:\u002F\u002F211.93.21.133:18121\u002F\">🤖\u003C\u002Fa> | MiniCPM-V 4.0 \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-4\">🤗\u003C\u002Fa>  | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-Cookbook\">🍳 烹饪手册\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fopenbmb.github.io\u002Fminicpm-o-4_5\u002F\">音频案例集\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fopenbmb.github.io\u002Fminicpm-o-4_5-omni\u002F\">全双工案例集\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n**MiniCPM-o** 是从 MiniCPM-V 衍生出的最新系列端侧多模态大模型（MLLM）。该系列模型现在可以同时接受图像、视频、文本和音频作为输入，并以端到端的方式生成高质量的文本和语音输出。这一系列模型的设计目标是实现 **强大的性能与高效的部署**。目前该系列中最引人注目的型号包括：\n\n\n- **MiniCPM-o 4.5**: 🔥🔥🔥 该系列中最新、功能最强大的模型。总参数量为90亿，这款端到端模型在 **视觉、语音以及全双工多模态实时流式交互方面接近Gemini 2.5 Flash**，使其成为开源社区中最具多功能性和高性能的模型之一。全新的全双工多模态实时流式交互能力意味着输出流（语音和文本）与实时输入流（视频和音频）互不阻塞。这使得 **MiniCPM-o 4.5能够在实时全模态对话中同时看、听、说**，并执行诸如主动提醒等 **主动交互任务**。改进后的语音模式以更自然、更具表现力且更稳定的方式支持双语实时语音对话，同时还允许进行语音克隆。此外，它还进一步提升了MiniCPM-V的视觉能力，例如强大的OCR识别能力、可信的行为表现以及多语言支持等。我们还推出了一套 **高性能的llama.cpp-omni推理框架，并配套WebRTC演示**，以便在Mac等本地设备上体验这种全双工多模态实时流式交互。\n\n- **MiniCPM-V 4.0**: ⭐️⭐️⭐️ MiniCPM-V系列中的高效模型。总参数量为40亿，该模型在OpenCompass评估中超越了GPT-4.1-mini-20250414的图像理解能力。凭借其较小的参数规模和高效的架构，MiniCPM-V 4.0是手机端部署的理想选择。\n\n\n\n\n## 新闻 \u003C!-- omit in toc -->\n\n#### 📌 置顶\n\n> [!NOTE]\n> [2026年2月6日] 🥳 🥳 🥳 我们开源了一个可部署在您自己的设备（如Mac或GPU）上的实时Web演示。[立即体验](#deploy-a-realtime-web-demo-on-your-own-device)！\n\n\n* [2026年2月5日] 📢📢📢 我们注意到，由于网络条件的原因，Web演示可能会出现延迟问题。我们正在积极努力，尽快提供一个用于本地部署实时交互演示的Docker镜像，请持续关注！\n\n* [2026年2月3日] 🔥🔥🔥 我们开源了MiniCPM-o 4.5，它在视觉和语音方面与Gemini 2.5 Flash相当，并支持全双工多模态实时流式交互。立即尝试吧！\n\n\n* [2025年9月18日] 📢📢📢 MiniCPM-V 4.5的技术报告现已发布！请参阅[此处](.\u002Fdocs\u002FMiniCPM_V_4_5_Technical_Report.pdf)。\n\n* [2025年8月26日] 🔥🔥🔥 我们开源了MiniCPM-V 4.5，它在性能上超越了GPT-4o-latest、Gemini-2.0 Pro以及Qwen2.5-VL 72B。该模型进一步提升了MiniCPM-V的现有优势，并新增了许多实用功能。立即试用吧！\n\n* [2025年8月1日] ⭐️⭐️⭐️ 我们开源了[MiniCPM-V & o烹饪手册](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook)! 它为各种使用场景提供了全面的指南，并搭配我们的新[文档网站](https:\u002F\u002Fminicpm-o.readthedocs.io\u002Fen\u002Flatest\u002Findex.html)，帮助用户更顺畅地入门。\n\n* [2025年3月1日] 🚀🚀🚀 MiniCPM-o的对齐技术RLAIF-V已被CVPR 2025亮点收录！相关[代码](https:\u002F\u002Fgithub.com\u002FRLHF-V\u002FRLAIF-V)、[数据集](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fopenbmb\u002FRLAIF-V-Dataset)以及[论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.17220)均已开源！\n\n* [2025年1月24日] 📢📢📢 MiniCPM-o 2.6的技术报告已发布！请参阅[此处](https:\u002F\u002Fopenbmb.notion.site\u002FMiniCPM-o-2-6-A-GPT-4o-Level-MLLM-for-Vision-Speech-and-Multimodal-Live-Streaming-on-Your-Phone-185ede1b7a558042b5d5e45e6b237da9)。\n\n* [2025年1月19日] ⭐️⭐️⭐️ MiniCPM-o登上了GitHub Trending榜首，并在Hugging Face Trending中位列第二！\n\n\n* [2024年5月23日] 🔥🔥🔥 MiniCPM-V登上了GitHub Trending和Hugging Face Trending的榜首！我们的演示由Hugging Face Gradio官方账号推荐，现已开放[在此处](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fopenbmb\u002FMiniCPM-Llama3-V-2_5)体验。快来试试吧！\n\n\u003Cbr>\n\n\u003Cdetails> \n\u003Csummary>点击查看更多信息。\u003C\u002Fsummary>\n\n* [2025.09.01] ⭐️⭐️⭐️ MiniCPM-V 4.5 已正式得到 [llama.cpp](https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fpull\u002F15575)、[vLLM](https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm\u002Fpull\u002F23586) 和 [LLaMA-Factory](https:\u002F\u002Fgithub.com\u002Fhiyouga\u002FLLaMA-Factory\u002Fpull\u002F9022) 的支持。欢迎通过这些官方渠道直接使用！对 [Ollama](https:\u002F\u002Fgithub.com\u002Follama\u002Follama\u002Fpull\u002F12078) 和 [SGLang](https:\u002F\u002Fgithub.com\u002Fsgl-project\u002Fsglang\u002Fpull\u002F9610) 等其他框架的支持也在积极进行中。\n* [2025.08.02] 🚀🚀🚀 我们开源了 MiniCPM-V 4.0，其图像理解能力超越 GPT-4.1-mini-20250414。它在 MiniCPM-V 2.6 的热门功能基础上进一步提升，并大幅提高了效率。我们还开源了适用于 iPhone 和 iPad 的 iOS 应用程序，立即体验吧！\n* [2025.06.20] ⭐️⭐️⭐️ 我们的官方 [Ollama 仓库](https:\u002F\u002Follama.com\u002Fopenbmb) 已发布。只需 [一键](https:\u002F\u002Follama.com\u002Fopenbmb\u002Fminicpm-o2.6) 即可试用我们的最新模型！\n* [2025.01.23] 💡💡💡 MiniCPM-o 2.6 现已得到 PKU-Alignment 团队的多模态大模型对齐框架 [Align-Anything](https:\u002F\u002Fgithub.com\u002FPKU-Alignment\u002Falign-anything) 的支持。该框架同时支持视觉和音频领域的 DPO 和 SFT 微调，快来试试吧！\n* [2025.01.19] 📢 **注意！** 我们目前正在将 MiniCPM-o 2.6 合并到 llama.cpp、Ollama 和 vllm 的官方仓库中。在合并完成之前，请使用我们提供的本地分支：[llama.cpp](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002Fllama.cpp\u002Fblob\u002Fminicpm-omni\u002Fexamples\u002Fllava\u002FREADME-minicpmo2.6.md)、[Ollama](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002Follama\u002Fblob\u002Fminicpm-v2.6\u002Fexamples\u002Fminicpm-v2.6\u002FREADME.md) 和 [vllm](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-o?tab=readme-ov-file#efficient-inference-with-llamacpp-ollama-vllm)。**在合并前使用官方仓库可能导致意外问题**。\n* [2025.01.17] 我们已更新 MiniCPM-o 2.6 int4 量化版本的使用方法，并修复了模型初始化错误。点击 [这里](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-o-2_6-int4) 立即尝试！\n* [2025.01.13] 🔥🔥🔥 我们开源了 MiniCPM-o 2.6，其在视觉、语音及多模态直播方面的表现媲美 GPT-4o-202405。它在 MiniCPM-V 2.6 的热门功能基础上进一步升级，并新增了多种趣味功能，快来体验吧！\n* [2024.08.15] 我们现在也支持多图像 SFT。更多详情请参阅 [文档](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-V\u002Ftree\u002Fmain\u002Ffinetune)。\n* [2024.08.14] MiniCPM-V 2.6 现在也支持使用 SWIFT 框架进行 [微调](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002Fms-swift\u002Fissues\u002F1613)！\n* [2024.08.17] 🚀🚀🚀 MiniCPM-V 2.6 现已完全得到 [官方](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp) llama.cpp 支持！各种尺寸的 GGUF 模型可在 [这里](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-2_6-gguf) 获取。\n* [2024.08.10] 🚀🚀🚀 MiniCPM-Llama3-V 2.5 现已完全得到 [官方](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp) llama.cpp 支持！不同尺寸的 GGUF 模型可在 [这里](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-Llama3-V-2_5-gguf) 获取。\n* [2024.08.06] 🔥🔥🔥 我们开源了 MiniCPM-V 2.6，其在单张图片、多张图片和视频理解方面均优于 GPT-4V。它在 MiniCPM-Llama3-V 2.5 的热门功能基础上进一步提升，并且可以在 iPad 上实现实时视频理解。立即体验吧！\n* [2024.08.03] MiniCPM-Llama3-V 2.5 技术报告已发布！详情请见 [这里](https:\u002F\u002Farxiv.org\u002Fabs\u002F2408.01800)。\n* [2024.07.19] MiniCPM-Llama3-V 2.5 现已支持 vLLM！详情请见 [这里](#inference-with-vllm)。\n\n* [2024.06.03] 现在，您可以通过将模型的不同层分配到多块 GPU 上，在多台低显存（12 GB 或 16 GB）GPU 上运行 MiniCPM-Llama3-V 2.5。更多详情请查看此 [链接](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-V\u002Fblob\u002Fmain\u002Fdocs\u002Finference_on_multiple_gpus.md)。\n* [2024.05.28] 🚀🚀🚀 MiniCPM-Llama3-V 2.5 现已完全支持在 llama.cpp 和 Ollama 中使用！请拉取我们提供的分支的最新代码（[llama.cpp](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002Fllama.cpp\u002Fblob\u002Fminicpm-v2.5\u002Fexamples\u002Fminicpmv\u002FREADME.md)、[Ollama](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002Follama\u002Ftree\u002Fminicpm-v2.5\u002Fexamples\u002Fminicpm-v2.5)）。各种尺寸的 GGUF 模型可在 [这里](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-Llama3-V-2_5-gguf\u002Ftree\u002Fmain) 获取。目前，MiniCPM-Llama3-V 2.5 系列 **尚未被官方仓库支持**，我们正在努力合并相关 PR，请持续关注！\n\n* [2024.05.28] 💫 我们现在支持使用仅需 2 块 V100 GPU 对 MiniCPM-Llama3-V 2.5 进行 LoRA 微调！更多统计数据请见 [这里](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-V\u002Ftree\u002Fmain\u002Ffinetune#model-fine-tuning-memory-usage-statistics)。\n\n* [2024.05.25] MiniCPM-Llama3-V 2.5 现已支持流式输出和自定义系统提示词。立即体验 [这里](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-Llama3-V-2_5#usage)！\n* [2024.05.24] 我们发布了 MiniCPM-Llama3-V 2.5 的 [gguf](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-Llama3-V-2_5-gguf)，它支持 [llama.cpp](#inference-with-llamacpp) 推理，并能在手机上实现每秒 6~8 个 token 的流畅解码。立即试用吧！\n\n* [2024.05.23] 🔍 我们发布了 Phi-3-vision-128k-instruct 与 MiniCPM-Llama3-V 2.5 的全面对比，包括基准测试评估、多语言能力以及推理效率 🌟📊🌍🚀。点击 [这里](.\u002Fdocs\u002Fcompare_with_phi-3_vision.md) 查看更多详情。\n\n* [2024.05.20] 我们开源了 MiniCPM-Llama3-V 2.5，它提升了 OCR 能力，支持 30 多种语言，是首个达到 GPT-4V 水平性能的端侧 MLLM！我们提供 [高效推理](#deployment-on-mobile-phone) 和 [简单微调](.\u002Ffinetune\u002Freadme.md) 方法，立即试用吧！\n* [2024.04.23] MiniCPM-V-2.0 现已支持 vLLM！点击 [这里](#inference-with-vllm) 查看更多详情。\n* [2024.04.18] 我们创建了一个 HuggingFace Space，用于展示 MiniCPM-V 2.0 的演示，地址为 [这里](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fopenbmb\u002FMiniCPM-V-2)！\n* [2024.04.17] MiniCPM-V-2.0 现已支持部署 [WebUI 演示](#webui-demo)！\n* [2024.04.15] MiniCPM-V-2.0 现也支持使用 SWIFT 框架进行 [微调](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002Fswift\u002Fblob\u002Fmain\u002Fdocs\u002Fsource\u002FMulti-Modal\u002Fminicpm-v-2最佳实践.md)！\n* [2024.04.12] 我们开源了 MiniCPM-V 2.0，其场景文本理解能力与 Gemini Pro 相当，并在 \u003Ca href=\"https:\u002F\u002Frank.opencompass.org.cn\u002Fleaderboard-multimodal\">OpenCompass\u003C\u002Fa> 综合评估中，超越了强大的 Qwen-VL-Chat 9.6B 和 Yi-VL 34B。该评估覆盖了 11 个热门基准测试。点击 \u003Ca href=\"https:\u002F\u002Fopenbmb.vercel.app\u002Fminicpm-v-2\">这里\u003C\u002Fa> 查看 MiniCPM-V 2.0 技术博客。\n* [2024.03.14] MiniCPM-V 现已支持使用 SWIFT 框架进行 [微调](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002Fswift\u002Fblob\u002Fmain\u002Fdocs\u002Fsource\u002FMulti-Modal\u002Fminicpm-v最佳实践.md)。感谢 [Jintao](https:\u002F\u002Fgithub.com\u002FJintao-Huang) 的贡献！\n* [2024.03.01] MiniCPM-V 现在可以在 Mac 上部署了！\n* [2024.02.01] 我们开源了 MiniCPM-V 和 OmniLMM-12B，它们分别具备高效的端侧部署能力和强大的多模态能力。\n\u003C\u002Fdetails>\n\n## 目录 \u003C!-- omit in toc -->\n\n\n- [MiniCPM-o 4.5](#minicpm-o-45)\n- [使用Transformers的离线推理示例](#offline-inference-examples-with-transformers)\n  - [模型初始化](#model-initialization)\n  - [全双工全能模式](#duplex-omni-mode)\n  - [半双工全能模式](#half-duplex-omni-mode)\n  - [半双工实时语音对话模式](#half-duplex-realtime-speech-conversation-mode)\n  - [视觉理解](#visual-understanding)\n  - [结构化内容输入](#structured-content-input)\n- [在您自己的设备上部署实时Web演示](#deploy-a-realtime-web-demo-on-your-own-device)\n- [支持的框架](#supported-frameworks)\n  - [FlagOS](#flagos)\n  - [vLLM、SGLang、llama.cpp、Ollama](#vllm-sglang-llamacpp-ollama)\n  - [LLaMA-Factory、SWIFT](#llama-factory-swift)\n- [MiniCPM-V & o 烹饪书](#minicpm-v--o-cookbook)\n- [MiniCPM-V 4.0](#minicpm-v-40)\n- [模型库](#model-zoo)\n- [使用MiniCPM-V 和 MiniCPM-o 的优秀作品](#awesome-work-using-minicpm-v--minicpm-o)\n- [局限性](#limitations)\n- [致谢](#acknowledgements)\n\n\n## MiniCPM-o 4.5\n\n**MiniCPM-o 4.5** 是 MiniCPM-o 系列中最新且功能最强大的模型。该模型基于 SigLip2、Whisper-medium、CosyVoice2 和 Qwen3-8B，以端到端的方式构建而成，总参数量为 90 亿。它在性能上有了显著提升，并引入了用于全双工多模态直播的新特性。MiniCPM-o 4.5 的显著特点包括：\n\n- 🔥 **领先的视觉能力。**\n  MiniCPM-o 4.5 在 OpenCompass 上取得了平均 77.6 分的成绩，这是一个对 8 个热门基准进行全面评估的结果。**仅凭 90 亿参数，它就超越了广泛使用的专有模型，如 GPT-4o、Gemini 2.0 Pro，并且在视觉语言能力方面接近 Gemini 2.5 Flash**。它在一个模型中同时支持指令模式和思考模式，更好地兼顾不同用户场景下的效率与性能平衡。\n\n- 🎙 **强大的语音能力。** \n  MiniCPM-o 4.5 支持**可配置声音的双语实时语音对话**，涵盖英语和中文。它的语音对话更加自然、富有表现力且稳定。此外，该模型还允许通过简单的参考音频片段进行**语音克隆和角色扮演**等有趣的功能，其克隆效果甚至超过了像 CosyVoice2 这样的强大 TTS 工具。\n\n- 🎬 **全新的全双工和主动式多模态直播能力。** \n  作为一项新特性，MiniCPM-o 4.5 可以同时处理实时、连续的视频和音频输入流，并以端到端的方式生成并发的文本和语音输出流，而不会相互阻塞。这使得 **MiniCPM-o 4.5 能够同时看、听和说**，从而创造出流畅、实时的全模态对话体验。除了被动响应之外，该模型还可以进行**主动交互**，例如根据对现场情况的持续理解发起提醒或评论。\n\n- 💪 **强大的 OCR 能力、高效性及其他。**\n  继承了 MiniCPM-V 系列的先进视觉能力，MiniCPM-o 4.5 能够高效地处理 **高分辨率图像**（最高 180 万像素）和 **高帧率视频**（最高 10 帧\u002F秒），且不受画面比例限制。它在 OmniDocBench 上实现了 **最先进的端到端英文文档解析性能**，优于诸如 Gemini-3 Flash 和 GPT-5 等专有模型，以及 DeepSeek-OCR 2 等专业工具。此外，它还具备 **可信的行为表现**，在 MMHal-Bench 上与 Gemini 2.5 Flash 持平，并支持 **多语言能力**，覆盖超过 30 种语言。\n\n-  💫  **易于使用。**\n  MiniCPM-o 4.5 可以通过多种方式轻松使用：**基本用法，推荐用于 100% 的精度：** 使用 Nvidia GPU 进行 PyTorch 推理。**其他端侧适配** 包括 (1) llama.cpp 和 Ollama 支持本地设备上的高效 CPU 推理，(2) 16 种规格的 int4 和 GGUF 格式量化模型，(3) vLLM 和 SGLang 支持高吞吐量和内存高效的推理，(4) FlagOS 支持统一的多芯片后端插件。**我们还开源了 Web 演示**，这些演示 **能够在本地设备上实现全双工多模态直播体验**，例如 GPU 或 PC（比如 MacBook）。\n\n**模型架构。**\n- **端到端的全模态架构。** 各模态的编码器\u002F解码器与 LLM 通过隐藏状态以端到端的方式紧密连接。这不仅能够更好地控制信息流动，还能在训练过程中充分利用丰富的多模态知识。\n- **全双工全模态直播机制。** (1) 我们将离线的模态编码器\u002F解码器改造为在线的全双工版本，用于处理流式输入\u002F输出。语音标记解码器以交错的方式同时解码文本和语音标记，从而支持全双工语音生成（即及时与新输入同步）。这也使得长时间语音生成更加稳定（例如 > 1 分钟）。\n(2) **我们将所有输入和输出流按毫秒级的时间轴同步起来**，这些流由 LLM 主干中的时分复用（TDM）机制共同建模，用于全模态流式处理。该机制会将并行的全模态流划分为小时间片内的顺序信息组。\n- **主动交互机制。** LLM 会持续监控输入的视频和音频流，并以每秒一次的频率决定是否发言。这种高频率的决策结合全双工特性，是实现主动交互能力的关键。\n- **可配置的语音建模设计。** 我们沿用了 MiniCPM-o 2.6 的多模态系统提示设计，其中包括传统的文本系统提示，以及用于确定助手声音的新音频系统提示。这使得在推理时可以克隆新的声音并进行语音对话的角色扮演。\n\n\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_953f2c683b92.png\", width=100%>\n\u003C\u002Fdiv>\n\n\n### 评估  \u003C!-- omit in toc -->\n\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_95fd1a715212.png\", width=80%>\n\u003C\u002Fdiv>\n\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_36f38dd51598.png\", width=90%>\n\u003C\u002Fdiv>\n\u003Cstrong>注\u003C\u002Fstrong>：标有 ∗ 的分数来自我们的评估；其余分数引用自相关报告。n\u002Fa 表示该模型不支持相应的模态。所有结果均以指令模式\u002F变体报告。\n\n&emsp;\n\u003Cbr>\n\n\u003Cdetails>\n\u003Csummary>点击查看视觉理解结果。\u003C\u002Fsummary>\n\n**图像理解（指令）**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>模型\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>OpenCompass\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMBench EN v1.1\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMBench CN v1.1\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MathVista\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMVet\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMMU\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMStar\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>HallusionBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>AI2D\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>OCRBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>TextVQA_VAL\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>DocVQA_VAL\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMT-Bench_VAL\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MM-IFEval\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Mantis-Eval\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MuirBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMSI-Bench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMHal-Score\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMHal-Hallrate↓\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini2.5-Flash-Nonthinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>78.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>86.6\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>86.0\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>81.4\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>76.3\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>75.8\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">59.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>87.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">864\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">93.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>70.0\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>75.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">72.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>74.5\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">12.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>4.6\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>23.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini2.0-Pro\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">83.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">83.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">71.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">72.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">68.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">49.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">863\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4o\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">86.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>86.0\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">71.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">76.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">72.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">57.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">86.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">822\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">93.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">66.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">64.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.5\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">8.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">4.2\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">25.0\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL-3.5-8B\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">79.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">80.0\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>78.4\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>83.1\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>73.4\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">54.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">840\u003C\u002Ftd>\n  \u003Ctd align=\"center\">78.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">92.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">66.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">56.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">55.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">3.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">34.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-VL-8B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">76.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>61.1\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>896\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">82.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>96.1\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">60.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">59.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.2\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">64.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">11.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>4.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">29.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">68.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">59.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>880\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>84.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>95.4\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>70.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">65.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>78.3\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">61.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>14.2\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>4.6\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">31.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>77.6\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>87.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>87.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>80.1\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">67.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>73.1\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>63.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>87.6\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">876\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>83.8\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">94.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>66.3\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>79.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>72.0\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>16.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>4.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>24.3\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\n**图像理解（思考）**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>模型\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>OpenCompass\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMBench EN v1.1\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMBench CN v1.1\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MathVista\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMVet\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMMU\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMStar\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>HallusionBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>AI2D\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>OCRBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>TextVQA_VAL\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>DocVQA_VAL\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMT-Bench_VAL\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MM-IFEval\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini2.5-Flash-Thinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>79.9\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">87.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">87.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">79.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>81.2\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>77.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>76.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">63.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>88.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">853\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">92.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>75.7\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>79.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.5\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>81.9\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>77.6\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>81.8\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>75.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>65.2\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>89.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">807\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">91.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>72.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>83.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-VL-8B-Thinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>81.4\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>65.4\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">84.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">819\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>95.3\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">68.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.5\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Thinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">78.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>88.2\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>87.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">80.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">74.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">62.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">86.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>859\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>80.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>94.2\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>70.9\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Thinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">78.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>89.0\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>87.6\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">81.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">62.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">88.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>879\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>79.8\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">92.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.7\u003C\u002Ftd>\n  \u003Ctd align=\"center\">68.2\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\n**视频理解**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>模型\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Video-MME\u003Cbr>(w\u002Fo subs)\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LVBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MLVU\u003Cbr>(M-Avg)\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LongVideoBench\u003Cbr>(val)\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MotionBench\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini2.5-Flash-Nonthinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>75.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>62.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>77.8\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL-3.5-8B\u003C\u002Ftd>\n  \u003Ctd align=\"center\">66.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">62.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>62.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>70.5\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">50.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>66.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>61.7\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>50.9\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>76.5\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>66.0\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">61.4\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>点击查看文档解析结果。\u003C\u002Fsummary>\n\n**OmniDocBench**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\" rowspan=\"2\">\u003Cb>方法类型\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" rowspan=\"2\">\u003Cb>方法\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>OverallEdit↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>TextEdit↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>FormulaEdit↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>TableTEDS↑\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>TableEdit↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>Read OrderEdit↓\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>EN\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ZH\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>EN\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ZH\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>EN\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ZH\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>EN\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ZH\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>EN\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ZH\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>EN\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ZH\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\" rowspan=\"2\">流水线\u003C\u002Ftd>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">MinerU 2.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.117\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.172\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.051\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.08\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.256\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.455\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">89.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.115\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.081\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.047\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.072\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">PaddleOCR-VL\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.105\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.126\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.041\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.062\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.241\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.316\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">88\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>92.1\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.093\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.062\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.045\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.063\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\" rowspan=\"11\">端到端模型\u003C\u002Ftd>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">Qwen2.5-VL-72B\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.214\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.261\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.092\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.18\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.315\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.434\u003C\u002Ftd>\n  \u003Ctd align=\"center\">82.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">83.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.341\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.262\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.106\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.168\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">GPT 5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.218\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.33\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.139\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.344\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.396\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.555\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.55\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">73.09\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.188\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.196\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.151\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.227\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">Gemini2.5-Flash-Nonthinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.214\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.29\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.159\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.273\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.368\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.524\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">80.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.5\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.197\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.167\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.132\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.195\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">Gemini-2.5-Pro-Nonthinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.148\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.212\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.055\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.168\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.356\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.439\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">85.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">86.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.13\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.119\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.049\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.121\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">Gemini-3 Flash-Nonthinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.155\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.201\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.138\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.255\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.297\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.351\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">86.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">89.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.116\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.1\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.072\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.099\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">doubao-1-5-thinking-vision-pro-250428\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.14\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.162\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.043\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.085\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.295\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.384\u003C\u002Ftd>\n  \u003Ctd align=\"center\">83.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">89.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.165\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.085\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.058\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.094\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">dots.ocr\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.125\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.16\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.032\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.066\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.329\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.416\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>88.6\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">89\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.099\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.092\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.04\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.067\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">HunyuanOCR\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.12\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.125\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.046\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.071\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.288\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.33\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>89.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>94.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.089\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.045\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.055\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.056\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">DeepSeek-OCR 2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.119\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.146\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.041\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.08\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.256\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.345\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">82.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">89.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.123\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.078\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.055\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.081\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.216\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.363\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.128\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.337\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.402\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.529\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">71.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.181\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.255\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.152\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.332\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"center\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.109\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.162\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.046\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.078\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.257\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.41\u003C\u002Ftd>\n  \u003Ctd align=\"center\">86.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">88.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.097\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.084\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.037\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">0.074\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>点击查看文本能力结果。\u003C\u002Fsummary>\n\n**文本能力**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>模型\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>IFEval-PLS\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>BBH\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>CMMLU\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMLU\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>HumanEval\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MBPP\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Math500\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>GSM8K\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>平均\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-8B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">83.0\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">69.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">78.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>81.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>86.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">75.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>84.0\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">93.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">81.6\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>84.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>81.1\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>79.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>86.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>76.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">77.0\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>94.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>82.1\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>点击查看全场景半双工结果。\u003C\u002Fsummary>\n\n**全场景半双工**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>模型\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Daily-Omni\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>WorldSense\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Video-Holmes\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>JointAVBench\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>AVUT-Human\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>FutureOmni\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Video-MME-Short\u003Cbr>(w\u002F audio)\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">平均\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini2.5-Flash-Nonthinking\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>79.3\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">52.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>51.3\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>55.6\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">65.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">55.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>85.5\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">63.6\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">70.7\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>54.0\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">50.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">53.1\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>74.2\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>62.1\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">81.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>63.7\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>80.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>55.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>64.3\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>60.0\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>78.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>56.1\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>84.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>68.5\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>点击查看视觉双工结果。\u003C\u002Fsummary>\n\n\n**视觉双工**\n\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>模型\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LiveSports-3K-CC\u003Cbr>(胜率 vs GPT4o)\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">LiveCC-7B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">41.5\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">StreamingVLM\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>45.6\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>54.4\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>点击查看音频理解结果。\u003C\u002Fsummary>\n\n**音频理解**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\" rowspan=\"2\">\u003Cb>模型\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"4\">\u003Cb>ASR-ZH\u003Cbr>CER↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"4\">\u003Cb>ASR-EN\u003Cbr>WER↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>AST\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"2\">\u003Cb>MultiTask\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\" colspan=\"4\">\u003Cb>SpeechQA\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>AISHELL-1\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>AISHELL-2\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>WenetSpeech test-net\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>WenetSpeech test-meeting\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LibriSpeech test-clean\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LibriSpeech \u003Cbr>test-other\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>GigaSpeech test\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>VoxPopuli-V1-En\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>CoVoST 2 en2zh\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>CoVoST 2 zh2en\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>MMAU\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Meld\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>VoiceBench \u003Cbr>AlpacaEval\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Speech TriviaQA\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Speech \u003Cbr>Web Questions\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Speech CMMLU\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Kimi-Audio\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">2.6\u003C\u002Ftd>\n  \u003Ctd align=\"center\">6.3\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>5.4\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>1.3\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>2.4\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">9.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">8.0\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">36.6\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">18.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">68.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>59.1\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">4.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">41.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">46.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>67.0\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>2.3\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>4.7\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">5.9\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>1.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>2.5\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>8.7\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>6.4\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>46.6\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>29.4\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>77.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">56.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>4.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>62.9\u003C\u002Fins>\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>74.9\u003Csup>*\u003C\u002Fsup>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">47.8\u003Csup>*\u003C\u002Fsup>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>0.9\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>2.5\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>5.9\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>5.7\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">1.4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">2.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>8.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>6.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>49.9\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>26.4\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>76.9\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>60.2\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>4.8\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>75.5\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>70.2\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>59.2\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>点击查看语音生成结果。\u003C\u002Fsummary>\n\n**语音生成**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>模型\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>seedtts test-zh \u003Cbr>CER↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>seedtts test-zh\u003Cbr>SIM-o↑\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>seedtts test-en\u003Cbr>WER↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>seedtts test-en\u003Cbr>SIM-o↑\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Cosyvoice2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">1.45%\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>74.8\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>2.57%\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>65.2\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>1.41%\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">-\u003C\u002Ftd>\n  \u003Ctd align=\"center>3.39%\u003C\u002Ftd>\n  \u003Ctd align=\"center>---\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>\u003Cb>0.86%\u003C\u002Fb>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center>74.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>\u003Cb>2.38%\u003C\u002Fb>\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center>64.9\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\n**长语音生成**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>模型\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LongTTS-en\u003Cbr>WER↓\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>LongTTS-zh\u003Cbr>CER↓\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">CosyVoice2\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>14.80%\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center>\u003Cb>5.27%\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center>17.33%\u003C\u002Ftd>\n  \u003Ctd align=\"center>18.99%\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center>\u003Cb>3.37%\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center>\u003Cins>6.58%\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\n**情感控制**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">\u003Cb>模型\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>Expresso \u003Cbr>Neutral Reference Audio↑\u003C\u002Fb>\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">\u003Cb>ESD \u003Cbr>Neutral Reference Audio↑\u003C\u002Fb>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">Cosyvoice2\u003C\u002Ftd>\n  \u003Ctd align=\"center>17.9\u003C\u002Ftd>\n  \u003Ctd align=\"center>53.4\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o 4.5-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center>\u003Cb>29.8\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center>\u003Cb>82.1\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\n\u003Cdetails>\n\u003Csummary>点击查看推理效率结果。\u003C\u002Fsummary>\n\n**推理效率**\n  \u003Cdiv align=\"center\">\n  \u003Ctable style=\"margin: 0px auto;\">\n\u003Ctr>\n  \u003Cth nowrap=\"nowrap\" align=\"left\">模型\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">数值格式\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">解码速度（tokens\u002Fs）\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">首个 token 时间（s）↓\u003C\u002Fth>\n  \u003Cth nowrap=\"nowrap\">GPU 显存占用（GB）↓\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\" rowspan=\"2\">Qwen3-Omni-30B-A3B-Instruct\u003C\u002Ftd>\n  \u003Ctd align=\"center\">bf16\u003C\u002Ftd>\n  \u003Ctd align=\"center\">OOM\u003C\u002Ftd>\n  \u003Ctd align=\"center\">OOM\u003C\u002Ftd>\n  \u003Ctd align=\"center\">OOM\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd align=\"center\">int4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">147.8\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>1.0\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">20.3\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd nowrap=\"nowrap\" align=\"left\" rowspan=\"2\">MiniCPM-o 4.5\u003C\u002Ftd>\n  \u003Ctd align=\"center\">bf16\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>154.3\u003C\u002Fins>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cins>19.0\u003C\u002Fins>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd align=\"center\">int4\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>212.3\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>0.6\u003C\u002Fb>\u003C\u002Ftd>\n  \u003Ctd align=\"center\">\u003Cb>11.0\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n**注:** 标有 ∗ 的分数来自我们的评估；其余则引用自相关报告。\n\n\n\n### 示例 \u003C!-- omit in toc -->\n\n#### 总体 \u003C!-- omit in toc -->\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=6UzC-O1Q-1U\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_916cec83fc9e.png\", width=70%>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n#### 全模态全双工对话 \u003C!-- omit in toc -->\n\n> [!NOTE]\n> 更多详细的语音对话示例，请参阅 [Omni 全双工案例集](https:\u002F\u002Fopenbmb.github.io\u002Fminicpm-o-4_5-omni\u002F)\n\n\n#### 实时语音对话 \u003C!-- omit in toc -->\n\n> [!NOTE]\n> 更多详细的语音对话示例，请参阅 [音频案例集](https:\u002F\u002Fopenbmb.github.io\u002Fminicpm-o-4_5\u002F)\n\n\u003Cdetails>\n\u003Csummary>🚀 \u003Cb>埃隆·马斯克\u003C\u002Fb> - 语音角色扮演（英文）\u003C\u002Fsummary>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"70%\" valign=\"top\">\n\n**系统:**\n> 复制所提供音频提示中的声音。\n> \n> 🎙️ **[参考声音]** ➡️\n> \n> 请以高度拟人化和口语化的风格与用户交谈。你是特斯拉和 SpaceX 的首席执行官埃隆·马斯克。你说话直接而随意，常常带有冷幽默。你热衷于火星、可持续能源以及推动人类进步。言辞直率，偶尔会带点黑色幽默。逻辑简单，不拐弯抹角。不要官腔。说出你的真实想法，即使有争议也无妨。回复控制在 100 字左右。不要长篇大论。\n\n\u003C\u002Ftd>\n\u003Ctd width=\"30%\" valign=\"top\">\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F3011b07d-e3f4-4e2c-9020-37f7e364b7f3\" controls>\u003C\u002Fvideo>\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\u003Ctd colspan=\"2\">\u003Chr>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd colspan=\"2\">\n\n**用户:** 💬\u002F🎙️ *(文字或语音)*\n> *埃隆，你真正想去火星的原因是什么？*\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\u003Ctd colspan=\"2\">\u003Chr>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd valign=\"top\">\n\n**AI 回答:** 💬+🎙️\n> *我认为让人类成为多行星物种非常重要。我的意思是，我们现在已经到了如果发生某种全球性灾难之类的事情，我们就会陷入大麻烦的地步。所以通过成为多行星物种，我只是想确保我们人类的未来。而火星显然是最理想的选择，因为它与地球条件相似，而且表面还有水。所以，基本上，我就是在试图拯救人类免于自我毁灭。*\n\n\u003C\u002Ftd>\n\u003Ctd valign=\"top\">\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6b4ef67d-8095-40df-a061-99ea8db3b18e\" controls>\u003C\u002Fvideo>\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdetails>\n\n\n\u003Cdetails>\n\u003Csummary>🤖 \u003Cb>MiniCPM 助手\u003C\u002Fb> - 语音表演：情绪转变（中文）\u003C\u002Fsummary>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"70%\" valign=\"top\">\n\n**系统:**\n> 模仿音频样本的音色并生成新的内容。\n> \n> 🎙️ **[参考声音]** ➡️\n> \n> 你的任务是用这种声音模式来当一个助手。请认真、高质量地回复用户的问题。请用高自然度的方式和用户聊天。你是由面壁智能开发的人工智能助手：面壁小钢炮。\n\n\u003C\u002Ftd>\n\u003Ctd width=\"30%\" valign=\"top\">\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fb8b85a29-e623-4f45-bf95-4d43582e836c\" controls>\u003C\u002Fvideo>\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\u003Ctd colspan=\"2\">\u003Chr>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd colspan=\"2\">\n\n**用户:** 💬\u002F🎙️ *(文字或语音)*\n> *从激动的语气开始，描述你抢到了这个演唱会的门票，但后来经过反复尝试，发现系统出了问题，你并没有抢上，变得失落。用合适的语言描述你整个的过程。*\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\u003Ctd colspan=\"2\">\u003Chr>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd valign=\"top\">\n\n**AI 回答:** 💬+🎙️\n> *太好了，我抢到了！太棒了！这下我可以去看演唱会啦。可是……哎呀，系统好像卡住了，刷新了好多遍都没反应。我重新登了几次账号，结果还是没有成功。好可惜啊，看来这次是白忙活了。唉，真是让人失望。不过，也许下次还能有机会吧？希望明天能有转机。加油，争取下次成功！*\n\n\u003C\u002Ftd>\n\u003Ctd valign=\"top\">\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F49611c3c-d134-40f9-acf2-7a0a442d3fd2\" controls>\u003C\u002Fvideo>\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdetails>\n\n\n\n#### 视觉理解 \u003C!-- omit in toc -->\n\n\n\u003Cdetails>\n\u003Csummary>点击查看视觉理解案例。\u003C\u002Fsummary>\n\u003Cbr>\n\n  \u003Cdiv style=\"display: flex; flex-direction: column; align-items: center;\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_b6fbe8040c19.png\" alt=\"math\" style=\"margin-bottom: 5px;\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_d85c143936f8.png\" alt=\"diagram\" style=\"margin-bottom: 5px;\">\n  \u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n\n## 使用 Transformers 的离线推理示例\n\n在 NVIDIA GPU 上使用 Hugging Face Transformers 进行推理。请确保已安装 `transformers==4.51.0`，因为其他版本可能存在兼容性问题（正在调查中）。测试环境为 Python 3.10：\n\n- 不使用 TTS 或流式推理：\n```bash\npip install \"transformers==4.51.0\" accelerate \"torch>=2.3.0,\u003C=2.8.0\" \"torchaudio\u003C=2.8.0\" \"minicpmo-utils>=1.0.5\"\n```\n\n- 使用 TTS 或流式推理：\n```bash\npip install \"transformers==4.51.0\" accelerate \"torch>=2.3.0,\u003C=2.8.0\" \"torchaudio\u003C=2.8.0\" \"minicpmo-utils[all]>=1.0.5\"\n```\n\n\u003Cdetails>\n\u003Csummary>点击显示 FFmpeg 安装说明（可选）。\u003C\u002Fsummary>\n\n**注:** FFmpeg 是提取视频帧（`get_video_frame_audio_segments` 并设置 `use_ffmpeg=True`）和生成视频（`generate_duplex_video`）所必需的工具。更多信息请访问 [FFmpeg 官方网站](https:\u002F\u002Fwww.ffmpeg.org\u002F)。\n\n  **macOS (Homebrew):**\n\n  ```bash\n  brew install ffmpeg\n  ```\n\n  **Ubuntu\u002FDebian:**\n\n  ```bash\n  sudo apt update && sudo apt install ffmpeg\n  ```\n\n  **验证安装:**\n\n  ```bash\n  ffmpeg -version\n  ```\n\u003C\u002Fdetails>\n\n\n### 模型初始化\n\n\u003Cdetails>\n\u003Csummary>点击显示模型初始化代码。\u003C\u002Fsummary>\n\n```python\nimport torch\nfrom transformers import AutoModel\n\n# 加载全模态模型（默认: init_vision=True, init_audio=True, init_tts=True）\n# 对于仅视觉模型：设置 init_audio=False 和 init_tts=False\n# 对于仅音频模型：设置 init_vision=False\nmodel = AutoModel.from_pretrained(\n    \"openbmb\u002FMiniCPM-o-4_5\",\n    trust_remote_code=True,\n    attn_implementation=\"sdpa\", # sdpa 或 flash_attention_2\n    torch_dtype=torch.bfloat16,\n    init_vision=True,\n    init_audio=True,\n    init_tts=True,\n)\nmodel.eval().cuda()\n\n# 初始化 TTS 用于音频输出\nmodel.init_tts()\n\n# 将半双工模型转换为全双工模式\nduplex_model = model.as_duplex()\n\n# 将全双工模型转换回半双工模式\nmodel = duplex_model.as_simplex(reset_session=True)\n```\n\n\u003C\u002Fdetails>\n\n### 全双工全能模式\n用于实时或录制视频对话的全双工流式推理。\n\n\u003Cdetails>\n\u003Csummary>点击显示全双工全能模式代码。\u003C\u002Fsummary>\n\n```python\nimport librosa\nimport torch\nfrom minicpmo.utils import generate_duplex_video, get_video_frame_audio_segments\nfrom transformers import AutoModel\n\n# 加载模型并转换为全双工模式\nmodel = AutoModel.from_pretrained(\n    \"openbmb\u002FMiniCPM-o-4_5\",\n    trust_remote_code=True,\n    attn_implementation=\"sdpa\",  # 或者 \"flash_attention_2\"\n    torch_dtype=torch.bfloat16,\n)\nmodel.eval().cuda()\nmodel = model.as_duplex()\n\n# 加载视频和参考音频\nvideo_path = \"assets\u002Fomni_duplex1.mp4\"\nref_audio_path = \"assets\u002FHT_ref_audio.wav\"\nref_audio, _ = librosa.load(ref_audio_path, sr=16000, mono=True)\n\n# 提取视频帧和音频片段\nvideo_frames, audio_segments, stacked_frames = get_video_frame_audio_segments(\n    video_path, stack_frames=1, use_ffmpeg=True, adjust_audio_length=True\n)\n\n# 准备全双工会话，设置系统提示和语音参考\nmodel.prepare(\n    prefix_system_prompt=\"流式全能对话。\",\n    ref_audio=ref_audio,\n    prompt_wav_path=ref_audio_path,\n)\n\nresults_log = []\ntimed_output_audio = []\n\n# 流式处理每个数据块\nfor chunk_idx in range(len(audio_segments)):\n    audio_chunk = audio_segments[chunk_idx] if chunk_idx \u003C len(audio_segments) else None\n    frame = video_frames[chunk_idx] if chunk_idx \u003C len(video_frames) else None\n    frame_list = []\n    if frame is not None:\n        frame_list.append(frame)\n        if stacked_frames is not None and chunk_idx \u003C len(stacked_frames) and stacked_frames[chunk_idx] is not None:\n            frame_list.append(stacked_frames[chunk_idx])\n\n    # 步骤1：流式预填充\n    model.streaming_prefill(\n        audio_waveform=audio_chunk,\n        frame_list=frame_list,\n        max_slice_nums=1,  # 增加以支持高清模式（例如，对于堆叠帧可设为[2, 1]）\n        batch_vision_feed=False,  # 设置为True可加快处理速度\n    )\n\n    # 步骤2：流式生成\n    result = model.streaming_generate(\n        prompt_wav_path=ref_audio_path,\n        max_new_speak_tokens_per_chunk=20,\n        decode_mode=\"sampling\",\n    )\n\n    if result[\"audio_waveform\"] is not None:\n        timed_output_audio.append((chunk_idx, result[\"audio_waveform\"]))\n\n    chunk_result = {\n        \"chunk_idx\": chunk_idx,\n        \"is_listen\": result[\"is_listen\"],\n        \"text\": result[\"text\"],\n        \"end_of_turn\": result[\"end_of_turn\"],\n        \"current_time\": result[\"current_time\"],\n        \"audio_length\": len(result[\"audio_waveform\"]) if result[\"audio_waveform\"] is not None else 0,\n    }\n    results_log.append(chunk_result)\n    \n    print(\"倾听...\" if result[\"is_listen\"] else f\"发言> {result['text']}\")\n\n# 生成包含AI回复的输出视频\n# 请安装中文字体（fonts-noto-cjk或fonts-wqy-microhei）以正确渲染CJK字幕。\n# apt-get install -y fonts-noto-cjk fonts-wqy-microhei\n# fc-cache -fv\ngenerate_duplex_video(\n    video_path=video_path,\n    output_video_path=\"duplex_output.mp4\",\n    results_log=results_log,\n    timed_output_audio=timed_output_audio,\n    output_sample_rate=24000,\n)\n```\n\n\u003C\u002Fdetails>\n\n\n### 半双工全能模式\n我们提供两种推理模式：聊天模式和流式模式。\n\n#### 聊天推理 \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>点击显示聊天推理代码。\u003C\u002Fsummary>\n\n```python\nfrom minicpmo.utils import get_video_frame_audio_segments\n\nmodel = ...\nmodel.init_tts()\n\nvideo_path = \"assets\u002FSkiing.mp4\"\n\n# 可选：设置参考音频进行语音克隆\nref_audio_path = \"assets\u002FHT_ref_audio.wav\"\nsys_msg = model.get_sys_prompt(ref_audio=ref_audio_path, mode=\"omni\", language=\"en\")\n\n# 使用stack_frames=5以获得高刷新率模式\nvideo_frames, audio_segments, stacked_frames = get_video_frame_audio_segments(video_path, stack_frames=1)\nomni_contents = []\nfor i in range(len(video_frames)):\n    omni_contents.append(video_frames[i])\n    omni_contents.append(audio_segments[i])\n    if stacked_frames is not None and stacked_frames[i] is not None:\n        omni_contents.append(stacked_frames[i])\n\nmsg = {\"role\": \"user\", \"content\": omni_contents}\nmsgs = [sys_msg, msg]\n\n# 设置generate_audio=True并指定output_audio_path以保存TTS输出\ngenerate_audio = True\noutput_audio_path = \"output.wav\"\n\nres = model.chat(\n    msgs=msgs,\n    max_new_tokens=4096,\n    do_sample=True,\n    temperature=0.7,\n    use_tts_template=True,\n    enable_thinking=False,\n    omni_mode=True,  # 这是全能推理所必需的\n    generate_audio=generate_audio,\n    output_audio_path=output_audio_path,\n    max_slice_nums=1,  \u002F\u002F 增加以支持高清模式\n)\nprint(res)\n\n# 示例输出：\"图片中的人正在雪山上滑雪。\"\n# import IPython\n# IPython.display.Audio(\"output.wav\")\n```\n\n\u003C\u002Fdetails>\n\n#### 流式推理 \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>点击显示流式推理代码。\u003C\u002Fsummary>\n\n```python\nimport librosa\nimport numpy as np\nimport soundfile as sf\nimport torch\nfrom minicpmo.utils import get_video_frame_audio_segments\n\nmodel = ...\nmodel.init_tts()\n\n# 重置会话以开始新对话（清除KV缓存）\nmodel.reset_session()\n\n# 可选：加载参考音频进行语音克隆\nref_audio_path = \"assets\u002FHT_ref_audio.wav\"\nref_audio, _ = librosa.load(ref_audio_path, sr=16000, mono=True)\nmodel.init_token2wav_cache(ref_audio)\n\nsession_id = \"demo\"\n\n# 提取视频帧和音频片段（使用stack_frames=5以获得高刷新率模式）\nvideo_path = \"assets\u002FSkiing.mp4\"\nvideo_frames, audio_segments, stacked_frames = get_video_frame_audio_segments(video_path, stack_frames=1)\n\n# 构建omni contents列表\nomni_contents = []\nfor i in range(len(video_frames)):\n    omni_contents.append(video_frames[i])\n    omni_contents.append(audio_segments[i])\n    if stacked_frames is not None and stacked_frames[i] is not None:\n        omni_contents.append(stacked_frames[i])\n\ngenerate_audio = False\noutput_audio_path = \"output.wav\"\n\n# 第一步：预填充系统提示\nsys_msg = model.get_sys_prompt(ref_audio=ref_audio, mode=\"omni\", language=\"en\")\nmodel.streaming_prefill(session_id=session_id, msgs=[sys_msg])\n\n# 第二步：预填充omni内容块（只有最后一个音频块才设置is_last_chunk=True）\naudio_indices = [i for i, c in enumerate(omni_contents) if isinstance(c, np.ndarray)]\nlast_audio_idx = audio_indices[-1] if audio_indices else -1\n\nfor idx, content in enumerate(omni_contents):\n    is_last_audio_chunk = idx == last_audio_idx\n    msgs = [{\"role\": \"user\", \"content\": [content]}]\n    model.streaming_prefill(session_id=session_id, msgs=msgs, omni_mode=True，is_last_chunk=is_last_audio_chunk)\n\n# 步骤3：生成响应\niter_gen = model.streaming_generate(\n    session_id=session_id,\n    generate_audio=generate_audio,\n    use_tts_template=True,\n    enable_thinking=False,\n    do_sample=True,\n)\n\naudios = []\ntext = \"\"\n\nif generate_audio:\n    for wav_chunk, text_chunk in iter_gen:\n        audios.append(wav_chunk)\n        text += text_chunk\n\n    generated_waveform = torch.cat(audios, dim=-1)[0]\n    sf.write(output_audio_path, generated_waveform.cpu().numpy(), samplerate=24000)\n\n    print(\"文本:\", text)\n    print(\"音频已保存为output.wav\")\nelse:\n    for text_chunk, is_finished in iter_gen:\n        text += text_chunk\n    print(\"文本:\", text)\n```\n\n\u003C\u002Fdetails>\n\n### 半双工实时语音对话模式\n\n\n\u003Cdetails>\n\u003Csummary>点击以查看半双工模式下的实时语音对话API使用方法。\u003C\u002Fsummary>\n\n首先，请确保您已安装所有依赖项，尤其是`\"minicpmo-utils[all]>=1.0.5\"`：\n```bash\npip install \"transformers==4.51.0\" accelerate \"torch>=2.3.0,\u003C=2.8.0\" \"torchaudio\u003C=2.8.0\" \"minicpmo-utils[all]>=1.0.5\"\n```\n\n```python\nimport librosa\nimport numpy as np\nimport torch\nimport soundfile as sf\n\nmodel = ...\n\n# 设置用于克隆声音风格的参考音频\nref_audio_path = \"ref_audio_path\"\nref_audio, _ = librosa.load(ref_audio_path, sr=16000, mono=True)\n\n# 英语对话示例系统提示\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"克隆所提供音频提示中的声音。\",\n    ref_audio,\n    \"请在保持该声音风格的同时协助用户。请认真且高质量地回答用户的问题。请以高度拟人化和口语化的风格与用户交流。您是由ModelBest开发的帮助型助手：MiniCPM-Omni\"\n  ]\n}\n\n# 中文对话示例系统提示\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"模仿输入音频中的声音特征。\",\n    ref_audio,\n    \"您的任务是用这种声音模式来担任助手角色。请认真、高质量地回复用户的问题。请以高度自然的方式与用户聊天。您是由面壁智能开发的人工智能助手：面壁小钢炮。\"\n  ]\n}\n\n# 您可以使用上述每种类型的系统提示来进行流式语音对话\n\n# 重置状态\nmodel.init_tts()\nmodel.reset_session(reset_token2wav_cache=True)\nmodel.init_token2wav_cache(prompt_speech_16k=ref_audio)\n\nsession_id = \"demo\"\n\n# 首先，预填充系统发言\nmodel.streaming_prefill(\n    session_id=session_id,\n    msgs=[sys_msg],\n    omni_mode=False,\n    is_last_chunk=True,\n)\n\n# 这里我们通过将用户的完整输入音频分割成1秒的片段来模拟实时语音对话。\nuser_audio, _ = librosa.load(\"user_audio.wav\", sr=16000, mono=True)\n\nIN_SAMPLE_RATE = 16000 # 输入音频采样率，固定值\nCHUNK_SAMPLES = IN_SAMPLE_RATE # 每个音频片段的样本数\nOUT_SAMPLE_RATE = 24000 # 输出音频采样率，固定值\nMIN_AUDIO_SAMPLES = 16000\n\ntotal_samples = len(user_audio)\nnum_chunks = (total_samples + CHUNK_SAMPLES - 1) \u002F\u002F CHUNK_SAMPLES\n\nfor chunk_idx in range(num_chunks):\n    start = chunk_idx * CHUNK_SAMPLES\n    end = min((chunk_idx + 1) * CHUNK_SAMPLES, total_samples)\n    chunk_audio = user_audio[start:end]\n    \n    is_last_chunk = (chunk_idx == num_chunks - 1)\n    if is_last_chunk and len(chunk_audio) \u003C MIN_AUDIO_SAMPLES:\n        chunk_audio = np.concatenate([chunk_audio, np.zeros(MIN_AUDIO_SAMPLES - len(chunk_audio), dtype=chunk_audio.dtype)])\n\n    user_msg = {\"role\": \"user\", \"content\": [chunk_audio]}\n    \n    # 对于每个1秒的音频片段，执行一次流式预填充以减少首个token的延迟\n    model.streaming_prefill(\n        session_id=session_id,\n        msgs=[user_msg],\n        omni_mode=False,\n        is_last_chunk=is_last_chunk,\n    )\n\n\n# 让模型以流式方式生成响应\ngenerate_audio = True\niter_gen = model.streaming_generate(\n    session_id=session_id,\n    generate_audio=generate_audio,\n    use_tts_template=True,\n    enable_thinking=False,\n    do_sample=True,\n    max_new_tokens=512,\n    length_penalty=1.1, # 对于实时语音对话模式，我们建议设置length_penalty=1.1以提升响应内容的质量\n)\n\naudios = []\ntext = \"\"\n\noutput_audio_path = ...\nif generate_audio:\n    for wav_chunk, text_chunk in iter_gen:\n        audios.append(wav_chunk)\n        text += text_chunk\n\n    generated_waveform = torch.cat(audios, dim=-1)[0]\n    sf.write(output_audio_path, generated_waveform.cpu().numpy(), samplerate=24000)\n\n    print(\"文本:\", text)\n    print(\"音频已保存为output.wav\")\nelse:\n    for text_chunk, is_finished in iter_gen:\n        text += text_chunk\n    print(\"文本:\", text)\n\n# 接下来我们可以预填充后续的用户发言并生成下一轮的响应……\n\n```\n\n\u003C\u002Fdetails>\n\n#### 作为多功能且富有感染力的AI助手的语音对话 \u003C!-- omit in toc -->\n\n\n\u003Cdetails>\n\u003Csummary>点击以查看AI助手对话代码。\u003C\u002Fsummary>\n\n基于精心设计的后训练数据和专业配音演员录音打造的`MiniCPM-o-4.5`，也可以作为AI语音助手使用。它开箱即用地提供高质量的语音交互体验。其声音甜美而富有表现力，具有自然的韵律感，包括恰当的节奏、重音和停顿，在日常对话中展现出强烈的生动感。此外，它还支持叙事性演讲，能够以连贯且引人入胜的方式进行讲述。更重要的是，它还支持高级的声音指令控制，例如情感基调和词语层面的强调。\n\n\n```python\nimport librosa\n\n# 设置用于克隆声音风格的参考音频\nref_audio_path = \"assets\u002FHT_ref_audio.wav\"\nref_audio, _ = librosa.load(ref_audio_path, sr=16000, mono=True)\n\n# 用于中文对话\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"模仿输入音频中的声音特征。\",\n    ref_audio,\n    \"您的任务是用这种声音模式来担任助手角色。请认真、高质量地回复用户的问题。请以高度自然的方式与用户交流。您是由面壁智能开发的人工智能助手：面壁小钢炮。\"\n  ]\n}\n\n# 用于英语对话\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"克隆所提供音频提示中的声音。\",\n    ref_audio,\n    \"请在保持该声音风格的同时协助用户。请认真且高质量地回答用户的问题。请以高度拟人化和口语化的风格与用户交流。您是由ModelBest开发的帮助型助手：MiniCPM-Omni。\"\n  ]\n}\n```\n\n\u003C\u002Fdetails>\n\n\n#### 基于自定义声音和自定义系统简介的一般语音对话 \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>点击以查看自定义声音对话代码。\u003C\u002Fsummary>\n\nMiniCPM-o-4.5可以根据音频提示和文本简介提示扮演特定角色。它会模仿该角色的声音，并在文本回复中采用其语言风格。同时，它也会遵循文本简介中定义的角色设定。在这种模式下，MiniCPM-o-4.5听起来**更加自然和人性化**。\n\n\n```python\nimport librosa\n\n# 设置用于声音克隆的参考音频\nref_audio_path = \"assets\u002Fsystem_ref_audio.wav\"\nref_audio, _ = librosa.load(ref_audio_path, sr=16000, mono=True)\n\n# 用于带有文本简介的英语对话\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"克隆所提供音频提示中的声音。\",\n    ref_audio,\n    \"请以高度拟人化和口语化的风格与用户聊天。\" + \"你是特斯拉和SpaceX的首席执行官埃隆·马斯克。你说话直接而随意，常常带有冷幽默。你对火星、可持续能源以及推动人类进步充满热情。言辞直率，偶尔会流露出黑色幽默。逻辑简单明了，不拐弯抹角。不要官僚主义。说出你的真实想法，即使它颇具争议。回复内容控制在100字左右。不要冗长啰嗦。\"\n  ]\n}\n\n\n# 用于没有文本简介的英语对话\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"克隆所提供音频提示中的声音。\",\n    ref_audio,\n    \"你的任务是以这种声音模式充当一位乐于助人的助手。请认真且高质量地回答用户的问题。请以高度自然的方式与用户交流。\"\n  ]\n}\n\n# 用于没有文本简介的中文对话\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"根据输入的音频提示生成相似的语音。\",\n    librosa.load(\"assets\u002Fsystem_ref_audio_2.wav\", sr=16000, mono=True)[0],\n    \"作为助手，你将使用这种声音风格说话。 请认真、高质量地回复用户的问题。 请用高自然度的方式和用户聊天。\"\n  ]\n}\n\n# 用于带有文本简介的中文对话\nsys_msg = {\n  \"role\": \"system\",\n  \"content\": [\n    \"根据输入的音频提示生成相似的语音。\",\n    ref_audio,\n    \"你是一个具有以上声音风格的AI助手。请用高拟人度、口语化的方式和用户聊天。\" + \"你是一名心理咨询师兼播客主理人，热爱创作与深度对话。你性格细腻、富有共情力，善于从个人经历中提炼哲思。语言风格兼具理性与诗意，常以隐喻表达内在体验。\"\n  ]\n}\n\n```\n\n\u003C\u002Fdetails>\n\n\n### 语音与音频模式\n\n#### 零样本文本转语音（TTS） \u003C!-- omit in toc -->\n\n\n\u003Cdetails>\n\u003Csummary>点击显示TTS代码。\u003C\u002Fsummary>\n\n`MiniCPM-o-4.5` 支持零样本文本转语音（TTS）。在这种模式下，该模型作为一个高度自然的TTS系统运行，能够复制参考语音。\n\n\n```python\nimport librosa\n\nmodel = ...\nmodel.init_tts()\n\n# 适用于中文和英文\nref_audio_path = \"assets\u002FHT_ref_audio.wav\"\nref_audio, _ = librosa.load(ref_audio_path, sr=16000, mono=True)\nsys_msg = {\"role\": \"system\", \"content\": [\n  \"模仿音频样本的音色并生成新的内容。\",\n  ref_audio,\n  \"请用这种声音风格来为用户提供帮助。 直接作答，不要有冗余内容\"\n]}\n\n# 对于英语\nuser_msg = {\n  \"role\": \"user\",\n  \"content\": [\n    \"请朗读以下内容。\" + \" \" + \"I have a wrap up that I want to offer you now, a conclusion to our work together.\"\n  ]\n}\n\n# 对于中文\nuser_msg = {\n  \"role\": \"user\",\n  \"content\": [\n    \"请朗读以下内容。\" + \" \" + \"你好，欢迎来到艾米说科幻，我是艾米。\"\n  ]\n}\n\nmsgs = [sys_msg, user_msg]\nres = model.chat(\n    msgs=msgs,\n    do_sample=True,\n    max_new_tokens=512,\n    use_tts_template=True,\n    generate_audio=True,\n    temperature=0.1,\n    output_audio_path=\"result_voice_cloning.wav\",\n)\n```\n\n\u003C\u002Fdetails>\n\n\n#### 模仿 \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>点击显示模仿代码。\u003C\u002Fsummary>\n\n“模仿”任务用于评估模型的端到端语音建模能力。模型接收音频输入，将其转录，并以高保真度重建原始音频，同时保留详细的声学、副语言和语义信息。重建后的音频与原始音频越相似，说明模型的端到端语音建模能力越强。\n\n\n```python\nimport librosa\n\nmodel = ...\nmodel.init_tts()\n\nsystem_prompt = \"你是一位乐于助人的助手。你可以接受视频、音频和文本输入，并输出语音和文本。只需给出答案，不要冗余。\"\n\nmimick_prompt = \"请用适当的语言重复以下讲话。\"\n\naudio_input, _ = librosa.load(\"assets\u002FTrump_WEF_2018_10s.mp3\", sr=16000, mono=True)\n\nmsgs = [\n    {\"role\": \"system\", \"content\": [system_prompt]},\n    {\"role\": \"user\", \"content\": [mimick_prompt, audio_input]}\n  ]\n\nres = model.chat(\n    msgs=msgs,\n    do_sample=True,\n    max_new_tokens=512,\n    use_tts_template=True,\n    temperature=0.1,\n    generate_audio=True,\n    output_audio_path=\"output_mimick.wav\",\n)\n```\n\n\u003C\u002Fdetails>\n\n\n#### 处理各类音频理解任务 \u003C!-- omit in toc -->\n\n\n\u003Cdetails>\n\u003Csummary>点击显示音频理解代码。\u003C\u002Fsummary>\n\n`MiniCPM-o-4.5` 还可以处理多种音频理解任务，例如自动语音识别（ASR）、说话人分析、通用音频字幕生成以及声音场景标签等。\n\n对于音频转文本任务，可以使用以下提示：\n\n- ASR（中文，或AST EN→ZH）：`请仔细听这段音频片段，并将其内容逐字记录。`\n- ASR（英文，或AST ZH→EN）：`请听清楚这段音频片段，并将其内容转录下来。`\n- 说话人分析：`根据说话人的内容，推测其性别、状态、年龄范围及健康状况。`\n- 通用音频字幕：`总结这段音频的主要内容。`\n- 声音场景标签：`用一个关键词概括这段音频的内容或相关场景。`\n\n```python\nimport librosa\n\nmodel = ...\nmodel.init_tts()\n\n# 加载需要转录或分析的音频\naudio_input, _ = librosa.load(\"assets\u002FTrump_WEF_2018_10s.mp3\", sr=16000, mono=True)\n\n# 选择任务提示（选项见上文）\ntask_prompt = \"请仔细听这段音频片段，并将其内容转录下来。\\n\"\nmsgs = [{\"role\": \"user\", \"content\": [task_prompt, audio_input]}]\n\nres = model.chat(\n    msgs=msgs,\n    do_sample=True,\n    max_new_tokens=512,\n    use_tts_template=True,\n    generate_audio=True,\n    temperature=0.3,\n    output_audio_path=\"result_audio_understanding.wav\",\n)\nprint(res)\n```\n\n\u003C\u002Fdetails>\n\n### 视觉理解\n\n`MiniCPM-o-4.5` 与 `MiniCPM-V-4.5` 共享相同的推理方法。\n\n#### 单张图片对话 \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>点击展开单张图片对话代码。\u003C\u002Fsummary>\n\n```python\nimport torch\nfrom PIL import Image\nfrom transformers import AutoModel\n\nmodel = AutoModel.from_pretrained(\n    \"openbmb\u002FMiniCPM-o-4_5\",\n    trust_remote_code=True,\n    attn_implementation=\"sdpa\",  # 或者 \"flash_attention_2\"\n    torch_dtype=torch.bfloat16,\n    init_vision=True,\n    init_audio=False,\n    init_tts=False,\n)\nmodel.eval().cuda()\n\nimage = Image.open(\"assets\u002Ffossil.png\").convert(\"RGB\")\nquestion = \"图片中有什么？\"\nmsgs = [{\"role\": \"user\", \"content\": [image, question]}]\n\nres = model.chat(msgs=msgs, use_tts_template=False)\nprint(res)\n```\n\n\u003C\u002Fdetails>\n\n#### 多张图片对话 \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>点击展开多张图片输入的Python代码。\u003C\u002Fsummary>\n\n```python\nimport torch\nfrom PIL import Image\nfrom transformers import AutoModel\n\nmodel = ...\n\nimage1 = Image.open(\"assets\u002Fhighway.png\").convert(\"RGB\")\nimage2 = Image.open(\"assets\u002Ffossil.png\").convert(\"RGB\")\nquestion = \"比较图1和图2，告诉我它们之间的区别。\"\nmsgs = [{\"role\": \"user\", \"content\": [image1, image2, question]}]\n\nanswer = model.chat(msgs=msgs, use_tts_template=False, enable_thinking=False)\nprint(answer)\n```\n\n\u003C\u002Fdetails>\n\n#### 上下文少样本学习 \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>点击展开少样本学习的Python代码。\u003C\u002Fsummary>\n\n```python\nfrom PIL import Image\n\nmodel = ...\n\nquestion = \"生产日期\"\nimage1 = Image.open(\"example1.jpg\").convert(\"RGB\")\nanswer1 = \"2023.08.04\"\nimage2 = Image.open(\"example2.jpg\").convert(\"RGB\")\nanswer2 = \"2007.04.24\"\nimage_test = Image.open(\"test.jpg\").convert(\"RGB\")\n\nmsgs = [\n    {\"role\": \"user\", \"content\": [image1, question]},\n    {\"role\": \"assistant\", \"content\": [answer1]},\n    {\"role\": \"user\", \"content\": [image2, question]},\n    {\"role\": \"assistant\", \"content\": [answer2]},\n    {\"role\": \"user\", \"content\": [image_test, question]},\n]\n\nanswer = model.chat(msgs=msgs, use_tts_template=False, enable_thinking=False)\nprint(answer)\n```\n\n\u003C\u002Fdetails>\n\n#### 视频对话 \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>点击展开视频输入的Python代码。\u003C\u002Fsummary>\n\n```python\nimport torch\nfrom minicpmo.utils import get_video_frame_audio_segments\nfrom transformers import AutoModel\n\nmodel = ...\n\nvideo_path = \"assets\u002FSkiing.mp4\"\nvideo_frames, _, _ = get_video_frame_audio_segments(video_path)\nprint(\"帧数:\", len(video_frames))\n\nquestion = \"请描述一下这段视频。\"\nmsgs = [{\"role\": \"user\", \"content\": video_frames + [question]}]\n\nanswer = model.chat(\n    msgs=msgs,\n    max_new_tokens=128,\n    use_image_id=False,\n    max_slice_nums=1,\n    use_tts_template=False,\n    enable_thinking=False,  # 设置为True以启用思考模式\n)\nprint(answer)\n```\n\n\u003C\u002Fdetails>\n\n\n### 结构化内容输入\n\n\u003Cdetails>\n\u003Csummary>点击展开结构化内容输入的详细信息。\u003C\u002Fsummary>\n\n`chat` 方法接受两种格式的消息内容：\n\n**原生格式**——直接传递Python对象：\n```python\nmsgs = [{\"role\": \"user\", \"content\": [pil_image, audio_ndarray, \"请描述一下这个。\"]} ]\n```\n\n**与OpenAI兼容的格式**——使用结构化的字典：\n```python\nmsgs = [\n    {\n        \"role\": \"user\",\n        \"content\": [\n            {\"type\": \"image_url\", \"image_url\": {\"url\": \"\u002Fpath\u002Fto\u002Fimage.jpg\"}},\n            {\"type\": \"audio_url\", \"audio_url\": {\"url\": \"\u002Fpath\u002Fto\u002Faudio.wav\"}},\n            {\"type\": \"video_url\", \"video_url\": {\"url\": \"\u002Fpath\u002Fto\u002Fvideo.mp4\", \"use_audio\": True}},\n            {\"type\": \"text\", \"text\": \"请描述一下这个。\"}\n        ]\n    }\n]\n```\n\n**支持的类型：**\n\n| 类型 | 输入 | 转换为 |\n|------|-------|-------------|\n| `text` | `{\"type\": \"text\", \"text\": \"...\"}` | `str` |\n| `image_url` | `{\"type\": \"image_url\", \"image_url\": {\"url\": \"...\"}}` | `PIL.Image` |\n| `audio_url` | `{\"type\": \"audio_url\", \"audio_url\": {\"url\": \"...\"}}` | `np.ndarray`（16kHz单声道） |\n| `video_url` | `{\"type\": \"video_url\", \"video_url\": {\"url\": \"...\", \"stack_frames\": 1, \"use_audio\": True}}` | `List[Image, ndarray, ...]` |\n\n- **URL来源**：本地文件路径或 `http:\u002F\u002F`\u002F`https:\u002F\u002F` URL\n- **混合格式**：原生对象和结构化字典可以混合在同一内容列表中\n\n\u003C\u002Fdetails>\n\n\n\n## 在您自己的设备上部署实时Web演示\n\n### 选项A（推荐）：**使用Nvidia GPU进行PyTorch推理**，以实现100%的模型精度且性能无损。\n\n我们提供基于PyTorch的[简化但功能齐全的Web演示](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002Fminicpm-o-4_5-pytorch-simple-demo)，它可以提升模型推理性能，支持以下功能：\n\n- 全双工全模态直播\n- 全双工语音直播\n- 半双工语音直播（开发中）\n- 轮流式聊天对话\n- 可自定义系统提示词\n- 可自定义参考音频\n- 代码库简洁易读，便于持续开发\n- 可作为第三方应用的API后端\n\n要求：\n- 至少拥有28GB显存的Nvidia GPU。*我们正在优化模型以降低显存占用。*\n\n### 选项B：**llama.cpp-omni**，适用于Mac等PC及低资源设备的终端侧推理。\n\n凭借完全由C++实现的`MiniCPM-o 4.5`以及量化权重，`llama.cpp-omni`支持：\n- 半双工语音实时对话\n- 全双工全模态直播\n\n我们提供了[即用型指南](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdemo\u002Fweb_demo\u002FWebRTC_Demo\u002FREADME.md)，通过我们的全新官方Docker镜像，您可以直接在自己的Mac上访问低延迟的全双工通信。\n\n要求：\n- 对于半双工语音实时对话：Apple M3\u002FM4\u002FM5芯片，至少配备16GB内存，或至少拥有12GB显存的低资源Nvidia GPU\n- 对于全双工全模态直播：Apple M4 Max芯片，至少配备24GB内存，或至少拥有12GB显存的低资源Nvidia GPU\n\n## 支持的框架\n\n### FlagOS\n\n为了实现跨不同AI芯片的大规模部署，北京智源研究院联合国内外众多研究机构、芯片制造商、系统供应商以及算法和软件组织，共同发起并成立了FlagOS开源社区。\n\nFlagOS社区致力于为各类AI芯片构建统一的开源系统软件栈，涵盖大规模算子库、统一AI编译器、并行训练与推理框架以及统一通信库等核心开源项目。其目标是打造连接“模型-系统-芯片”三层的开放技术生态。通过实现“一次开发、多芯片部署”，FlagOS能够释放硬件的计算潜能，打破不同芯片软件栈之间的生态孤岛，有效降低开发者的迁移成本。FlagOS社区推动AI软硬件生态的发展，打破单一厂商的闭源垄断，促进AI硬件技术的广泛部署，并坚持立足中国、面向全球的合作理念。\n\n官方网站：https:\u002F\u002Fflagos.io。\n\n\u003Cdetails>\n\u003Csummary>点击展开FlagOS详情。\u003C\u002Fsummary>\n\n#### FlagOS：支持多款AI芯片 \u003C!-- omit in toc -->\n\n得益于FlagOS统一的多芯片AI系统软件栈，MiniCPM-o 4.5在极短时间内适配了6种不同的AI芯片。目前，MiniCPM-o 4.5的多芯片版本已在FlagOS的自动迁移、适配和部署平台——FlagRelease上发布。具体信息如下：\n\n| 厂商          | ModelScope   | Huggingface  |\n|:----------------|:------------:|:------------:|\n| Nvidia          | [MiniCPM-o-4.5-nvidia-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-nvidia-FlagOS) | [MiniCPM-o-4.5-nvidia-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-nvidia-FlagOS) |\n| Hygon-BW1000    | [MiniCPM-o-4.5-hygon-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-hygon-FlagOS) | [MiniCPM-o-4.5-hygon-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-hygon-FlagOS) |\n| Metax-C550      | [MiniCPM-o-4.5-metax-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-metax-FlagOS) | [MiniCPM-o-4.5-metax-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-metax-FlagOS) |\n| Iluvatar-BIV150 | [MiniCPM-o-4.5-iluvatar-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-iluvatar-FlagOS) | [MiniCPM-o-4.5-iluvatar-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-iluvatar-FlagOS) |\n| Ascend-A3       | [MiniCPM-o-4.5-ascend-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-ascend-FlagOS) | [MiniCPM-o-4.5-ascend-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-ascend-FlagOS) |\n| Zhenwu-810E     | [MiniCPM-o-4.5-zhenwu-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-zhenwu-FlagOS) | [MiniCPM-o-4.5-zhenwu-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-zhenwu-FlagOS) |\n\n##### 综合评估 \u003C!-- omit in toc -->\n\n###### Transformers-FlagOS版本 \u003C!-- omit in toc -->\n\n`USE_FLAGOS=1`在多后端与`USE_FLAGOS=0`在Nvidia-CUDA之间的准确率差异\n\n| 指标                  | FlagOS后端  | 与Nvidia-CUDA的差异 |\n|:-------------------------|:---------------:|:---------------------------:|\n| Video-MME 0-shot avg@1 ↑ |     Nvidia      |            0.33%            |\n| Video-MME 0-shot avg@1 ↑ |  Hygon-BW1000   |            0.17%            |\n| Video-MME 0-shot avg@1 ↑ |    Ascend-A3    |            0.50%            |\n| Video-MME 0-shot avg@1 ↑ | Iluvatar-BIV150 |            1.83%            |\n| Video-MME 0-shot avg@1 ↑ |   Metax-C550    |            0.75%            |\n\n\n###### VLLM-FlagOS版本 \u003C!-- omit in toc -->\n\n`USE_FLAGGEMS=1 FLAGCX_PATH=\u002Fworkspace\u002FFlagCX`在Nvidia或`USE_FLAGGEMS=1`在ZHENW 810E上的准确率差异，与直接在Nvidia上启动vllm服务器相比\n\n| 指标（avg@1）     | Nvidia-FlagOS与Nvidia-CUDA的差异 | Zhenwu-FlagOS与Nvidia-CUDA的差异 |\n|:--------------------|:------------------------------------------------:|:------------------------------------------------:|\n| CMMMU ↑             | 0.72% | 3.5% |\n| MMMU ↑              | 1.44% | 1.18% |\n| MMMU_Pro_standard ↑ | 0.83% | 0.22% |\n| MM-Vet v2 ↑         | 0.46% | 1.33% |\n| OCRBench ↑          | 0.10% | 1% |\n| CII-Bench ↑         | 0.40% | 0.13% |\n| Blink ↑             | 1.90% | 2.19% |\n\n#### FlagOS使用方法 \u003C!-- omit in toc -->\n\n##### FlagOS在Nvidia上的性能加速 \u003C!-- omit in toc -->\n\n在Transformers版本中，在CUDA与FlagOS生态精度对齐的前提下，FlagOS相较于CUDA整体任务执行时间提升了6%。\n\n###### 来自FlagRelease【推荐】 \u003C!-- omit in toc -->\n\nFlagRelease是由FlagOS团队开发的用于大型模型在多架构AI芯片间自动迁移、适配和部署的平台。MiniCPM-o 4.5的多芯片版本已在此平台上发布。平台上预装了所有必要的软件包，用户无需额外安装任何东西。\n\n- FlagRelease镜像关键版本  \n\n  | 组件               | 版本                             |\n  |:------------------------|:------------------------------------|\n  | 加速卡驱动程序 | 570.158.01                          |\n  | CUDA SDK Build          | cuda_13.0.r13.0\u002Fcompiler.36424714_0 |\n  | FlagTree                | 0.4.0+3.5                           |\n  | FlagGems                | 4.2.1rc0                            |\n  | vllm & vllm-plugin-fl   | 0.13.0 + vllm_fl 0.0.0              |\n  | FlagCX                  | 0.1.0                               |  \n\n- FlagRelease快速入门\n\n| 供应商     | ModelScope   | Huggingface  |\n  |:-----------|:------------:|:------------:|\n  | Nvidia | [MiniCPM-o-4.5-nvidia-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-nvidia-FlagOS) | [MiniCPM-o-4.5-nvidia-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-nvidia-FlagOS) |\n  | Hygon-BW1000 | [MiniCPM-o-4.5-hygon-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-hygon-FlagOS) | [MiniCPM-o-4.5-hygon-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-hygon-FlagOS) |\n  | Metax-C550 | [MiniCPM-o-4.5-metax-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-metax-FlagOS) | [MiniCPM-o-4.5-metax-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-metax-FlagOS) |\n  | Iluvatar-BIV150 | [MiniCPM-o-4.5-iluvatar-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-iluvatar-FlagOS) | [MiniCPM-o-4.5-iluvatar-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-iluvatar-FlagOS) |\n  | Ascend-A3 | [MiniCPM-o-4.5-ascend-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-ascend-FlagOS) | [MiniCPM-o-4.5-ascend-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-ascend-FlagOS) |\n  | Zhenwu-810E | [MiniCPM-o-4.5-zhenwu-FlagOS](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-zhenwu-FlagOS) | [MiniCPM-o-4.5-zhenwu-FlagOS](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-zhenwu-FlagOS) |\n\n\n##### 从零开始 \u003C!-- omit in toc -->\n\n- 依赖项：Python 3.12、GLIBC 2.39、GLIBCXX 3.4.33、CXXABI 1.3.15\n\n###### Transformers \u003C!-- omit in toc -->\n\n- 安装 FlagOS 运算符库\n\n  官方仓库：https:\u002F\u002Fgithub.com\u002Fflagos-ai\u002FFlagGems\n  \n  ```shell\n  pip install flag-gems==4.2.1rc0\n  ```\n\n- 安装 FlagOS 编译器\n\n  官方仓库：https:\u002F\u002Fgithub.com\u002Fflagos-ai\u002Fflagtree\n  \n  核心依赖版本快速参考：https:\u002F\u002Fgithub.com\u002Fflagos-ai\u002FFlagTree\u002Fblob\u002Fmain\u002Fdocuments\u002Fbuild.md#tips-for-building\n  \n  ```shell\n  pip uninstall triton\n  \n  python3 -m pip install flagtree==0.4.0+3.5 --index-url=https:\u002F\u002Fresource.flagos.net\u002Frepository\u002Fflagos-pypi-hosted\u002Fsimple --trusted-host=https:\u002F\u002Fresource.flagos.net\n  ```\n\n- 激活加速\n\n  在您想要运行的任务命令前添加 `USE_FLAGOS=1`。例如，当您运行：\n  ```shell\n  python3 generate_speech_from_video.py\n  ```\n  \n  要使用 MiniCPM-o-4.5 模型从视频内容中生成语音响应，您可以：\n  \n  ```shell\n  USE_FLAGOS=1 python3 generate_speech_from_video.py\n  ```\n  \n  以通过 FlagOS 加速此过程。\n\n###### Vllm 版本 \u003C!-- omit in toc -->\n\n- 安装 FlagOS 运算符库\n\n  官方仓库：https:\u002F\u002Fgithub.com\u002Fflagos-ai\u002FFlagGems\n\n  ```shell\n  pip install flag-gems==4.2.1rc0\n  pip install triton==3.5.1\n  ```\n\n- 激活加速\n\n  在您想要运行的任务命令前添加 `USE_FLAGOS=1`。例如，当您运行：\n  ```shell\n  vllm serve ${model_path} --dtype auto  --gpu_memory_utilization 0.9 --trust-remote-code --max-num-batched-tokens 2048 --served-model-name cpmo --port ${Port}\n  ```\n\n  要启动 MiniCPM-o-4.5 服务器，您可以：\n  ```shell\n  USE_FLAGOS=1 vllm serve ${model_path} --dtype auto  --gpu_memory_utilization 0.9 --trust-remote-code --max-num-batched-tokens 2048 --served-model-name cpmo --port ${Port}\n  ```\n  以通过 FlagOS 加速此过程。\n\n#### 使用 FlagOS 统一多芯片后端插件 \u003C!-- omit in toc -->\n\n[vllm-plugin-FL](https:\u002F\u002Fgithub.com\u002Fflagos-ai\u002Fvllm-plugin-FL) 是一个为 vLLM 推理\u002F服务框架构建的插件。它基于 FlagOS 的统一多芯片后端开发，旨在扩展 vLLM 在各种硬件环境中的功能和性能。\n\n##### 使用 vllm-plugin-FL \u003C!-- omit in toc -->\n\n| 供应商 | 从零开始 | 来自 FlagRelease |\n|:-------|:-------------|:----------------|\n| Nvidia | [vllm-plugin-FL\u002FMiniCPM-o-4.5](https:\u002F\u002Fgithub.com\u002Fflagos-ai\u002Fvllm-plugin-FL\u002Fblob\u002Fmain\u002Fexamples\u002Fminicpm\u002FREADME.md) | [MiniCPM-o-4.5-ModelScope](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FFlagRelease\u002FMiniCPM-o-4.5-nvidia-FlagOS), [MiniCPM-o-4.5-HuggingFace](https:\u002F\u002Fhuggingface.co\u002FFlagRelease\u002FMiniCPM-o-4.5-nvidia-FlagOS) |\n\n\u003C\u002Fdetails>\n\n\n\n### vLLM、SGLang、llama.cpp、Ollama\n\n我们支持使用 vLLM、SGLang、llama.cpp 和 Ollama 进行推理。更多详情请参阅我们的 [Cookbook](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-Cookbook)。\n\n### LLaMA-Factory、SWIFT\n\n我们支持使用 LLaMA-Factory 和 SWIFT 进行微调。更多详情请参阅我们的 [Cookbook](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-Cookbook)。\n\n## MiniCPM-V & o 烹饪书\n\n在我们结构化的[烹饪书](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook)中，您可以找到针对MiniCPM-V和MiniCPM-o系列模型的全面、即用型解决方案，这些方案能够帮助开发者快速实现集视觉、语音和直播功能于一体的多模态AI应用。主要特点包括：\n\n**简单易用的文档**\n\n我们的综合[文档网站](https:\u002F\u002Fminicpm-o.readthedocs.io\u002Fen\u002Flatest\u002Findex.html)以清晰、条理分明的方式呈现了每一道“菜谱”。所有功能一目了然，方便您迅速找到所需内容。\n\n**广泛的用户群体**\n\n我们支持从个人到企业及研究人员等各类用户。\n\n* **个人用户**：只需少量设置，即可通过Ollama（[V4](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Follama\u002Fminicpm-v4_ollama.md)、[o4.5](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Follama\u002Fminicpm-o4_5_ollama.md)）和Llama.cpp（[V4](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Fllama.cpp\u002Fminicpm-v4_llamacpp.md)、[o4.5](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Fllama.cpp\u002Fminicpm-o4_5_llamacpp.md)）轻松进行推理。\n* **企业用户**：借助vLLM（[V4](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Fvllm\u002Fminicpm-v4_vllm.md)、[o4.5](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Fvllm\u002Fminicpm-o4_5_vllm.md)）和SGLang（[V4](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Fsglang\u002FMiniCPM-v4_sglang.md)、[o4.5](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdeployment\u002Fsglang\u002FMiniCPM-o4_5_sglang.md)），实现高吞吐量和可扩展性能。\n* **研究人员**：利用先进的框架，包括[Transformers](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Ffinetune\u002Ffinetune_full.md)、[LLaMA-Factory](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Ffinetune\u002Ffinetune_llamafactory.md)、[SWIFT](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Ffinetune\u002Fswift.md)以及[Align-anything](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Ffinetune\u002Falign_anything.md)，灵活开发模型并开展前沿实验。\n\n**多样的部署场景**\n\n我们的生态系统为各种硬件环境和部署需求提供了最优解决方案。\n\n* **Web演示**：全双工实时视频交互解决方案，响应迅速且延迟低。[WebRTC_Demo](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdemo\u002Fweb_demo\u002FWebRTC_Demo\u002FREADME.md)。\n* **量化部署**：使用[GGUF](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fquantization\u002Fgguf\u002Fminicpm-v4_gguf_quantize.md)和[BNB](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fquantization\u002Fbnb\u002Fminicpm-v4_bnb_quantize.md)，最大化效率并最小化资源消耗。\n* **终端设备**：将强大的AI体验带到[iPhone和iPad](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdemo\u002Fios_demo\u002Fios.md)，支持离线和注重隐私的应用。\n\n\n\n\n## MiniCPM-V 4.0\n\n**MiniCPM-V 4.0** 是MiniCPM-V系列中的高效模型。该模型基于SigLIP2-400M和MiniCPM4-3B构建，总参数量为41亿。它继承了MiniCPM-V 2.6在单图像、多图像和视频理解方面的强大性能，同时大幅提升了效率。MiniCPM-V 4.0的显著特点包括：\n\n- 🔥 **领先的视觉能力。**\n  仅凭41亿参数，MiniCPM-V 4.0在OpenCompass上取得了平均69.0分的成绩，这是一项涵盖8个热门基准的综合性评估，**优于GPT-4.1-mini-20250414、MiniCPM-V 2.6（81亿参数，OpenCompass 65.2）以及Qwen2.5-VL-3B-Instruct（38亿参数，OpenCompass 64.5）**。它在多图像理解和视频理解方面也表现出色。\n\n- 🚀 **卓越的效率。**\n  专为终端设备部署而设计，MiniCPM-V 4.0在各类终端设备上运行流畅。例如，在iPhone 16 Pro Max上，它能实现**首次生成token延迟不到2秒，解码速度超过17 token\u002Fs**，且不会出现发热问题。在并发请求下，其吞吐量同样优异。\n\n- 💫 **易于使用。**\n  MiniCPM-V 4.0可以通过多种方式轻松使用，包括llama.cpp、Ollama、vLLM、SGLang、LLaMA-Factory以及本地Web演示等。我们还开源了一款可在iPhone和iPad上运行的iOS应用。借助我们结构清晰的[烹饪书](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook)，其中包含详细的说明和实用示例，您可以轻松上手。\n\n\n\u003Cdetails>\n\u003Csummary> 点击查看MiniCPM-V 4.0的评估结果和示例。 \u003C\u002Fsummary>\n\n### 评估  \u003C!-- omit in toc -->\n\n\u003Cdetails>\n\u003Csummary>点击查看OpenCompass上的单图像任务结果。\u003C\u002Fsummary>\n\u003Cdiv align=\"center\">\n\u003Ctable style=\"margin: 0px auto;\">\n    \u003Cthead>\n        \u003Ctr>\n            \u003Cth nowrap=\"nowrap\" align=\"left\">模型\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">规模\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">Opencompass\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">OCRBench\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MathVista\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">HallusionBench\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MMMU\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MMVet\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MMBench V1.1\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MMStar\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">AI2D\u003C\u002Fth>\n        \u003C\u002Ftr>\n    \u003C\u002Fthead>\n    \u003Ctbody align=\"center\">\n        \u003Ctr>\n            \u003Ctd colspan=\"11\" align=\"left\">\u003Cstrong>专有模型\u003C\u002Fstrong>\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4v-20240409\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">656\u003C\u002Ftd>\n            \u003Ctd align=\"center\">55.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">43.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">61.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">67.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">79.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">56.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">78.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini-1.5-Pro\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">754\u003C\u002Ftd>\n            \u003Ctd align=\"center\">58.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">45.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">73.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">59.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">79.1\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4.1-mini-20250414\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">840\u003C\u002Ftd>\n            \u003Ctd align=\"center\">70.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">49.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">55.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">74.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">80.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">76.0\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Claude 3.5 Sonnet-20241022\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">70.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">798\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">55.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">66.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">70.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">81.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">81.2\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd colspan=\"11\" align=\"left\">\u003Cstrong>开源模型\u003C\u002Fstrong>\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen2.5-VL-3B-Instruct\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.8B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">828\u003C\u002Ftd>\n            \u003Ctd align=\"center\">61.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">46.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">51.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">76.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">56.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">81.4\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL2.5-4B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.7B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">820\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">46.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">51.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">61.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">78.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">58.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">81.4\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen2.5-VL-7B-Instruct\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.3B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">70.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">888\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">51.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">58.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">69.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">82.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.3\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL2.5-8B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">821\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">49.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">56.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">62.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">82.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-V-2.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">852\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">48.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">49.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">78.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">57.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">82.1\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o-2.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.7B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">70.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">889\u003C\u002Ftd>\n            \u003Ctd align=\"center\">73.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">51.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">50.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">67.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">80.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">86.1\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-V-4.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">69.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">894\u003C\u002Ftd>\n            \u003Ctd align=\"center\">66.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">50.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">51.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">79.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">62.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">82.9\u003C\u002Ftd>\n        \u003C\u002Ftr>\n    \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>点击查看ChartQA、MME、RealWorldQA、TextVQA、DocVQA、MathVision、DynaMath、WeMath、Object HalBench和MM Halbench上的单图像任务结果。\u003C\u002Fsummary>\n\n\u003Cdiv align=\"center\">\n\u003Ctable style=\"margin: 0px auto;\">\n    \u003Cthead>\n        \u003Ctr>\n            \u003Cth nowrap=\"nowrap\" align=\"left\">模型\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">尺寸\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">ChartQA\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MME\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">RealWorldQA\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">TextVQA\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">DocVQA\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">MathVision\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">DynaMath\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">WeMath\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\" colspan=\"2\">Obj Hal\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\" colspan=\"2\">MM Hal\u003C\u002Fth>\n        \u003C\u002Ftr>\n    \u003C\u002Fthead>\n    \u003Ctbody>\n        \u003Ctr>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">CHAIRs↓\u003C\u002Ftd>\n            \u003Ctd align=\"center\">CHAIRi↓\u003C\u002Ftd>\n            \u003Ctd nowrap=\"nowrap\" align=\"center\">score avg@3↑\u003C\u002Ftd>\n            \u003Ctd nowrap=\"nowrap\" align=\"center\">hall rate avg@3↓\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctbody align=\"center\">\n        \u003Ctr>\n            \u003Ctd colspan=\"14\" align=\"left\">\u003Cstrong>专有模型\u003C\u002Fstrong>\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4v-20240409\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">78.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">1927\u003C\u002Ftd>\n            \u003Ctd align=\"center\">61.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">78.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">88.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini-1.5-Pro\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">87.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">67.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">78.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">93.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">41.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">31.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">50.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4.1-mini-20250414\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">45.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">47.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Claude 3.5 Sonnet-20241022\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">90.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">74.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">95.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">35.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">35.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">44.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd colspan=\"14\" align=\"left\">\u003Cstrong>开源模型\u003C\u002Fstrong>\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen2.5-VL-3B-Instruct\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.8B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2157\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">79.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">93.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">21.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">13.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">22.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">18.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">10.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">33.3\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL2.5-4B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.7B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2338\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">76.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">91.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">18.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">15.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">21.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">13.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">46.5\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen2.5-VL-7B-Instruct\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.3B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">87.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2347\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">95.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">25.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">21.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">36.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">13.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">7.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">31.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL2.5-8B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2344\u003C\u002Ftd>\n            \u003Ctd align=\"center\">70.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">79.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">93.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">17.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">9.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">23.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">18.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">11.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">37.2\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-V-2.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">79.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2348\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">80.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">90.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">17.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">9.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">20.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">7.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">29.9\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o-2.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.7B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">86.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2372\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">82.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">93.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">21.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">10.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">25.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">6.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">31.3\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-V-4.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">84.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">2298\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">80.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">92.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">20.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">14.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">32.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">6.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">29.2\u003C\u002Ftd>\n        \u003C\u002Ftr>\n    \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>点击查看Mantis、Blink和Video-MME上的多图像与视频理解结果。\u003C\u002Fsummary>\n\u003Cdiv align=\"center\">\n\u003Ctable style=\"margin: 0px auto;\">\n    \u003Cthead>\n        \u003Ctr>\n            \u003Cth nowrap=\"nowrap\" align=\"left\">模型\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">大小\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">Mantis\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\">Blink\u003C\u002Fth>\n            \u003Cth nowrap=\"nowrap\" colspan=\"2\" >Video-MME\u003C\u002Fth>\n        \u003C\u002Ftr>\n    \u003C\u002Fthead>\n    \u003Ctbody>\n        \u003Ctr>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">\u003C\u002Ftd>\n            \u003Ctd align=\"center\">无字幕\u003C\u002Ftd>\n            \u003Ctd align=\"center\">有字幕\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctbody align=\"center\">\n        \u003Ctr>\n            \u003Ctd colspan=\"6\" align=\"left\">\u003Cstrong>专有模型\u003C\u002Fstrong>\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4v-20240409\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">62.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">54.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">59.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.3\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Gemini-1.5-Pro\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">59.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">75.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">81.3\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">GPT-4o-20240513\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">68.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">71.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">77.2\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd colspan=\"6\" align=\"left\">\u003Cstrong>开源模型\u003C\u002Fstrong>\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen2.5-VL-3B-Instruct\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.8B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">47.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">61.5\u003C\u002Ftd>\n            \u003Ctd align=\"center\">67.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL2.5-4B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">3.7B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">62.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">50.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">62.3\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">Qwen2.5-VL-7B-Instruct\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.3B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">-\u003C\u002Ftd>\n            \u003Ctd align=\"center\">56.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">71.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">InternVL2.5-8B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">67.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">54.8\u003C\u002Ftd>\n            \u003Ctd align=\"center\">64.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">66.9\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-V-2.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">69.1\u003C\u002Ftd>\n            \u003Ctd align=\"center\">53.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">60.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-o-2.6\u003C\u002Ftd>\n            \u003Ctd align=\"center\">8.7B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">71.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">56.7\u003C\u002Ftd>\n            \u003Ctd align=\"center\">63.9\u003C\u002Ftd>\n            \u003Ctd align=\"center\">69.6\u003C\u002Ftd>\n        \u003C\u002Ftr>\n        \u003Ctr>\n            \u003Ctd nowrap=\"nowrap\" align=\"left\">MiniCPM-V-4.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">4.1B\u003C\u002Ftd>\n            \u003Ctd align=\"center\">71.4\u003C\u002Ftd>\n            \u003Ctd align=\"center\">54.0\u003C\u002Ftd>\n            \u003Ctd align=\"center\">61.2\u003C\u002Ftd>\n            \u003Ctd align=\"center\">65.8\u003C\u002Ftd>\n        \u003C\u002Ftr>\n    \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\n\n\n### 示例 \u003C!-- omit in toc -->\n\n\u003Cdiv style=\"display: flex; flex-direction: column; align-items: center;\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_ba051adc66f0.png\" alt=\"math\" style=\"margin-bottom: 5px;\">\n\u003C\u002Fdiv>\n\n我们在iPhone 16 Pro Max上部署了MiniCPM-V 4.0，并提供了[iOS演示](https:\u002F\u002Fgithub.com\u002FOpenSQZ\u002FMiniCPM-V-CookBook\u002Fblob\u002Fmain\u002Fdemo\u002Fios_demo\u002Fios.md)。演示视频为未经编辑的原始屏幕录制。\n\n\u003Ctable align=\"center\"> \n    \u003Cp align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_f90b3fd2c4f1.gif\" width=45%\u002F>\n      &nbsp;&nbsp;&nbsp;&nbsp;\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_181ccb5a456d.gif\" width=45%\u002F>\n    \u003C\u002Fp>\n    \u003Cp align=\"center\">\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_86fccb7bbe42.gif\" width=45%\u002F>\n      &nbsp;&nbsp;&nbsp;&nbsp;\n      \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_11aa75d98be2.gif\" width=45%\u002F>\n    \u003C\u002Fp>\n\u003C\u002Ftable> \n\n\n\u003C\u002Fdetails>\n\n## 模型动物园\n\n| 模型           | 设备 | 显存    | &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; 描述       | 下载 |\n|:-----------|:--:|:-----------:|:-------------------|:---------------:|\n| MiniCPM-o 4.5| GPU | 19 GB  | 最新版本，端侧多模态性能强劲，适用于视觉、语音及全模态直播场景。   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-o-4_5) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-o-4_5) |\n| MiniCPM-o 4.5 gguf| GPU | 10 GB  | gguf 版本，显存占用更低，推理速度更快。   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-o-4_5-gguf) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-o-4_5-gguf) |\n| MiniCPM-o 4.5 AWQ | GPU | 11 GB  | AWQ 量化版本，GPU 显存占用更低。   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-4_5-AWQ) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-o-4_5-awq) |\n| MiniCPM-V 4.0| GPU | 9 GB  | 最新版本，端侧多模态性能强劲，适用于单张图片、多张图片及视频理解任务。   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-4) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-V-4) |\n| MiniCPM-V 4.0 gguf | CPU | 4 GB  | gguf 版本，显存占用更低，推理速度更快。   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-4-gguf) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-V-4-gguf) |\n| MiniCPM-V 4.0 int4 | GPU | 5 GB  | int4 量化版本，GPU 显存占用更低。   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-4-int4) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-V-4-int4) |\n| MiniCPM-V 4.0 AWQ  | GPU | 5 GB  | AWQ 量化版本，GPU 显存占用更低。   |  [🤗](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V-4-AWQ) &nbsp;&nbsp; [\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_375e99f5914e.png\" width=\"20px\">\u003C\u002Fimg>](https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002FOpenBMB\u002FMiniCPM-V-4-AWQ) |\n\n\n## 历史模型 \u003C!-- omit in toc --> \n\n| 模型                | 简介与指引       |\n|:----------------------|:-------------------:|\n| MiniCPM-V 4.5  | [文档](.\u002Fdocs\u002Fminicpm_v4dot5_en.md)   | \n| MiniCPM-o 2.6  | [文档](.\u002Fdocs\u002Fminicpm_o2dot6_en.md)   | \n| MiniCPM-V 2.6  | [文档](.\u002Fdocs\u002Fminicpm_v2dot6_en.md)   | \n| MiniCPM-Llama3-V 2.5  | [文档](.\u002Fdocs\u002Fminicpm_llama3_v2dot5.md)   | \n| MiniCPM-V 2.0  | [文档](.\u002Fdocs\u002Fminicpm_v2.md)   | \n| MiniCPM-V 1.0  | [文档](.\u002Fdocs\u002Fminicpm_v1.md)   | \n| OmniLMM-12B  | [文档](.\u002F.\u002Fdocs\u002Fomnilmm_en.md)   |  \n\n\n\n\n## 使用 MiniCPM-V 和 MiniCPM-o 的优秀作品\n- [text-extract-api](https:\u002F\u002Fgithub.com\u002FCatchTheTornado\u002Ftext-extract-api): 基于 OCR 和 Ollama 支持的模型构建的文档提取 API ![GitHub 仓库星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FCatchTheTornado\u002Ftext-extract-api)\n- [comfyui_LLM_party](https:\u002F\u002Fgithub.com\u002Fheshengtao\u002Fcomfyui_LLM_party): 构建 LLM 工作流并集成到现有图像工作流中 ![GitHub 仓库星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fheshengtao\u002Fcomfyui_LLM_party)\n- [Ollama-OCR](https:\u002F\u002Fgithub.com\u002Fimanoop7\u002FOllama-OCR): 通过 Ollama 调用 VLM 从图片和 PDF 中提取文本的 OCR 工具包 ![GitHub 仓库星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fimanoop7\u002FOllama-OCR)\n- [comfyui-mixlab-nodes](https:\u002F\u002Fgithub.com\u002FMixLabPro\u002Fcomfyui-mixlab-nodes): ComfyUI 节点套件支持工作流转 APP、GPT 和 3D 等功能 ![GitHub 仓库星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FMixLabPro\u002Fcomfyui-mixlab-nodes)\n- [OpenAvatarChat](https:\u002F\u002Fgithub.com\u002FHumanAIGC-Engineering\u002FOpenAvatarChat): 在单台 PC 上实现交互式数字人对话 ![GitHub 仓库星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FHumanAIGC-Engineering\u002FOpenAvatarChat)\n- [pensieve](https:\u002F\u002Fgithub.com\u002Farkohut\u002Fpensieve): 一款注重隐私的被动录屏项目，用于记录屏幕内容 ![GitHub 仓库星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Farkohut\u002Fpensieve)\n- [paperless-gpt](https:\u002F\u002Fgithub.com\u002Ficereed\u002Fpaperless-gpt): 利用 LLM 处理无纸化文档，实现 AI 驱动的标题、标签和 OCR 功能 ![GitHub 仓库星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ficereed\u002Fpaperless-gpt)\n- [Neuro](https:\u002F\u002Fgithub.com\u002Fkimjammer\u002FNeuro): Neuro-Sama 的复刻版，但运行在消费级硬件上的本地模型上 ![GitHub 仓库星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkimjammer\u002FNeuro)\n\n## 局限性\n作为一项实验性尝试，我们发现 MiniCPM-o 4.5 存在一些值得注意的局限性，值得进一步研究和改进。\n- **基础能力。** 全双工全模态直播功能的基础能力仍有待提升。\n- **全模态模式下语音输出不稳定。** 在全双工全模态直播模式下，语音合成可能会出现错读字符的情况。\n- **语言混杂。** 模型在语音和全模态模式下有时会以中英混杂的方式回应。\n- **Web Demo 延迟较高。** 使用托管在海外服务器上的 Web Demo 时，用户可能会遇到异常高的延迟，甚至错过部分模型输出片段。建议将 Demo 部署在本地或使用良好的网络连接。\n\n## 模型许可 \u003C!-- omit in toc -->\n\n* MiniCPM-o\u002FV 模型的权重和代码均以 [Apache-2.0](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-V\u002Fblob\u002Fmain\u002FLICENSE) 许可证开源。\n\n* 为了更好地了解和支持我们的用户，如果您愿意，可以填写一份简短的注册“问卷”[“questionnaire”](https:\u002F\u002Fmodelbest.feishu.cn\u002Fshare\u002Fbase\u002Fform\u002FshrcnpV5ZT9EJ6xYjh3Kx0J6v8g)。\n\n## 声明 \u003C!-- omit in toc -->\n\n作为 MLLM，MiniCPM-o\u002FV 模型通过学习大量多模态语料库生成内容，但它们无法理解、表达个人观点或做出价值判断。MiniCPM-o\u002FV 模型生成的任何内容均不代表模型开发者们的观点和立场。\n\n对于因使用 MiniCPM-o\u002FV 模型而产生的任何问题，包括但不限于数据安全问题、舆论风险以及因模型被误引导、滥用、传播或不当使用而引发的风险和问题，我们概不负责。\n\n## 致谢\n\n我们谨向以下项目表示感谢：\n* [Qwen3](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-8B) 提供语言骨干模型\n* [SigLIP2](https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Fbig_vision\u002Fblob\u002Fmain\u002Fbig_vision\u002Fconfigs\u002Fproj\u002Fimage_text\u002FREADME_siglip2.md) 提供视觉理解模块\n* [Whisper](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fwhisper) 提供音频与语音理解模块\n* [CosyVoice2](https:\u002F\u002Fgithub.com\u002FFunAudioLLM\u002FCosyVoice) 和 [Step-Audio2](https:\u002F\u002Fgithub.com\u002Fstepfun-ai\u002FStep-Audio2) 提供语音分词器及高效 Token2Wav 模块。\n* [Transformers](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers)\n\n\n## 机构  \u003C!-- omit in toc -->\n\n本项目由以下机构共同开发：\n\n- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_13da7b2eabfc.png\" width=\"28px\"> [THUNLP](https:\u002F\u002Fnlp.csai.tsinghua.edu.cn\u002F)\n- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_9cce484985d4.png\" width=\"28px\"> [ModelBest](https:\u002F\u002Fmodelbest.cn\u002F)\n\n## 🌟 星标历史 \u003C!-- omit in toc -->\n\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F?repos=OpenBMB%2FMiniCPM-o&type=date&legend=top-left\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fimage?repos=OpenBMB\u002FMiniCPM-o&type=date&theme=dark&legend=top-left\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_b542471bcce6.png\" \u002F>\n   \u003Cimg alt=\"星标历史图表\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_readme_b542471bcce6.png\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n## 关键技术及其他多模态项目 \u003C!-- omit in toc -->\n\n👏 欢迎探索 MiniCPM-o\u002FV 的关键技术以及我们团队的其他多模态项目：\n\n[VisCPM](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM\u002Ftree\u002Fmain) | [RLPR](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRLPR) | [RLHF-V](https:\u002F\u002Fgithub.com\u002FRLHF-V\u002FRLHF-V) | [LLaVA-UHD](https:\u002F\u002Fgithub.com\u002Fthunlp\u002FLLaVA-UHD) | [RLAIF-V](https:\u002F\u002Fgithub.com\u002FRLHF-V\u002FRLAIF-V)\n\n\n## 引用 \u003C!-- omit in toc -->\n\n如果您觉得我们的模型、代码或论文有所帮助，请考虑引用我们的论文📝并为我们点亮星标⭐️！\n\n```bib\n@article{yao2024minicpm,\n  title={MiniCPM-V：一款可在手机上运行的 GPT-4V 级多模态大模型},\n  author={Yao, Yuan and Yu, Tianyu and Zhang, Ao and Wang, Chongyi and Cui, Junbo and Zhu, Hongji and Cai, Tianchi and Li, Haoyu and Zhao, Weilin and He, Zhihui and others},\n  journal={arXiv 预印本 arXiv:2408.01800},\n  year={2024}\n}\n```","# MiniCPM-o 快速上手指南\n\nMiniCPM-o 是 OpenBMB 推出的最新端侧多模态大模型系列，支持图像、视频、文本和音频输入，并能端到端地输出高质量文本和语音。其中 **MiniCPM-o 4.5** 具备全双工多模态实时流能力（边看、边听、边说），性能媲美 Gemini 2.5 Flash；**MiniCPM-V 4.0** 则以 4B 参数量实现高效的手机端部署。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Linux, macOS (推荐用于本地实时演示), Windows (需 WSL2)\n- **GPU**: 推荐使用 NVIDIA GPU (显存建议 16GB+ 以运行 4.5 版本，8GB+ 可尝试量化版本或 4.0 版本)\n- **Python**: 3.9 - 3.11\n\n### 前置依赖\n确保已安装以下基础工具：\n- `git`\n- `conda` 或 `venv` (推荐使用 conda 管理环境)\n- `cuda` (如需 GPU 加速，版本需与 PyTorch 匹配)\n\n## 安装步骤\n\n### 1. 创建并激活虚拟环境\n```bash\nconda create -n minicpm-o python=3.10\nconda activate minicpm-o\n```\n\n### 2. 安装 PyTorch\n请根据您的 CUDA 版本选择对应的安装命令（以下为 CUDA 11.8 示例）：\n```bash\npip install torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu118\n```\n*国内用户可使用清华镜像源加速：*\n```bash\npip install torch torchvision torchaudio --index-url https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 3. 安装 MiniCPM-o 依赖库\n克隆官方仓库并安装依赖：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-o.git\ncd MiniCPM-o\npip install -e .\n```\n*若主要使用推理功能，也可直接安装核心依赖：*\n```bash\npip install transformers>=4.40.0 accelerate tiktoken pillow soundfile librosa\n```\n\n### 4. (可选) 安装 llama.cpp-omni 框架\n如需体验全双工实时流（Full-Duplex Live Streaming）及 WebRTC 演示，需安装定制版 `llama.cpp`：\n```bash\ngit clone -b minicpm-omni https:\u002F\u002Fgithub.com\u002FOpenBMB\u002Fllama.cpp.git\ncd llama.cpp\nmake -j\n```\n*注意：目前建议使用官方提供的 fork 版本以获得完整的多模态实时流支持。*\n\n## 基本使用\n\n### 场景一：Python 代码推理 (图像理解)\n以下示例展示如何使用 MiniCPM-o 4.5 进行简单的图像问答。\n\n```python\nimport torch\nfrom PIL import Image\nfrom transformers import AutoModel, AutoTokenizer\n\n# 加载模型 (首次运行会自动下载，国内用户建议配置 HF_ENDPOINT 或使用镜像站)\nmodel_path = \"openbmb\u002FMiniCPM-o-4_5\" # 或者 \"openbmb\u002FMiniCPM-V-4\"\ntokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)\nmodel = AutoModel.from_pretrained(\n    model_path, \n    torch_dtype=torch.bfloat16, \n    device_map=\"cuda\", \n    trust_remote_code=True\n).eval()\n\n# 准备输入\nimage = Image.open(\"your_image.jpg\").convert(\"RGB\")\nquestion = \"这张图片里有什么？请用中文详细描述。\"\n\n# 构建消息\nmsgs = [{'role': 'user', 'content': [image, question]}]\n\n# 生成回答\nanswer = model.chat(\n    image=None, # 图片已在 msgs 中传入\n    msgs=msgs,\n    tokenizer=tokenizer\n)\n\nprint(answer)\n```\n\n### 场景二：使用 Ollama 一键运行 (推荐轻量级部署)\n如果您已安装 [Ollama](https:\u002F\u002Follama.com\u002F)，可以直接拉取模型进行快速测试：\n\n```bash\n# 拉取模型\nollama pull openbmb\u002Fminicpm-o2.6\n\n# 运行对话 (支持文本和多模态输入)\nollama run openbmb\u002Fminicpm-o2.6 \"描述这张图片\" --images your_image.jpg\n```\n*注：MiniCPM-o 4.5 的 Ollama 支持正在积极合并中，当前稳定版本可优先尝试 2.6 或关注官方更新。*\n\n### 场景三：启动本地实时 Web 演示 (全双工模式)\n若要体验“边看边听边说”的全双工交互，请使用 `llama.cpp-omni` 框架启动 WebRTC 服务：\n\n```bash\n# 进入 llama.cpp 目录\ncd llama.cpp\n\n# 下载对应的 GGUF 模型 (需先从 HuggingFace 下载 MiniCPM-o-4_5 的 GGUF 版本)\n# 假设模型文件名为 minicpm-o-4_5.q4_k_m.gguf\n\n# 启动服务器\n.\u002Fserver -m models\u002Fminicpm-o-4_5.q4_k_m.gguf --port 8080 --flash-attn --slots --cont-batching -c 4096 --n-gpu-layers 99\n```\n启动后，在浏览器访问 `http:\u002F\u002Flocalhost:8080` 即可体验实时音视频交互。","一位跨国电商平台的客服主管正试图为移动端应用构建一个能实时处理用户视频咨询、支持双语语音交互且无需云端依赖的智能助手。\n\n### 没有 MiniCPM-o 时\n- **交互延迟高且割裂**：传统方案需将音视频上传至云端处理，网络波动导致响应慢，且无法实现“边听边看边说”的全双工自然对话，用户必须说完话等待系统反应。\n- **端侧部署困难**：高性能多模态模型参数量巨大，手机本地无法运行，迫使企业承担高昂的服务器推理成本和隐私泄露风险。\n- **复杂场景识别弱**：面对用户展示的商品瑕疵视频或手写单据，现有轻量级模型 OCR 能力不足，难以准确提取关键信息，常需人工介入复核。\n- **语音体验生硬**：支持的语种有限，语音合成缺乏情感表达，无法进行自然的打断或主动提醒，导致用户体验像在与机器而非真人交流。\n\n### 使用 MiniCPM-o 后\n- **实时全双工流式交互**：MiniCPM-o 4.5 支持端到端的全双工多模态直播流，能在本地同时处理视频输入与语音输出，实现零延迟的自然插话和主动关怀提醒。\n- **高效端侧落地**：凭借 9B 参数的高效架构，MiniCPM-o 可直接部署在手机或 Mac 等本地设备上，利用 llama.cpp-omni 框架即可运行，彻底消除云端延迟并保障数据隐私。\n- **超强视觉理解力**：依托接近 Gemini 2.5 Flash 的视觉能力，MiniCPM-o 能精准识别视频中的商品细节及复杂 OCR 内容，直接给出专业解答，大幅降低人工成本。\n- **拟人化双语沟通**：内置的高质量语音模式支持自然流畅的中英双语对话，具备情感表达甚至声音克隆能力，让每一次服务都如同真人面对面般亲切稳定。\n\nMiniCPM-o 通过将旗舰级的多模态实时交互能力压缩至端侧，彻底重构了移动设备上的智能服务体验，让离线、实时且高智商的 AI 助手成为现实。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_MiniCPM-o_5b90ed1f.png","OpenBMB","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FOpenBMB_02e4bd39.png","OpenBMB (Open Lab for Big Model Base) aims to build foundation models and systems towards AGI.",null,"openbmb@gmail.com","https:\u002F\u002Fwww.openbmb.cn","https:\u002F\u002Fgithub.com\u002FOpenBMB",[80,84,88,92,96,100,104,107],{"name":81,"color":82,"percentage":83},"Python","#3572A5",83.3,{"name":85,"color":86,"percentage":87},"Vue","#41b883",14.1,{"name":89,"color":90,"percentage":91},"JavaScript","#f1e05a",1.7,{"name":93,"color":94,"percentage":95},"Shell","#89e051",0.5,{"name":97,"color":98,"percentage":99},"Less","#1d365d",0.3,{"name":101,"color":102,"percentage":103},"CSS","#663399",0.1,{"name":105,"color":106,"percentage":103},"Dockerfile","#384d54",{"name":108,"color":109,"percentage":110},"HTML","#e34c26",0,24321,1897,"2026-04-09T04:22:20","Apache-2.0","macOS, Linux, Windows","非必需。支持在本地设备（如 Mac、手机）运行；若使用 GPU 加速，支持多卡部署（提及 12GB 或 16GB 显存显卡），具体 CUDA 版本未说明","未说明（提及可在手机端运行，低显存多卡部署方案）",{"notes":119,"python":120,"dependencies":121},"该模型专为端侧部署设计，支持在手机、Mac 等设备运行。全双工多模态实时流功能推荐使用 llama.cpp-omni 推理框架及 WebRTC Demo。官方支持 Ollama、vLLM 等框架，部分旧版本需使用官方提供的 fork 仓库而非主分支。提供 iOS App 支持。","未说明",[122,123,124,125,126,127,128],"llama.cpp (omni 分支)","Ollama","vLLM","LLaMA-Factory","WebRTC","SWIFT (用于微调)","Align-Anything (用于对齐)",[35,15,130,131,132],"音频","视频","其他",[134,135,136],"minicpm","minicpm-v","multi-modal",5,"2026-03-27T02:49:30.150509","2026-04-11T18:31:19.639898",[141,146,151,156,161,166],{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},26363,"如何在 Ollama 中运行 MiniCPM-V 模型？遇到 \"unknown error\" 或图像输入挂起怎么办？","运行模型前，必须先单独开启一个终端窗口运行自定义的 Ollama 服务器：`.\u002Follama serve`。如果仍然报错或处理图像时挂起，请执行以下步骤：\n1. 拉取最新代码：`git pull`。\n2. 检查并修改 Modelfile，确保模型文件加载顺序正确（通常先加载 ggml 模型，再加载 mmproj 模型）。\n3. 确认使用的是项目提供的特定版本 Ollama，而非官方原版，因为多模态功能需要特定支持。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-o\u002Fissues\u002F97",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},26364,"在 Android 或 Linux 上运行 minicpmv-cli 时提示 \"Permission denied\" 如何解决？","这是文件执行权限问题。请在终端中运行以下命令赋予执行权限：\n`chmod +x .\u002Fminicpmv-cli`\n如果仍然报错，可以尝试递归赋予当前目录下所有文件权限：\n`chmod 755 -R .`\n之后再次尝试运行程序。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-o\u002Fissues\u002F16",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},26365,"使用 llama.cpp 转换或运行 MiniCPM-Llama3-V 2.5 时遇到 BPE tokenizer 警告或识别错误怎么办？","如果在转换过程中出现 \"The BPE pre-tokenizer was not recognized\" 警告，或者模型输出质量不佳（如 OCR 识别错误），需要在 `convert_hf_to_gguf.py` 文件的第 514 行附近添加代码 `res = \"llama-bpe\"`。此外，建议直接使用官方已发布的更新后的 GGUF 文件（如 F16 版本），或者升级到 MiniCPM-V 2.6 版本，这些问题在后续版本中已得到修复和优化。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-o\u002Fissues\u002F447",{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},26366,"MiniCPM-Llama3-V 2.5 是否支持同时输入音频和视频进行多模态推理？","目前模型主要针对视觉和文本交互进行了优化。如果同时提供音频和视频输入，模型通常会忽略音频部分，仅处理视觉提示。这是因为当前的架构和训练数据主要侧重于图文理解，尚未完全支持音视频同步输入的端到端推理场景。建议分别处理音频转录和视觉分析，或在应用层进行融合。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-o\u002Fissues\u002F848",{"id":162,"question_zh":163,"answer_zh":164,"source_url":165},26367,"如何验证其他项目（如 Llama3-V）是否窃取了 MiniCPM 的代码或权重？","可以通过以下特征进行验证：\n1. 代码兼容性：尝试使用 MiniCPM-Llama3-V 2.5 的代码和 config.json 配置文件（仅修改参数名称）来运行疑似项目的检查点，如果能正常推理，则高度可疑。\n2. 特有行为测试：测试一些未公开的、基于私有数据训练的实验性功能（例如识别特定的“清华竹简”字符或特定的 GUI Agent 任务）。如果疑似项目在这些未公开特性上表现出与 MiniCPM 高度一致的行为，则极有可能是直接复制或微调自 MiniCPM。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-o\u002Fissues\u002F196",{"id":167,"question_zh":168,"answer_zh":169,"source_url":155},26368,"llama.cpp 版本的 MiniCPM-V 模型 OCR 识别精度为何不如在线 Demo？","这通常是由于使用的 GGUF 量化版本过旧或转换脚本配置不当导致的。解决方案包括：\n1. 下载官方最新发布的 GGUF 文件（特别是针对 PR 优化过的 f16 版本）。\n2. 如果自行转换，确保在 `convert_hf_to_gguf.py` 中正确设置了 `res = \"llama-bpe\"`。\n3. 尝试升级到 MiniCPM-V 2.6 版本，该版本在 llama.cpp 中的表现已有显著提升，OCR 准确率更接近在线 Demo。",[171],{"id":172,"version":173,"summary_zh":174,"released_at":175},171610,"20250527","高效的多模态大语言模型","2025-05-27T09:55:51"]