[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-OpenBMB--VisCPM":3,"tool-OpenBMB--VisCPM":61},[4,18,26,36,44,52],{"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 真正成长为懂上",143909,2,"2026-04-07T11:33:18",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"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":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,60],"视频",{"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":88,"forks":89,"last_commit_at":90,"license":75,"difficulty_score":10,"env_os":91,"env_gpu":92,"env_ram":91,"env_deps":93,"category_tags":96,"github_topics":98,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":103,"updated_at":104,"faqs":105,"releases":145},5184,"OpenBMB\u002FVisCPM","VisCPM","[ICLR'24 spotlight] Chinese and English Multimodal Large Model Series (Chat and Paint) | 基于CPM基础模型的中英双语多模态大模型系列","VisCPM 是一个开源的中英双语多模态大模型系列，核心包含支持图文对话的 VisCPM-Chat 和具备文生图能力的 VisCPM-Paint。它旨在解决传统多模态模型在中文语境下理解与生成能力不足、以及图文双向交互割裂的痛点，让用户既能用自然语言深入分析图片内容，也能通过文字描述直接创作图像。\n\n这款工具特别适合研究人员探索多模态前沿技术，开发者构建跨语言智能应用，以及设计师和普通用户进行创意辅助与日常交互。其独特的技术亮点在于基于百亿参数的 CPM-Bee 语言基座，创新性地融合了 Muffin 视觉编码器与 Diffusion-UNet 解码器。得益于基座强大的双语能力，VisCPM 仅需英文多模态数据预训练，即可泛化出卓越的中文处理能力，在中文开源多模态模型中达到了领先水准。此外，项目对低资源部署友好，最低仅需 5G 显存即可运行，并提供了完善的微调支持与 API 接口，极大地降低了多模态大模型的使用与开发门槛。","\u003Cdiv align=\"center\">\n\n# VisCPM\n**基于CPM基础模型的中英双语多模态大模型系列**\n\u003Cp align=\"center\">\n  \u003Ca href=\"#-viscpm-chat\">多模态对话模型VisCPM-Chat\u003C\u002Fa> •\n  \u003Ca href=\"#-viscpm-paint\">文生图模型VisCPM-Paint\u003C\u002Fa> •\n  \u003Ca href=\"#-使用\">使用\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2308.12038.pdf\">论文\u003C\u002Fa>\n\u003C\u002Fp>\n\u003Cp>\n  \u003Ca href=\"http:\u002F\u002F120.92.209.146\u002F\">VisCPM-Chat Demo\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fopenbmb\u002Fviscpm-paint\">VisCPM-Paint Demo\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Chat\"> VisCPM-Chat🤗 \u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Paint\"> VisCPM-Paint🤗 \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  简体中文 | \u003Ca href=\"README_en.md\">English\u003C\u002Fa>\n\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n**`VisCPM`** is a family of open-source large multimodal models, which support multimodal conversational capabilities (`VisCPM-Chat` model) and text-to-image generation capabilities (`VisCPM-Paint` model) in both Chinese and English, achieving state-of-the-art performance among Chinese open-source multimodal models. VisCPM is trained based on the large language model [CPM-Bee](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FCPM-Bee) with 10B parameters, fusing visual encoder (Muffin) and visual decoder (Diffusion-UNet) to support visual inputs and outputs. Thanks to the good bilingual capability of CPM-Bee, `VisCPM` can be pre-trained with English multimodal data only and well generalize to achieve promising Chinese multimodal capabilities.\n\n**`VisCPM`** 是一个开源的多模态大模型系列，支持中英双语的多模态对话能力（`VisCPM-Chat`模型）和文到图生成能力（`VisCPM-Paint`模型），在中文多模态开源模型中达到最佳水平。VisCPM基于百亿参数量语言大模型[CPM-Bee](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FCPM-Bee)（10B）训练，融合视觉编码器[Muffin](https:\u002F\u002Fgithub.com\u002Fthunlp\u002FMuffin)和视觉解码器[Diffusion-UNet](https:\u002F\u002Fgithub.com\u002FCompVis\u002Fstable-diffusion)以支持视觉信号的输入和输出。得益于CPM-Bee基座优秀的双语能力，`VisCPM`可以仅通过英文多模态数据预训练，泛化实现优秀的中文多模态能力。\n\n- **👐 开源使用**：VisCPM可以自由被用于个人和研究用途。我们希望通过开源VisCPM模型系列，推动多模态大模型开源社区和相关研究的发展。\n- **🌟 涵盖图文双向生成**：VisCPM模型系列较为全面地支持了图文多模态能力，涵盖多模态对话（图到文生成）能力和文到图生成能力。\n- **💫 中英双语性能优异**：得益于语言模型基座CPM-Bee优秀的双语能力，VisCPM在中英双语的多模态对话和文到图生成均取得亮眼的效果。\n\n\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_cb1af4be8c95.png\" width=\"600px\">\n\u003C\u002Fdiv>\n\n## 📰 更新信息\n`VisCPM`在持续升级中，我们支持了低资源推理、网页版部署等功能，并提供了能力升级的更高版本的模型[OmniLMM](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FOmniLMM)，欢迎大家持续关注！\n- **[2024\u002F04\u002F17]** 🚀 欢迎关注我们最新发布的[MiniCPM-V 2.0](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-V)端侧多模态大模型，具备领先的光学字符识别（OCR）和多模态理解能力，在综合性OCR能力评测基准OCRBench上达到开源模型最佳水平，甚至在场景文字理解方面实现接近Gemini Pro的性能。\n- **[2024\u002F02\u002F02]** 🚀 欢迎关注我们最新发布的[OmniLMM](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FOmniLMM)多模态大模型！其中[OmniLMM-3B](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V)为中英双语多模态对话模型，基于中英双语大模型[MiniCPM-2.4B](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM\u002F)和SigLip-400M视觉编码器训练，采用与VisCPM-Chat相同的训练流程训练，可在终端设备上部署并具备先进的多模态对话能力；[OmniLMM-13B](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FOmniLMM-12B\u002F)为英文多模态模型，基于EVA02-5B和Zephyr-7B-β初始化训练，相比同规模其他模型在多个基准测试中具有领先性能。\n- **[2024\u002F01\u002F16]** 🎉 [VisCPM论文](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2308.12038.pdf)被**ICLR 2024**接收，并被选为**spotlight（top 5%）**！\n- **[2023\u002F09\u002F06]** 🔌 VisCPM-Chat API 发布！现在您可以直接通过API轻松地使用VisCPM-Chat模型了。查看[API使用指南](#API使用指南)以了解更多详情。\n- **[2023\u002F08\u002F23]** 📑 VisCPM论文发布：[Large Multilingual Models Pivot Zero-Shot Multimodal Learning across Languages](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2308.12038.pdf)，论文提供了更详细的实现细节和实验结果\n- **[2023\u002F08\u002F18]** ⤴️ [VisCPM-Chat-v1.1](#模型下载)版本发布，带来更强的细节理解和复杂推理能力！\n- **[2023\u002F08\u002F18]** 🛠️ 支持[微调](#模型微调)，让VisCPM更适配你的应用场景！\n- **[2023\u002F07\u002F20]** 🌐 发布[VisCPM-Chat](http:\u002F\u002F120.92.209.146\u002F)和[VisCPM-Paint](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fopenbmb\u002Fviscpm-paint) 的在线Demo，欢迎尝试！\n- **[2023\u002F07\u002F20]** 🎢 支持一键[部署本地网页版Demo](#demo部署)\n- **[2023\u002F07\u002F20]** ⚡️ 支持[低资源推理](#低资源推理)，最低5G显存运行多模态对话模型！\n- **[2023\u002F07\u002F18]** 🤗 [VisCPM-Chat](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Chat)和[VisCPM-Paint](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Paint) 已整合到Huggingface框架中\n\n## \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_5e4926eb2815.png\" width=\"28px\" \u002F> VisCPM-Chat\n`VisCPM-Chat`支持面向图像进行中英双语多模态对话。该模型使用`Muffin`视觉编码架构，使用CPM-Bee（10B）作为语言基座模型，并通过语言建模训练目标融合视觉和语言模型。模型训练包括预训练和指令精调两阶段：\n\n* 预训练：我们使用约100M高质量英文图文对数据对`VisCPM-Chat`进行了预训练，数据包括CC3M、CC12M、COCO、Visual Genome、Laion等。在预训练阶段，语言模型参数保持固定，仅更新视觉编码器的参数，以支持大规模视觉-语言表示的高效对齐。\n\n* 指令精调：我们采用[LLaVA-150K](https:\u002F\u002Fllava-vl.github.io\u002F)英文指令精调数据，并混合相应[翻译后的中文数据](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fopenbmb\u002Fllava_zh)对模型进行指令精调，以对齐模型多模态基础能力和用户使用意图。在指令精调阶段，我们更新全部模型参数，以提升指令精调数据的利用效率。有趣的是，我们发现即使仅采用英文指令数据进行指令精调，模型也可以理解中文问题，但仅能用英文回答。这表明模型的多语言多模态能力已经得到良好的泛化。在指令精调阶段进一步加入少量中文翻译数据，可以将模型回复语言和用户问题语言对齐。\n\n我们在[LLaVA标准英文测试集](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fliuhaotian\u002FLLaVA-Instruct-150K)和翻译的[中文测试集](data\u002Ftranslated_LLaVA_qa90)对模型进行了评测，该评测基准考察模型在开放域对话、图像细节描述、复杂推理方面的表现，并使用GPT-4进行打分。可以观察到，`VisCPM-Chat`在中文多模态能力方面取得了最佳的平均性能，在通用域对话和复杂推理表现出色，同时也表现出了不错的英文多模态能力。我们提供了两个模型版本，分别为`VisCPM-Chat-balance`和`VisCPM-Chat-zhplus`，前者在英文和中文两种语言上的能力较为平衡，后者在中文能力上更加突出。两个模型在指令精调阶段使用的数据相同，`VisCPM-Chat-zhplus`在预训练阶段额外加入了20M清洗后的原生中文图文对数据和120M翻译到中文的图文对数据。`VisCPM-Chat-v1.1`在指令精调阶段额外加入了[UniMM-Chat](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FYirany\u002FUniMM-Chat)多模态指令精调数据集。\n\n\u003Ctable>\n    \u003Ctr>\n        \u003Ctd align=\"center\" rowspan=\"2\" colspan=\"2\">模型\u003C\u002Ftd>\n        \u003Ctd align=\"center\" rowspan=\"2\">语言模型基座\u003C\u002Ftd>\n        \u003Ctd align=\"center\" colspan=\"4\">英文\u003C\u002Ftd>\n        \u003Ctd align=\"center\" colspan=\"4\">中文\u003C\u002Ftd>\n    \u003C\u002Ftr>\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    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\" rowspan=\"3\">英文模型\u003C\u002Ftd>\n        \u003Ctd align=\"center\">MiniGPT4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">Vicuna-13B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">65.0\u003C\u002Ftd>\n        \u003Ctd align=\"center\">67.3\u003C\u002Ftd>\n        \u003Ctd align=\"center\">76.6\u003C\u002Ftd>\n        \u003Ctd align=\"center\">69.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    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">InstructBLIP\u003C\u002Ftd>\n        \u003Ctd align=\"center\">Vicuna-13B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">81.9\u003C\u002Ftd>\n        \u003Ctd align=\"center\">68.0\u003C\u002Ftd>\n        \u003Ctd align=\"center\">91.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">80.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 align=\"center\">LLaVA\u003C\u002Ftd>\n        \u003Ctd align=\"center\">Vicuna-13B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">89.5\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">70.4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">96.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">85.6\u003C\u002Fspan>\u003C\u002Fb>\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 align=\"center\" rowspan=\"7\">中英双语模型\u003C\u002Ftd>\n        \u003Ctd align=\"center\">mPLUG-Owl \u003C\u002Ftd>\n        \u003Ctd align=\"center\">LLaMA-7B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">64.6\u003C\u002Ftd>\n        \u003Ctd align=\"center\">47.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">80.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">64.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">76.3\u003C\u002Ftd>\n        \u003Ctd align=\"center\">61.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">77.8\u003C\u002Ftd>\n        \u003Ctd align=\"center\">72.0\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">VisualGLM\u003C\u002Ftd>\n        \u003Ctd align=\"center\">ChatGLM-6B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">62.4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">63.0\u003C\u002Ftd>\n        \u003Ctd align=\"center\">80.6\u003C\u002Ftd>\n        \u003Ctd align=\"center\">68.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">76.6\u003C\u002Ftd>\n        \u003Ctd align=\"center\">87.8\u003C\u002Ftd>\n        \u003Ctd align=\"center\">83.6\u003C\u002Ftd>\n        \u003Ctd align=\"center\">82.7\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">Ziya-Visual \u003C\u002Ftd>\n        \u003Ctd align=\"center\">Ziya-LLaMA-13B-v1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">82.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">69.9\u003C\u002Ftd>\n        \u003Ctd align=\"center\">92.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">81.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">85.0\u003C\u002Ftd>\n        \u003Ctd align=\"center\">74.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">82.4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">80.8\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">Qwen-VL \u003C\u002Ftd>\n        \u003Ctd align=\"center\">Qwen-7B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">82.4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">72.6\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">91.9\u003C\u002Ftd>\n        \u003Ctd align=\"center\">83.8\u003C\u002Ftd>\n        \u003Ctd align=\"center\">82.3\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">93.4\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">89.5\u003C\u002Ftd>\n        \u003Ctd align=\"center\">88.2\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">VisCPM-Chat-balance\u003C\u002Ftd>\n        \u003Ctd align=\"center\">CPMBee-10B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">83.3\u003C\u002Ftd>\n        \u003Ctd align=\"center\">68.9\u003C\u002Ftd>\n        \u003Ctd align=\"center\">90.5\u003C\u002Ftd>\n        \u003Ctd align=\"center\">81.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">92.7\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">76.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">89.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">86.3\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">VisCPM-Chat-zhplus\u003C\u002Ftd>\n        \u003Ctd align=\"center\">CPMBee-10B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">80.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">65.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">92.5\u003C\u002Ftd>\n        \u003Ctd align=\"center\">79.6\u003C\u002Ftd>\n        \u003Ctd align=\"center\">90.3\u003C\u002Ftd>\n        \u003Ctd align=\"center\">81.4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">92.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">88.2\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">VisCPM-Chat-v1.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">CPMBee-10B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">80.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">67.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">97.1\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">81.5\u003C\u002Ftd>\n        \u003Ctd align=\"center\">91.3\u003C\u002Ftd>\n        \u003Ctd align=\"center\">90.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">95.4\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">92.5\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n![图片](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_78e03d990de4.png)\n\n## \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_81cfe7edc34c.png\" height=\"28px\" \u002F> VisCPM-Paint\n`VisCPM-Paint`支持中英双语的文到图生成。该模型使用CPM-Bee（10B）作为文本编码器，使用`UNet`作为图像解码器，并通过扩散模型训练目标融合语言和视觉模型。在训练过程中，语言模型参数始终保持固定。我们使用[Stable Diffusion 2.1](https:\u002F\u002Fgithub.com\u002FStability-AI\u002Fstablediffusion)的UNet参数初始化视觉解码器，并通过逐步解冻其中关键的桥接参数将其与语言模型融合。该模型在[LAION 2B](https:\u002F\u002Flaion.ai\u002F)英文图文对数据上进行了训练。\n\n与`VisCPM-Chat`类似，我们发现得益于CPM-Bee的双语能力，`VisCPM-Paint`可以仅通过英文图文对训练，泛化实现良好的中文文到图生成能力，达到中文开源模型的最佳效果。通过进一步加入20M清洗后的原生中文图文对数据，以及120M翻译到中文的图文对数据，模型的中文文到图生成能力可以获得进一步提升。我们在标准图像生成测试集MSCOCO上采样了3万张图片，计算了常用评估图像生成指标FID (Fréchet Inception Distance)评估生成图片的质量。我们同样提供了两个模型版本，分别为`VisCPM-Paint-balance`和`VisCPM-Paint-zhplus`，前者在英文和中文两种语言上的能力较为平衡，后者在中文能力上更加突出。`VisCPM-Paint-balance`只使用了英文图文对进行训练，`VisCPM-Paint-zhplus`在`VisCPM-Paint-balance`基础上增加了20M原生中文图文对数据和120M翻译到中文的图文对数据进行训练。\n\n\u003Ctable align=\"center\">\n    \u003Ctr>\n        \u003Ctd align=\"center\" rowspan=\"2\">模型\u003C\u002Ftd>\n        \u003Ctd align=\"center\" colspan=\"2\">Zero-shot FID↓\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">英文\u003C\u002Ftd>\n        \u003Ctd align=\"center\">中文\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">GLIDE\u003C\u002Ftd>\n        \u003Ctd align=\"center\">12.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">Make-A-Scene\u003C\u002Ftd>\n        \u003Ctd align=\"center\">11.8\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">DALL·E-2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">10.4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">Unidiffuser\u003C\u002Ftd>\n        \u003Ctd align=\"center\">9.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">Cogview2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n        \u003Ctd align=\"center\">24.0\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">Stable Diffusion\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">8.6\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">AltDiffusion\u003C\u002Ftd>\n        \u003Ctd align=\"center\">17.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">16.1\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">TaiyiDiffusion\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n        \u003Ctd align=\"center\">15.6\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">VisCPM-Paint-balance\u003C\u002Ftd>\n        \u003Ctd align=\"center\">9.5\u003C\u002Ftd>\n        \u003Ctd align=\"center\">10.9\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">VisCPM-Paint-zhplus\u003C\u002Ftd>\n        \u003Ctd align=\"center\">9.9\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">9.6\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## ⚙️ 安装\n1. 克隆仓库并进入源码目录\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM.git\ncd VisCPM\n```\n\n2. 创建conda环境\n```Shell\nconda create -n viscpm python=3.10 -y\nconda activate viscpm\n```\n\n3. 安装依赖\n   \n```shell\npip install torch>=1.10\npip install -r requirements.txt\n```\n\n## 💡 使用\n### 模型下载\n| 模型                   | 描述                         | 下载链接 |\n|----------------------|-------------------|------     |\n| VisCPM-Chat-v1.1     | 新版本多模态对话模型，强化了细节理解和复杂推理能力  |     [链接](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Chat\u002Fblob\u002Fmain\u002Fpytorch_model.v1.bin)    |\n| VisCPM-Chat-balance  | 中英文能力较为平衡的多模态对话模型  |     [链接](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Chat\u002Fresolve\u002Fmain\u002Fpytorch_model.bin)    |\n| VisCPM-Chat-zhplus   | 中文能力突出的多模态对话模型       |     [链接](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Chat\u002Fresolve\u002Fmain\u002Fpytorch_model.zhplus.bin)   |\n| VisCPM-Paint-balance | 中英文能力较为平衡的文生图模型     |      [链接](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Paint\u002Fresolve\u002Fmain\u002Fpytorch_model.balance.bin) |\n| VisCPM-Paint-zhplus  | 中文能力突出的文生图模型          |      [链接](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Paint\u002Fresolve\u002Fmain\u002Fpytorch_model.bin)  |\n\n\n### VisCPM-Chat\n在下载模型权重后，可以使用如下代码运行VisCPM-Chat（`'\u002Fpath\u002Fto\u002Fcheckpoint'`改为模型存放路径）\n\n#### 单轮对话\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_859e1eae4518.png\" width=\"660px\">\n\u003C\u002Fdiv>\n\nVisCPM-Chat可以通过几行代码实现多模态对话，我们在代码中默认开启了对输入图片的安全检查。\n```shell\n# 如果您单卡显存不足40G，可以引入如下环境变量并将安全模块开关关闭。引入后显存占用约为5G，但推理所需时间会变长。此选项依赖BMInf，需要安装BMInf依赖库。\nexport CUDA_MEMORY_CPMBEE_MAX=1g\n```\n```python\nfrom VisCPM import VisCPMChat\nfrom PIL import Image\n\nmodel_path = '\u002Fpath\u002Fto\u002Fcheckpoint'\nviscpm_chat = VisCPMChat(model_path, image_safety_checker=True)\n# 默认开启对输入图片的安全检查\nimage_path = 'https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_859e1eae4518.png'\nimage = Image.open(image_path).convert(\"RGB\")\n\nquestion = '如果用一句中国唐代的著名诗人\"李白\"的古诗来描述这幅图像，你能想到什么？'\nanswer, _, _ = viscpm_chat.chat(image, question)\n\nprint(answer)\n```\n可得到如下结果\n```\n“黄河之水天上来，奔流到海不复回。” 李白的这句诗可以用来形容这幅图片中汹涌澎湃、波涛汹涌的景象：一条湍急的河流从山上奔腾而下，形成了一幅令人叹为观止的画面，展示出大自然的力量和雄伟壮丽。\n```\n\n#### 多轮对话\n\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_a9df296eea31.jpeg\" width=\"660px\">\n\u003C\u002Fdiv>\n\n```python\nfrom VisCPM import VisCPMChat\nfrom PIL import Image\n\nmodel_path = '\u002Fpath\u002Fto\u002Fcheckpoint'\nviscpm_chat = VisCPMChat(model_path, image_safety_checker=True)\n# 默认开启对输入图片的安全检查\nimage_path = 'https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_a9df296eea31.jpeg'\nimage = Image.open(image_path).convert(\"RGB\")\n\nquestion = '这幅图像是在哪个节日拍摄的？'\nanswer, context, vision_hidden_states = viscpm_chat.chat(image, question)\n\n# 多轮对话传入历史 context\nquestion = '你能用什么古诗描述这幅画？'\nanswer, context, _ = viscpm_chat.chat(image, question, context, vision_hidden_states=vision_hidden_states)\n\nprint(context)\n```\n\n可得到如下结果\n```\nUser: 这幅图像是在哪个节日拍摄的？\nAI: 这幅图像是在中秋节拍摄的， 也就是中国传统节日中的月圆之夜。\nUser: 你能用什么古诗描述这幅画？\nAI: “明月几时有，把酒问青天。” 这是苏轼的《水调歌头》中的一句诗，用来形容这幅图片再贴切不过了：在中秋之夜，月亮高高地挂在天空中，一座古老的建筑沐浴着月光，营造出一种宁静祥和的气氛。\n```\n\n\n#### API使用指南\n我们提供了API接口，可以通过如下代码轻松体验VisCPM-Chat。API接口支持的输入格式和使用方式如下：\n```python\nimport requests\nimport base64\n\nurl = \"http:\u002F\u002F34.143.180.202:3389\u002Fviscpm\"\nresp = requests.post(url, json={\n    # need to modify\n    \"image\": base64.b64encode(open(\"path\u002Fto\u002Fimage\", \"rb\").read()).decode(),\n    \"question\": \"描述一下这张图片\",\n})\nresp = resp.json()\nprint(resp)\n```\n\n### VisCPM-Paint\n在下载模型权重后，可以使用如下代码运行VisCPM-Paint（`'\u002Fpath\u002Fto\u002Fcheckpoint'`改为模型存放路径）。\n\n![图片](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_d073e2693d88.png)\n\n![图片](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_32e1c89c3e47.png)\n\n生成上面图片的文本输入可参考[prompts.txt](data\u002Fprompts.txt)。\n```shell\n# 如果您单卡显存不足40G，可以引入如下环境变量并将安全模块开关关闭。引入后显存占用约为17G，但推理所需时间会变长。此选项依赖BMInf，需要安装BMInf依赖库。\nexport CUDA_MEMORY_CPMBEE_MAX=1g\n```\n```python\nfrom VisCPM import VisCPMPaint\npainter = VisCPMPaint('\u002Fpath\u002Fto\u002Fcheckpoint', image_safety_checker=True, prompt_safety_checker=True, add_ranker=True) \n# 默认对输入的文本和输出的图片进行安全检查，默认开启重排序\nimage = painter.generate('人闲桂花落，月静春山空') # 对应上图第一行第二张图片\nimage.save('\u002Fdata\u002Ftest.png') \n```\n\n我们在代码中默认开启了对输入文本和输出图片的安全检查。\n\n同时，我们默认对生成的图像使用重排序，即对同一个输入，同时生成4张图片，返回与输入相关性最高的1张图片，相关性通过[Chinese-Clip](https:\u002F\u002Fgithub.com\u002FOFA-Sys\u002FChinese-CLIP)进行打分。重排序可以提升生成图片质量的稳定性，但也会降低模型的生成速度，如希望快速得到生成结果，可以关闭重排序机制。\n\nVisCPM-Paint目前使用中文模型进行重排序打分，如果输入英文生成图片，请关闭重排序机制和输入文本检查模块。\n\n### 低资源推理\n\n为了支持更加高效的低资源推理场景，我们借助[BMInf](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FBMInf)工具支持更低的显存需求。首先安装BMInf依赖`pip install bminf`，然后在命令行中指定`export CUDA_MEMORY_CPMBEE_MAX=1g`（具体数值可以根据个人需求设定），然后按照上述步骤进行推理，VisCPM-Chat最低显存占用可以降至5G，VisCPM-Paint最低显存占用可以降至17G。\n\n### Demo部署\n\n我们提供简易的基于gradio的网页版Demo，首先安装gradio:`pip install gradio`，然后执行如下命令：\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM.git\ncd VisCPM\npython demo_chat.py # viscpm_chat demo, or\npython demo_paint.py # viscpm_paint demo\n```\n\n### 模型微调\n为适应特定场景下的需求, 我们提供了VisCPM-Chat模型的微调代码，用户可以在私有数据上进行微调。微调代码位于`.\u002Ffinetune\u002Fft_viscpm_chat`目录下，具体的微调代码使用方法如下：\n```shell\n# 获取数据集\nbash .\u002Ffinetune\u002Fft_viscpm_chat\u002Fget_llava150k_zh.sh\n# 模型微调, 注意修改其中的数据集与模型checkpoint路径\nbash .\u002Ffinetune\u002Fft_viscpm_chat\u002Frun_viscpm_chat_ft.sh\n# node: 8\n# batch_size: 8 * 1\n# 其他配置可参考'.\u002Ffinetune\u002Fft_viscpm_chat\u002Fconfig\u002Fviscpm_chat_ft.json'与'.\u002Ffinetune\u002Fft_viscpm_chat\u002Frun_viscpm_chat_ft.sh'\n```\n注: \n- 微调代码中使用了deepspeed-0.9.1配置训练环境，配置方法可以参考此[链接](https:\u002F\u002Fwww.deepspeed.ai\u002Fgetting-started\u002F)。\n- 目前微调代码仅在linux系统下测试，如果您在其他系统配置下进行微调，可能需要修改部分代码。\n\n## 🛡 安全\n\n### 安全声明\n作为多模态模型，`VisCPM`通过学习大量的公开图文数据来生成内容，但它无法理解、表达个人观点或价值判断，它所输出的任何内容都不代表模型开发者的观点和立场。因此用户在使用VisCPM生成的内容时，应自行负责对其进行评估和验证。\n\n### 安全模块\n为了帮助用户防止模型处理或生成不符合普遍社会价值观的内容，我们在`VisCPM`中加入了内容安全保障模块。当安全模块检测到模型处理或生成的图像文本内容不符合安全规范时，会对相应内容进行拦截。我们对`VisCPM-Chat`接受的图片输入以及`VisCPM-Paint`接受的文字输入和图片输出进行了安全检查。VisCPM的安全模块仍然不完美，可能会出现漏判和误判的情况。我们会在未来进一步提升安全模块的性能。\n\n\n## 📝 开源协议\n\nVisCPM系列模型采用协议为[\"通用模型许可协议-来源说明-宣传限制-非商业化\"](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FGeneral-Model-License\u002Fblob\u002Fmain\u002F%E9%80%9A%E7%94%A8%E6%A8%A1%E5%9E%8B%E8%AE%B8%E5%8F%AF%E5%8D%8F%E8%AE%AE-%E6%9D%A5%E6%BA%90%E8%AF%B4%E6%98%8E-%E5%AE%A3%E4%BC%A0%E9%99%90%E5%88%B6-%E9%9D%9E%E5%95%86%E4%B8%9A%E5%8C%96.md)，允许个人使用和研究用途。如需将模型用于商业用途，请联系cpm@modelbest.cn来洽谈商业授权事宜。\n\nCPM-Bee基座采用协议为[“通用模型许可协议-来源说明-宣传限制-商业授权”](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FGeneral-Model-License\u002Fblob\u002Fmain\u002F%E9%80%9A%E7%94%A8%E6%A8%A1%E5%9E%8B%E8%AE%B8%E5%8F%AF%E5%8D%8F%E8%AE%AE-%E6%9D%A5%E6%BA%90%E8%AF%B4%E6%98%8E-%E5%AE%A3%E4%BC%A0%E9%99%90%E5%88%B6-%E5%95%86%E4%B8%9A%E6%8E%88%E6%9D%83.md)，允许商用，如需将模型用于商业用途，请联系cpm@modelbest.cn来获取书面授权。\n\n\n## ✅ TODO\n\n- [ ] 支持模型量化功能，降低推理成本\n\n## 🏫 机构\n\n此项目由以下机构联合研发：\n\n- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_13da7b2eabfc.png\" width=\"28px\"> [清华自然语言处理实验室](https:\u002F\u002Fnlp.csai.tsinghua.edu.cn\u002F)\n- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_9cce484985d4.png\" width=\"28px\"> [面壁智能](https:\u002F\u002Fmodelbest.cn\u002F)\n- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_7f096bccb0f1.webp\" width=\"28px\"> [知乎](https:\u002F\u002Fwww.zhihu.com\u002F)\n\n## 引用\n如果我们的工作对你有帮助的话，请考虑引用以下论文\n```bibtex\n@article{VisCPM,\n  title={Large multilingual models pivot zero-shot multimodal learning across languages},\n  author={Hu, Jinyi and Yao, Yuan and Wang, Chongyi and Wang, Shan and Pan, Yinxu and Chen, Qianyu and Yu, Tianyu and Wu, Hanghao and Zhao, Yue and Zhang, Haoye and others},\n  journal={arXiv preprint arXiv:2308.12038},\n  year={2023}\n}\n\n@article{muffin,\n  title={Reformulating vision-language foundation models and datasets towards universal multimodal assistants},\n  author={Yu, Tianyu and Hu, Jinyi and Yao, Yuan and Zhang, Haoye and Zhao, Yue and Wang, Chongyi and Wang, Shan and Pan, Yinxv and Xue, Jiao and Li, Dahai and others},\n  journal={arXiv preprint arXiv:2310.00653},\n  year={2023}\n}\n```\n","\u003Cdiv align=\"center\">\n\n# VisCPM\n**基于CPM基础模型的中英双语多模态大模型系列**\n\u003Cp align=\"center\">\n  \u003Ca href=\"#-viscpm-chat\">多模态对话模型VisCPM-Chat\u003C\u002Fa> •\n  \u003Ca href=\"#-viscpm-paint\">文生图模型VisCPM-Paint\u003C\u002Fa> •\n  \u003Ca href=\"#-使用\">使用\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2308.12038.pdf\">论文\u003C\u002Fa>\n\u003C\u002Fp>\n\u003Cp>\n  \u003Ca href=\"http:\u002F\u002F120.92.209.146\u002F\">VisCPM-Chat Demo\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fopenbmb\u002Fviscpm-paint\">VisCPM-Paint Demo\u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Chat\"> VisCPM-Chat🤗 \u003C\u002Fa> •\n  \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Paint\"> VisCPM-Paint🤗 \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  简体中文 | \u003Ca href=\"README_en.md\">English\u003C\u002Fa>\n\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n**`VisCPM`** 是一个开源的多模态大模型系列，支持中英双语的多模态对话能力（`VisCPM-Chat`模型）和文到图生成能力（`VisCPM-Paint`模型），在中文多模态开源模型中达到最佳水平。VisCPM基于百亿参数量语言大模型[CPM-Bee](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FCPM-Bee)（10B）训练，融合视觉编码器[Muffin](https:\u002F\u002Fgithub.com\u002Fthunlp\u002FMuffin)和视觉解码器[Diffusion-UNet](https:\u002F\u002Fgithub.com\u002FCompVis\u002Fstable-diffusion)以支持视觉信号的输入和输出。得益于CPM-Bee基座优秀的双语能力，`VisCPM`可以仅通过英文多模态数据预训练，泛化实现优秀的中文多模态能力。\n\n- **👐 开源使用**：VisCPM可以自由被用于个人和研究用途。我们希望通过开源VisCPM模型系列，推动多模态大模型开源社区和相关研究的发展。\n- **🌟 涵盖图文双向生成**：VisCPM模型系列较为全面地支持了图文多模态能力，涵盖多模态对话（图到文生成）能力和文到图生成能力。\n- **💫 中英双语性能优异**：得益于语言模型基座CPM-Bee优秀的双语能力，VisCPM在中英双语的多模态对话和文到图生成均取得亮眼的效果。\n\n\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_cb1af4be8c95.png\" width=\"600px\">\n\u003C\u002Fdiv>\n\n## 📰 更新信息\n`VisCPM`在持续升级中，我们支持了低资源推理、网页版部署等功能，并提供了能力升级的更高版本的模型[OmniLMM](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FOmniLMM)，欢迎大家持续关注！\n- **[2024\u002F04\u002F17]** 🚀 欢迎关注我们最新发布的[MiniCPM-V 2.0](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-V)端侧多模态大模型，具备领先的光学字符识别（OCR）和多模态理解能力，在综合性OCR能力评测基准OCRBench上达到开源模型最佳水平，甚至在场景文字理解方面实现接近Gemini Pro的性能。\n- **[2024\u002F02\u002F02]** 🚀 欢迎关注我们最新发布的[OmniLMM](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FOmniLMM)多模态大模型！其中[OmniLMM-3B](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FMiniCPM-V)为中英双语多模态对话模型，基于中英双语大模型[MiniCPM-2.4B](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM\u002F)和SigLip-400M视觉编码器训练，采用与VisCPM-Chat相同的训练流程训练，可在终端设备上部署并具备先进的多模态对话能力；[OmniLMM-13B](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FOmniLMM-12B\u002F)为英文多模态模型，基于EVA02-5B和Zephyr-7B-β初始化训练，相比同规模其他模型在多个基准测试中具有领先性能。\n- **[2024\u002F01\u002F16]** 🎉 [VisCPM论文](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2308.12038.pdf)被**ICLR 2024**接收，并被选为**spotlight（top 5%）**！\n- **[2023\u002F09\u002F06]** 🔌 VisCPM-Chat API 发布！现在您可以直接通过API轻松地使用VisCPM-Chat模型了。查看[API使用指南](#API使用指南)以了解更多详情。\n- **[2023\u002F08\u002F23]** 📑 VisCPM论文发布：[Large Multilingual Models Pivot Zero-Shot Multimodal Learning across Languages](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2308.12038.pdf)，论文提供了更详细的实现细节和实验结果\n- **[2023\u002F08\u002F18]** ⤴️ [VisCPM-Chat-v1.1](#模型下载)版本发布，带来更强的细节理解和复杂推理能力！\n- **[2023\u002F08\u002F18]** 🛠️ 支持[微调](#模型微调)，让VisCPM更适配你的应用场景！\n- **[2023\u002F07\u002F20]** 🌐 发布[VisCPM-Chat](http:\u002F\u002F120.92.209.146\u002F)和[VisCPM-Paint](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fopenbmb\u002Fviscpm-paint) 的在线Demo，欢迎尝试！\n- **[2023\u002F07\u002F20]** 🎢 支持一键[部署本地网页版Demo](#demo部署)\n- **[2023\u002F07\u002F20]** ⚡️ 支持[低资源推理](#低资源推理)，最低5G显存运行多模态对话模型！\n- **[2023\u002F07\u002F18]** 🤗 [VisCPM-Chat](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Chat)和[VisCPM-Paint](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Paint) 已整合到Huggingface框架中\n\n## \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_5e4926eb2815.png\" width=\"28px\" \u002F> VisCPM-Chat\n`VisCPM-Chat`支持面向图像进行中英双语多模态对话。该模型使用`Muffin`视觉编码架构，使用CPM-Bee（10B）作为语言基座模型，并通过语言建模训练目标融合视觉和语言模型。模型训练包括预训练和指令精调两阶段：\n\n* 预训练：我们使用约100M高质量英文图文对数据对`VisCPM-Chat`进行了预训练，数据包括CC3M、CC12M、COCO、Visual Genome、Laion等。在预训练阶段，语言模型参数保持固定，仅更新视觉编码器的参数，以支持大规模视觉-语言表示的高效对齐。\n\n* 指令精调：我们采用[LLaVA-150K](https:\u002F\u002Fllava-vl.github.io\u002F)英文指令精调数据，并混合相应[翻译后的中文数据](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fopenbmb\u002Fllava_zh)对模型进行指令精调，以对齐模型多模态基础能力和用户使用意图。在指令精调阶段，我们更新全部模型参数，以提升指令精调数据的利用效率。有趣的是，我们发现即使仅采用英文指令数据进行指令精调，模型也可以理解中文问题，但仅能用英文回答。这表明模型的多语言多模态能力已经得到良好的泛化。在指令精调阶段进一步加入少量中文翻译数据，可以将模型回复语言和用户问题语言对齐。\n\n我们在[LLaVA标准英文测试集](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fliuhaotian\u002FLLaVA-Instruct-150K)和翻译的[中文测试集](data\u002Ftranslated_LLaVA_qa90)对模型进行了评测，该评测基准考察模型在开放域对话、图像细节描述、复杂推理方面的表现，并使用GPT-4进行打分。可以观察到，`VisCPM-Chat`在中文多模态能力方面取得了最佳的平均性能，在通用域对话和复杂推理表现出色，同时也表现出了不错的英文多模态能力。我们提供了两个模型版本，分别为`VisCPM-Chat-balance`和`VisCPM-Chat-zhplus`，前者在英文和中文两种语言上的能力较为平衡，后者在中文能力上更加突出。两个模型在指令精调阶段使用的数据相同，`VisCPM-Chat-zhplus`在预训练阶段额外加入了20M清洗后的原生中文图文对数据和120M翻译到中文的图文对数据。`VisCPM-Chat-v1.1`在指令精调阶段额外加入了[UniMM-Chat](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FYirany\u002FUniMM-Chat)多模态指令精调数据集。\n\n\u003Ctable>\n    \u003Ctr>\n        \u003Ctd align=\"center\" rowspan=\"2\" colspan=\"2\">模型\u003C\u002Ftd>\n        \u003Ctd align=\"center\" rowspan=\"2\">语言模型基座\u003C\u002Ftd>\n        \u003Ctd align=\"center\" colspan=\"4\">英文\u003C\u002Ftd>\n        \u003Ctd align=\"center\" colspan=\"4\">中文\u003C\u002Ftd>\n    \u003C\u002Ftr>\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    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\" rowspan=\"3\">英文模型\u003C\u002Ftd>\n        \u003Ctd align=\"center\">MiniGPT4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">Vicuna-13B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">65.0\u003C\u002Ftd>\n        \u003Ctd align=\"center\">67.3\u003C\u002Ftd>\n        \u003Ctd align=\"center\">76.6\u003C\u002Ftd>\n        \u003Ctd align=\"center\">69.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    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">InstructBLIP\u003C\u002Ftd>\n        \u003Ctd align=\"center\">Vicuna-13B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">81.9\u003C\u002Ftd>\n        \u003Ctd align=\"center\">68.0\u003C\u002Ftd>\n        \u003Ctd align=\"center\">91.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">80.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 align=\"center\">LLaVA\u003C\u002Ftd>\n        \u003Ctd align=\"center\">Vicuna-13B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">89.5\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">70.4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">96.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">85.6\u003C\u002Fspan>\u003C\u002Fb>\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 align=\"center\" rowspan=\"7\">中英双语模型\u003C\u002Ftd>\n        \u003Ctd align=\"center\">mPLUG-Owl \u003C\u002Ftd>\n        \u003Ctd align=\"center\">LLaMA-7B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">64.6\u003C\u002Ftd>\n        \u003Ctd align=\"center\">47.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">80.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">64.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">76.3\u003C\u002Ftd>\n        \u003Ctd align=\"center\">61.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">77.8\u003C\u002Ftd>\n        \u003Ctd align=\"center\">72.0\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">VisualGLM\u003C\u002Ftd>\n        \u003Ctd align=\"center\">ChatGLM-6B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">62.4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">63.0\u003C\u002Ftd>\n        \u003Ctd align=\"center\">80.6\u003C\u002Ftd>\n        \u003Ctd align=\"center\">68.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">76.6\u003C\u002Ftd>\n        \u003Ctd align=\"center\">87.8\u003C\u002Ftd>\n        \u003Ctd align=\"center\">83.6\u003C\u002Ftd>\n        \u003Ctd align=\"center\">82.7\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">Ziya-Visual \u003C\u002Ftd>\n        \u003Ctd align=\"center\">Ziya-LLaMA-13B-v1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">82.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">69.9\u003C\u002Ftd>\n        \u003Ctd align=\"center\">92.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">81.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">85.0\u003C\u002Ftd>\n        \u003Ctd align=\"center\">74.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">82.4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">80.8\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">Qwen-VL \u003C\u002Ftd>\n        \u003Ctd align=\"center\">Qwen-7B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">82.4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">72.6\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">91.9\u003C\u002Ftd>\n        \u003Ctd align=\"center\">83.8\u003C\u002Ftd>\n        \u003Ctd align=\"center\">82.3\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">93.4\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">89.5\u003C\u002Ftd>\n        \u003Ctd align=\"center\">88.2\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">VisCPM-Chat-balance\u003C\u002Ftd>\n        \u003Ctd align=\"center\">CPMBee-10B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">83.3\u003C\u002Ftd>\n        \u003Ctd align=\"center\">68.9\u003C\u002Ftd>\n        \u003Ctd align=\"center\">90.5\u003C\u002Ftd>\n        \u003Ctd align=\"center\">81.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">92.7\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">76.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">89.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">86.3\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">VisCPM-Chat-zhplus\u003C\u002Ftd>\n        \u003Ctd align=\"center\">CPMBee-10B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">80.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">65.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">92.5\u003C\u002Ftd>\n        \u003Ctd align=\"center\">79.6\u003C\u002Ftd>\n        \u003Ctd align=\"center\">90.3\u003C\u002Ftd>\n        \u003Ctd align=\"center\">81.4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">92.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">88.2\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">VisCPM-Chat-v1.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">CPMBee-10B\u003C\u002Ftd>\n        \u003Ctd align=\"center\">80.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">67.1\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">97.1\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">81.5\u003C\u002Ftd>\n        \u003Ctd align=\"center\">91.3\u003C\u002Ftd>\n        \u003Ctd align=\"center\">90.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">95.4\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">92.5\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n![图片](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_78e03d990de4.png)\n\n## \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_81cfe7edc34c.png\" height=\"28px\" \u002F> VisCPM-Paint\n`VisCPM-Paint`支持中英双语的文到图生成。该模型使用CPM-Bee（10B）作为文本编码器，使用`UNet`作为图像解码器，并通过扩散模型训练目标融合语言和视觉模型。在训练过程中，语言模型参数始终保持固定。我们使用[Stable Diffusion 2.1](https:\u002F\u002Fgithub.com\u002FStability-AI\u002Fstablediffusion)的UNet参数初始化视觉解码器，并通过逐步解冻其中关键的桥接参数将其与语言模型融合。该模型在[LAION 2B](https:\u002F\u002Flaion.ai\u002F)英文图文对数据上进行了训练。\n\n与`VisCPM-Chat`类似，我们发现得益于CPM-Bee的双语能力，`VisCPM-Paint`可以仅通过英文图文对训练，泛化实现良好的中文文到图生成能力，达到中文开源模型的最佳效果。通过进一步加入20M清洗后的原生中文图文对数据，以及120M翻译到中文的图文对数据，模型的中文文到图生成能力可以获得进一步提升。我们在标准图像生成测试集MSCOCO上采样了3万张图片，计算了常用评估图像生成指标FID (Fréchet Inception Distance)评估生成图片的质量。我们同样提供了两个模型版本，分别为`VisCPM-Paint-balance`和`VisCPM-Paint-zhplus`，前者在英文和中文两种语言上的能力较为平衡，后者在中文能力上更加突出。`VisCPM-Paint-balance`只使用了英文图文对进行训练，`VisCPM-Paint-zhplus`在`VisCPM-Paint-balance`基础上增加了20M原生中文图文对数据和120M翻译到中文的图文对数据进行训练。\n\n\u003Ctable align=\"center\">\n    \u003Ctr>\n        \u003Ctd align=\"center\" rowspan=\"2\">模型\u003C\u002Ftd>\n        \u003Ctd align=\"center\" colspan=\"2\">Zero-shot FID↓\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">英文\u003C\u002Ftd>\n        \u003Ctd align=\"center\">中文\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">GLIDE\u003C\u002Ftd>\n        \u003Ctd align=\"center\">12.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">Make-A-Scene\u003C\u002Ftd>\n        \u003Ctd align=\"center\">11.8\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">DALL·E-2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">10.4\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">Unidiffuser\u003C\u002Ftd>\n        \u003Ctd align=\"center\">9.7\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">Cogview2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n        \u003Ctd align=\"center\">24.0\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">Stable Diffusion\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">8.6\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">AltDiffusion\u003C\u002Ftd>\n        \u003Ctd align=\"center\">17.2\u003C\u002Ftd>\n        \u003Ctd align=\"center\">16.1\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">TaiyiDiffusion\u003C\u002Ftd>\n        \u003Ctd align=\"center\">-\u003C\u002Ftd>\n        \u003Ctd align=\"center\">15.6\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">VisCPM-Paint-balance\u003C\u002Ftd>\n        \u003Ctd align=\"center\">9.5\u003C\u002Ftd>\n        \u003Ctd align=\"center\">10.9\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd align=\"center\">VisCPM-Paint-zhplus\u003C\u002Ftd>\n        \u003Ctd align=\"center\">9.9\u003C\u002Ftd>\n        \u003Ctd align=\"center\">\u003Cb>\u003Cspan style=\"color:#c00000;\">9.6\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## ⚙️ 安装\n1. 克隆仓库并进入源码目录\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM.git\ncd VisCPM\n```\n\n2. 创建conda环境\n```Shell\nconda create -n viscpm python=3.10 -y\nconda activate viscpm\n```\n\n3. 安装依赖\n   \n```shell\npip install torch>=1.10\npip install -r requirements.txt\n```\n\n## 💡 使用\n### 模型下载\n| 模型                   | 描述                         | 下载链接 |\n|----------------------|-------------------|------     |\n| VisCPM-Chat-v1.1     | 新版本多模态对话模型，强化了细节理解和复杂推理能力  |     [链接](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Chat\u002Fblob\u002Fmain\u002Fpytorch_model.v1.bin)    |\n| VisCPM-Chat-balance  | 中英文能力较为平衡的多模态对话模型  |     [链接](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Chat\u002Fresolve\u002Fmain\u002Fpytorch_model.bin)    |\n| VisCPM-Chat-zhplus   | 中文能力突出的多模态对话模型       |     [链接](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Chat\u002Fresolve\u002Fmain\u002Fpytorch_model.zhplus.bin)   |\n| VisCPM-Paint-balance | 中英文能力较为平衡的文生图模型     |      [链接](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Paint\u002Fresolve\u002Fmain\u002Fpytorch_model.balance.bin) |\n| VisCPM-Paint-zhplus  | 中文能力突出的文生图模型          |      [链接](https:\u002F\u002Fhuggingface.co\u002Fopenbmb\u002FVisCPM-Paint\u002Fresolve\u002Fmain\u002Fpytorch_model.bin)  |\n\n\n### VisCPM-Chat\n在下载模型权重后，可以使用如下代码运行VisCPM-Chat（`'\u002Fpath\u002Fto\u002Fcheckpoint'`改为模型存放路径）\n\n#### 单轮对话\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_859e1eae4518.png\" width=\"660px\">\n\u003C\u002Fdiv>\n\nVisCPM-Chat可以通过几行代码实现多模态对话，我们在代码中默认开启了对输入图片的安全检查。\n```shell\n# 如果您单卡显存不足40G，可以引入如下环境变量并将安全模块开关关闭。引入后显存占用约为5G，但推理所需时间会变长。此选项依赖BMInf，需要安装BMInf依赖库。\nexport CUDA_MEMORY_CPMBEE_MAX=1g\n```\n```python\nfrom VisCPM import VisCPMChat\nfrom PIL import Image\n\nmodel_path = '\u002Fpath\u002Fto\u002Fcheckpoint'\nviscpm_chat = VisCPMChat(model_path, image_safety_checker=True)\n# 默认开启对输入图片的安全检查\nimage_path = 'https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_859e1eae4518.png'\nimage = Image.open(image_path).convert(\"RGB\")\n\nquestion = '如果用一句中国唐代的著名诗人\"李白\"的古诗来描述这幅图像，你能想到什么？'\nanswer, _, _ = viscpm_chat.chat(image, question)\n\nprint(answer)\n```\n可得到如下结果\n```\n“黄河之水天上来，奔流到海不复回。” 李白的这句诗可以用来形容这幅图片中汹涌澎湃、波涛汹涌的景象：一条湍急的河流从山上奔腾而下，形成了一幅令人叹为观止的画面，展示出大自然的力量和雄伟壮丽。\n```\n\n#### 多轮对话\n\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_a9df296eea31.jpeg\" width=\"660px\">\n\u003C\u002Fdiv>\n\n```python\nfrom VisCPM import VisCPMChat\nfrom PIL import Image\n\nmodel_path = '\u002Fpath\u002Fto\u002Fcheckpoint'\nviscpm_chat = VisCPMChat(model_path, image_safety_checker=True)\n# 默认开启对输入图片的安全检查\nimage_path = 'https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_a9df296eea31.jpeg'\nimage = Image.open(image_path).convert(\"RGB\")\n\nquestion = '这幅图像是在哪个节日拍摄的？'\nanswer, context, vision_hidden_states = viscpm_chat.chat(image, question)\n\n# 多轮对话传入历史 context\nquestion = '你能用什么古诗描述这幅画？'\nanswer, context, _ = viscpm_chat.chat(image, question, context, vision_hidden_states=vision_hidden_states)\n\nprint(context)\n```\n\n可得到如下结果\n```\nUser: 这幅图像是在哪个节日拍摄的？\nAI: 这幅图像是在中秋节拍摄的， 也就是中国传统节日中的月圆之夜。\nUser: 你能用什么古诗描述这幅画？\nAI: “明月几时有，把酒问青天。” 这是苏轼的《水调歌头》中的一句诗，用来形容这幅图片再贴切不过了：在中秋之夜，月亮高高地挂在天空中，一座古老的建筑沐浴着月光，营造出一种宁静祥和的气氛。\n```\n\n\n#### API使用指南\n我们提供了API接口，可以通过如下代码轻松体验VisCPM-Chat。API接口支持的输入格式和使用方式如下：\n```python\nimport requests\nimport base64\n\nurl = \"http:\u002F\u002F34.143.180.202:3389\u002Fviscpm\"\nresp = requests.post(url, json={\n    # need to modify\n    \"image\": base64.b64encode(open(\"path\u002Fto\u002Fimage\", \"rb\").read()).decode(),\n    \"question\": \"描述一下这张图片\",\n})\nresp = resp.json()\nprint(resp)\n```\n\n### VisCPM-Paint\n在下载模型权重后，可以使用如下代码运行VisCPM-Paint（`'\u002Fpath\u002Fto\u002Fcheckpoint'`改为模型存放路径）。\n\n![图片](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_d073e2693d88.png)\n\n![图片](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_32e1c89c3e47.png)\n\n生成上面图片的文本输入可参考[prompts.txt](data\u002Fprompts.txt)。\n```shell\n# 如果您单卡显存不足40G，可以引入如下环境变量并将安全模块开关关闭。引入后显存占用约为17G，但推理所需时间会变长。此选项依赖BMInf，需要安装BMInf依赖库。\nexport CUDA_MEMORY_CPMBEE_MAX=1g\n```\n```python\nfrom VisCPM import VisCPMPaint\npainter = VisCPMPaint('\u002Fpath\u002Fto\u002Fcheckpoint', image_safety_checker=True, prompt_safety_checker=True, add_ranker=True) \n# 默认对输入的文本和输出的图片进行安全检查，默认开启重排序\nimage = painter.generate('人闲桂花落，月静春山空') # 对应上图第一行第二张图片\nimage.save('\u002Fdata\u002Ftest.png') \n```\n\n我们在代码中默认开启了对输入文本和输出图片的安全检查。\n\n同时，我们默认对生成的图像使用重排序，即对同一个输入，同时生成4张图片，返回与输入相关性最高的1张图片，相关性通过[Chinese-Clip](https:\u002F\u002Fgithub.com\u002FOFA-Sys\u002FChinese-CLIP)进行打分。重排序可以提升生成图片质量的稳定性，但也会降低模型的生成速度，如希望快速得到生成结果，可以关闭重排序机制。\n\nVisCPM-Paint目前使用中文模型进行重排序打分，如果输入英文生成图片，请关闭重排序机制和输入文本检查模块。\n\n### 低资源推理\n\n为了支持更加高效的低资源推理场景，我们借助[BMInf](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FBMInf)工具支持更低的显存需求。首先安装BMInf依赖`pip install bminf`，然后在命令行中指定`export CUDA_MEMORY_CPMBEE_MAX=1g`（具体数值可以根据个人需求设定），然后按照上述步骤进行推理，VisCPM-Chat最低显存占用可以降至5G，VisCPM-Paint最低显存占用可以降至17G。\n\n### Demo部署\n\n我们提供简易的基于gradio的网页版Demo，首先安装gradio:`pip install gradio`，然后执行如下命令：\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM.git\ncd VisCPM\npython demo_chat.py # viscpm_chat demo, or\npython demo_paint.py # viscpm_paint demo\n```\n\n### 模型微调\n为适应特定场景下的需求, 我们提供了VisCPM-Chat模型的微调代码，用户可以在私有数据上进行微调。微调代码位于`.\u002Ffinetune\u002Fft_viscpm_chat`目录下，具体的微调代码使用方法如下：\n```shell\n# 获取数据集\nbash .\u002Ffinetune\u002Fft_viscpm_chat\u002Fget_llava150k_zh.sh\n# 模型微调, 注意修改其中的数据集与模型checkpoint路径\nbash .\u002Ffinetune\u002Fft_viscpm_chat\u002Frun_viscpm_chat_ft.sh\n# node: 8\n# batch_size: 8 * 1\n# 其他配置可参考'.\u002Ffinetune\u002Fft_viscpm_chat\u002Fconfig\u002Fviscpm_chat_ft.json'与'.\u002Ffinetune\u002Fft_viscpm_chat\u002Frun_viscpm_chat_ft.sh'\n```\n注: \n- 微调代码中使用了deepspeed-0.9.1配置训练环境，配置方法可以参考此[链接](https:\u002F\u002Fwww.deepspeed.ai\u002Fgetting-started\u002F)。\n- 目前微调代码仅在linux系统下测试，如果您在其他系统配置下进行微调，可能需要修改部分代码。\n\n## 🛡 安全\n\n### 安全声明\n作为多模态模型，`VisCPM`通过学习大量的公开图文数据来生成内容，但它无法理解、表达个人观点或价值判断，它所输出的任何内容都不代表模型开发者的观点和立场。因此用户在使用VisCPM生成的内容时，应自行负责对其进行评估和验证。\n\n### 安全模块\n为了帮助用户防止模型处理或生成不符合普遍社会价值观的内容，我们在`VisCPM`中加入了内容安全保障模块。当安全模块检测到模型处理或生成的图像文本内容不符合安全规范时，会对相应内容进行拦截。我们对`VisCPM-Chat`接受的图片输入以及`VisCPM-Paint`接受的文字输入和图片输出进行了安全检查。VisCPM的安全模块仍然不完美，可能会出现漏判和误判的情况。我们会在未来进一步提升安全模块的性能。\n\n\n## 📝 开源协议\n\nVisCPM系列模型采用协议为[\"通用模型许可协议-来源说明-宣传限制-非商业化\"](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FGeneral-Model-License\u002Fblob\u002Fmain\u002F%E9%80%9A%E7%94%A8%E6%A8%A1%E5%9E%8B%E8%AE%B8%E5%8F%AF%E5%8D%8F%E8%AE%AE-%E6%9D%A5%E6%BA%90%E8%AF%B4%E6%98%8E-%E5%AE%A3%E4%BC%A0%E9%99%90%E5%88%B6-%E9%9D%9E%E5%95%86%E4%B8%9A%E5%8C%96.md)，允许个人使用和研究用途。如需将模型用于商业用途，请联系cpm@modelbest.cn来洽谈商业授权事宜。\n\nCPM-Bee基座采用协议为[“通用模型许可协议-来源说明-宣传限制-商业授权”](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FGeneral-Model-License\u002Fblob\u002Fmain\u002F%E9%80%9A%E7%94%A8%E6%A8%A1%E5%9E%8B%E8%AE%B8%E5%8F%AF%E5%8D%8F%E8%AE%AE-%E6%9D%A5%E6%BA%90%E8%AF%B4%E6%98%8E-%E5%AE%A3%E4%BC%A0%E9%99%90%E5%88%B6-%E5%95%86%E4%B8%9A%E6%8E%88%E6%9D%83.md)，允许商用，如需将模型用于商业用途，请联系cpm@modelbest.cn来获取书面授权。\n\n\n## ✅ TODO\n\n- [ ] 支持模型量化功能，降低推理成本\n\n## 🏫 机构\n\n此项目由以下机构联合研发：\n\n- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_13da7b2eabfc.png\" width=\"28px\"> [清华自然语言处理实验室](https:\u002F\u002Fnlp.csai.tsinghua.edu.cn\u002F)\n- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_9cce484985d4.png\" width=\"28px\"> [面壁智能](https:\u002F\u002Fmodelbest.cn\u002F)\n- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_readme_7f096bccb0f1.webp\" width=\"28px\"> [知乎](https:\u002F\u002Fwww.zhihu.com\u002F)\n\n## 引用\n如果我们的工作对你有帮助的话，请考虑引用以下论文\n```bibtex\n@article{VisCPM,\n  title={Large multilingual models pivot zero-shot multimodal learning across languages},\n  author={Hu, Jinyi and Yao, Yuan and Wang, Chongyi and Wang, Shan and Pan, Yinxu and Chen, Qianyu and Yu, Tianyu and Wu, Hanghao and Zhao, Yue and Zhang, Haoye and others},\n  journal={arXiv preprint arXiv:2308.12038},\n  year={2023}\n}\n\n@article{muffin,\n  title={Reformulating vision-language foundation models and datasets towards universal multimodal assistants},\n  author={Yu, Tianyu and Hu, Jinyi and Yao, Yuan and Zhang, Haoye and Zhao, Yue and Wang, Chongyi and Wang, Shan and Pan, Yinxv and Xue, Jiao and Li, Dahai and others},\n  journal={arXiv preprint arXiv:2310.00653},\n  year={2023}\n}\n```","# VisCPM 快速上手指南\n\nVisCPM 是一个基于 CPM-Bee（10B）基座的中英双语多模态大模型系列，包含支持图文对话的 **VisCPM-Chat** 和支持文生图的 **VisCPM-Paint**。本指南将帮助您快速在本地部署并运行这些模型。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu 20.04+) 或 macOS\n*   **Python**: 3.8 或更高版本\n*   **GPU**: \n    *   **VisCPM-Chat**: 建议显存 ≥ 16GB (开启低资源推理模式最低可至 5GB)\n    *   **VisCPM-Paint**: 建议显存 ≥ 8GB\n*   **依赖管理**: 推荐使用 `conda` 创建独立虚拟环境\n\n## 安装步骤\n\n### 1. 创建并激活虚拟环境\n\n```bash\nconda create -n viscpm python=3.9 -y\nconda activate viscpm\n```\n\n### 2. 安装 PyTorch\n\n请根据您的 CUDA 版本安装对应的 PyTorch。以下为 CUDA 11.8 的安装命令（国内用户可使用清华源加速）：\n\n```bash\npip install torch torchvision torchaudio --index-url https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 3. 克隆代码库并安装依赖\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM.git\ncd VisCPM\n\n# 安装项目依赖\npip install -r requirements.txt\n```\n\n> **提示**：如果下载依赖较慢，可添加 `-i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple` 参数使用清华镜像源。\n\n### 4. 下载模型权重\n\n模型托管在 Hugging Face 上。您可以直接使用 `transformers` 库自动下载，或手动下载后指定本地路径。\n\n**方式一：代码自动下载（需能访问 Hugging Face）**\n在首次运行代码时会自动拉取模型。若网络受限，请参考方式二。\n\n**方式二：手动下载（推荐国内用户）**\n访问 [Hugging Face VisCPM 主页](https:\u002F\u002Fhuggingface.co\u002Fopenbmb) 下载所需模型文件夹（如 `VisCPM-Chat` 或 `VisCPM-Paint`），并将其放置在本地目录，例如 `.\u002Fmodels\u002FVisCPM-Chat`。\n\n## 基本使用\n\n### 场景一：多模态对话 (VisCPM-Chat)\n\n以下示例展示如何加载模型并对一张图片进行中文提问。\n\n```python\nimport torch\nfrom transformers import AutoTokenizer, AutoModel\nfrom PIL import Image\n\n# 配置模型路径 (可以是 HuggingFace ID 或本地路径)\nmodel_path = \"openbmb\u002FVisCPM-Chat\" \n# 如果是本地下载，改为: model_path = \".\u002Fmodels\u002FVisCPM-Chat\"\n\n# 加载分词器和模型\ntokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)\nmodel = AutoModel.from_pretrained(model_path, trust_remote_code=True).half().cuda()\nmodel.eval()\n\n# 准备图像和提示词\nimage = Image.open(\"your_image.jpg\").convert('RGB')\nprompt = \"这张图片里有什么？请用中文详细描述。\"\n\n# 生成回复\nresponse, history = model.chat(tokenizer, image, prompt, history=None)\n\nprint(response)\n```\n\n**低资源推理提示**：如果您的显存较小（约 5-8GB），可以在加载模型时启用量化或限制最大长度（具体参数请参考仓库中的 `examples` 目录配置）。\n\n### 场景二：文生图 (VisCPM-Paint)\n\n以下示例展示如何使用中文提示词生成图片。\n\n```python\nimport torch\nfrom diffusers import AutoPipelineForText2Image\nfrom PIL import Image\n\n# 配置模型路径\nmodel_path = \"openbmb\u002FVisCPM-Paint\"\n# 如果是本地下载，改为: model_path = \".\u002Fmodels\u002FVisCPM-Paint\"\n\n# 加载管道\npipeline = AutoPipelineForText2Image.from_pretrained(\n    model_path, \n    torch_dtype=torch.float16, \n    trust_remote_code=True\n).to(\"cuda\")\n\n# 定义中文提示词\nprompt = \"一只在太空中飞行的熊猫，赛博朋克风格，高清细节\"\n\n# 生成图片\nimage = pipeline(prompt, num_inference_steps=30).images[0]\n\n# 保存结果\nimage.save(\"generated_panda.png\")\nprint(\"图片已保存为 generated_panda.png\")\n```\n\n### 启动本地 Web Demo\n\nVisCPM 支持一键部署本地网页版演示界面，方便交互测试。\n\n**启动 Chat Demo:**\n```bash\npython web_demo_chat.py --model-path openbmb\u002FVisCPM-Chat\n```\n\n**启动 Paint Demo:**\n```bash\npython web_demo_paint.py --model-path openbmb\u002FVisCPM-Paint\n```\n\n启动后，终端会显示访问地址（通常为 `http:\u002F\u002F0.0.0.0:7860`），在浏览器中打开即可使用图形化界面。","某跨境电商运营团队需要快速为海外新品生成多语言营销素材，既要理解产品实拍图的细节，又要产出符合当地文化的文案与配图。\n\n### 没有 VisCPM 时\n- **语言割裂严重**：团队需分别使用英文模型分析图片、再翻译中文需求，反复切换工具导致上下文信息丢失，容易产生“图不对文”的尴尬。\n- **细节理解偏差**：通用模型对商品图中的微小文字（如成分表、标签）识别率低，常忽略关键卖点，生成的描述空洞泛泛。\n- **风格统一困难**：文生图环节需单独部署 Stable Diffusion 并手动编写复杂提示词，难以保证生成的宣传图与品牌原有视觉风格一致。\n- **人力成本高昂**：美工和文案需人工复核每一轮输出，修改迭代周期长，无法应对大促期间海量的上新需求。\n\n### 使用 VisCPM 后\n- **中英双语无缝流转**：VisCPM-Chat 直接基于中文指令分析英文商品图，精准提取卖点并输出地道双语文案，无需中间翻译步骤。\n- **深度视觉解析**：依托 Muffin 视觉编码器，VisCPM 能准确识别图中细小的 OCR 文字与复杂场景逻辑，生成的描述紧扣产品细节。\n- **图文闭环生成**：利用 VisCPM-Paint，团队可用自然语言直接生成符合品牌调性的宣传海报，实现从“看图说话”到“按话绘图”的一站式流程。\n- **低资源高效部署**：得益于优化的推理架构，VisCPM 可在单张消费级显卡上运行，大幅降低服务器成本，让自动化素材生产成为日常。\n\nVisCPM 凭借卓越的中英双语多模态能力，将原本割裂的图文处理流程整合为智能闭环，显著提升了跨境内容生产的效率与质量。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_VisCPM_78e03d99.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],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.4,{"name":85,"color":86,"percentage":87},"Shell","#89e051",0.6,1069,88,"2026-03-29T14:27:41","未说明","需要 NVIDIA GPU，最低 5GB 显存（支持低资源推理模式），推荐更高显存以运行完整模型",{"notes":94,"python":91,"dependencies":95},"README 中明确提到支持低资源推理，多模态对话模型最低可在 5GB 显存下运行。模型基于 CPM-Bee (10B) 基座，融合视觉编码器 Muffin 和视觉解码器 Diffusion-UNet。提供 VisCPM-Chat（多模态对话）和 VisCPM-Paint（文生图）两种模型系列。建议关注其后续升级版本如 MiniCPM-V 或 OmniLMM 以获取更优的端侧部署或性能表现。",[91],[35,15,97],"其他",[99,100,101,102],"diffusion-models","large-language-models","multimodal","transformers","2026-03-27T02:49:30.150509","2026-04-08T01:57:16.322001",[106,111,116,121,126,131,136,140],{"id":107,"question_zh":108,"answer_zh":109,"source_url":110},23500,"运行训练或推理时遇到 CUDA Out Of Memory (显存不足) 错误怎么办？","可以通过设置环境变量来限制显存使用。在运行命令前添加：export CUDA_MEMORY_CPMBEE_MAX=1g。如果显存仍然不足，建议尝试参数量更小（2.8B）且支持终端部署的最新模型 MiniCPM-V。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM\u002Fissues\u002F38",{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},23501,"Paint 任务中模型加载成功但无法生成图片，一直报错或无反应是什么原因？","请检查是否混淆了模型用途。VisCPM 提供两个模型：Chat 模型用于针对图像回答问题，Paint 模型用于根据文字描述生成图像。请确保在使用 Paint 功能时加载的是 Paint 模型的参数文件，而不是 Chat 模型的参数。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM\u002Fissues\u002F17",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},23502,"在线 Demo 请求失败或 API 显示 HTTP 无法连接，服务是否已停止？","由于资源限制，原有的在线 Demo 已更新部署。请访问新版模型 MiniCPM-V 的在线 Demo 地址：http:\u002F\u002F120.92.209.146\u002F 继续使用。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM\u002Fissues\u002F40",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},23503,"单张显卡显存不足导致长对话爆显存，是否支持多卡推理部署？","对于显存受限的情况，官方推荐使用最新的 MiniCPM-V 模型（仅 2.8B 参数），该模型专为终端和低显存设备优化，无需复杂的多卡部署即可流畅运行。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM\u002Fissues\u002F39",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},23504,"当前项目是否支持使用 LoRA 或 QLoRA 进行微调？","VisCPM 主仓库目前尚未直接实现 LoRA\u002FQLoRA 微调代码。如果需要快速低成本微调，可以参考 CPM-Bee 仓库中的 finetune 代码（使用 OpenDelta 进行 LoRA 操作），链接为：https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FCPM-Bee\u002Fblob\u002Fmain\u002Fsrc\u002Ffinetune_cpm_bee.py。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM\u002Fissues\u002F42",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},23505,"运行脚本时卡在加载数据阶段（load raw data）没有动静怎么办？","这通常是因为 Reader 组件试图将所有图片一次性加载到内存中导致阻塞或崩溃。建议修改 Reader 部分的代码，改为分批读取或流式读取图片数据。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM\u002Fissues\u002F23",{"id":137,"question_zh":138,"answer_zh":139,"source_url":135},23506,"导入模块时报错找不到 'VisCPM.dataset.itembuilder' 怎么办？","这是因为 itembuilder 模块实际位于 finetune 目录下。请检查并修改 __init__.py 或相关导入语句，将 'from VisCPM.dataset.itembuilder import ...' 改为 'from finetune.dataset.itembuilder import ...'。",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},23507,"Hugging Face 上的 Demo 无法工作，是否有替代方案？","官方已更新模型部署，原 Hugging Face Demo 可能不再维护。请使用最新的 OmniLMM 或 MiniCPM-V 模型在线 Demo：http:\u002F\u002F120.92.209.146\u002F。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FVisCPM\u002Fissues\u002F37",[]]