☰
WeMM-Embedding-4B生产级落地:Apache 2.0许可、商用边界与最佳实践完全指南
2026/10/22 12:24:20 网站建设 项目流程

【免费下载链接】WeMM-Embedding-4B

项目地址:https://ai.gitcode.com/tencent_hunyuan/WeMM-Embedding-4B
点击查看免费下载

WeMM-Embedding-4B 是腾讯开源的通用多模态嵌入模型,基于 Qwen3.5-4B 构建,采用 Apache 2.0 许可证,支持商用。它可将文本、图像、视频和视觉文档统一编码为 2560 维向量,是企业级搜索、推荐与 RAG 系统的理想选型。本文将带你彻底搞懂它的许可证条款、商用边界和落地最佳实践。

一、WeMM-Embedding-4B 是什么?🔍

一句话概括:一个"什么都能编码"的多模态嵌入模型。

传统搜索系统往往需要为文本、图片、视频各维护一套模型,而 WeMM-Embedding-4B 只需一个模型就能输出统一语义空间的向量:

  • 输入:文本、图像、视频、视觉文档(PDF 页面等)、文本与图/视频交错的复合输入
  • 输出:2560 维 L2 归一化向量(余弦相似度即内积)
  • 语言:中英文双语
  • 不支持:音频输入(规划中暂不包含)

在 MMEB-v2 多模态嵌入基准(78 个数据集)上,4B 版本的综合得分79.2,图像任务 80.8、视频任务 72.1、视觉文档任务 82.0,直接超越了参数量更大的 Qwen3-VL-Embedding 8B(77.8),是"小模型大能力"的代表:

模型参数量MMEB-v2 平均图像视频视觉文档
Qwen3-VL-Embedding2B73.275.061.979.2
WeMM-Embedding-4B4B79.280.872.182.0
Qwen3-VL-Embedding8B77.880.167.182.4
WeMM-Embedding9B80.681.974.383.3

二、Apache 2.0 许可:你可以合法做什么 ✅

WeMM-Embedding-4B 的许可证文件为 LICENSE。其核心条款非常明确:

腾讯公开发布的代码、模型参数和权重,全部采用 Apache License 2.0 许可。

Apache 2.0 是业界最友好的商用许可之一,对生产落地最关心的权限包括:

使用场景是否允许说明
内部使用(企业私有部署)✅无任何限制,无需开源你自己的系统
闭源商用产品集成✅可以嵌入商业产品并闭源销售
修改模型/代码后分发✅需保留许可声明并注明修改
提供 SaaS 服务✅网络服务不构成"分发",限制更少
再分发模型权重✅需附带 Apache 2.0 许可文本

Apache 2.0 附带的一项"隐藏福利":它包含明确的专利授权条款——任何贡献者授予使用者专利使用权,且若有人就本项目发起专利诉讼,相关专利授权自动终止。这对企业选型时评估专利风险是重要的加分项。

三、商用边界:3 个必须看清楚的细节 ⚖️

Apache 2.0 虽宽松,但"能商用"不等于"没有义务"。商用前请核对以下三点:

1. 第三方组件各有独立许可

License 中特别注明:项目依赖的第三方组件仍受其原始许可证约束。经核对,清单中唯一的开源模型依赖是Qwen3.5-4B(Alibaba Cloud,同样是 Apache 2.0),且腾讯对其做了修改(Tencent Modifications,版权归腾讯)。

💡 实务建议:虽然两个许可证恰好都是 Apache 2.0 不产生冲突,但仍建议法务在发布产品时保留对 Qwen3.5-4B 的致谢声明(Attribution),这是 Apache 2.0 分发的硬性要求。

2. 许可证声明必须保留

若你分发了模型或基于它的代码,需保留原始版权声明与许可文本(Apache 2.0 第 4 条)。最简单的方式:原样保留 LICENSE 文件和Copyright (C) 2026 Tencent声明。

3. 明确不属于授权范围的事项

  • 商标不受许可(第 6 条):不能把 "WeMM"、"Tencent" 等名称用作你产品的商标或品牌名,只能在描述来源时合理使用
  • "AS IS" 免责声明(第 7 条):模型按"现状"提供,官方不保证适销性或特定用途适配,生产环境的质量风险由使用方自行承担
  • 责任限制(第 8 条):贡献者不对任何直接或间接损失负责

四、快速上手:3 步部署 WeMM-Embedding-4B 🚀

第 1 步:获取模型仓库

git clone https://gitcode.com/tencent_hunyuan/WeMM-Embedding-4B

第 2 步:安装依赖

pip install torch transformers==5.2.0 "qwen-vl-utils[decord]==0.0.14" \ "sentence-transformers>=5.7.0" "accelerate>=1.1.0"

⚠️ 版本钉住(pin)很重要:README.md 明确要求transformers==5.2.0,这与 config.json 中声明的transformers_version一致,随意升级可能破坏模型加载。

第 3 步:选择推理方式

方式 A:离线批量编码(Sentence Transformers)

from sentence_transformers import SentenceTransformer model = SentenceTransformer("tencent/WeMM-Embedding-4B", trust_remote_code=True) embeddings = model.encode_document(["搜索查询文本", "产品描述"])

多模态文档可直接传入包含image/video/text键的字典,支持文本与图、视频交错混排。

方式 B:高并发在线服务(vLLM,推荐生产使用)

vllm serve /path/to/WeMM-Embedding-4B \ --runner pooling \ --chat-template /path/to/WeMM-Embedding-4B/embedding_chat_template.jinja

方式 C:SGLang 0.5.9 部署

python patch_sglang_video.py # 先对齐视频预处理逻辑 python -m sglang.launch_server \ --model-path /path/to/WeMM-Embedding-4B \ --is-embedding \ --enable-precise-embedding-interpolation

五、生产级最佳实践:6 条经验清单 📋

1. 用 Matryoshka 截断维度,成本立省 80%+

这是 WeMM-Embedding-4B 最实用的生产技巧。模型支持Matryoshka 嵌入:直接截取向量前 d 维并重新归一化,即可得到低维向量,检索质量损失很小。可用维度定义在 config.json 的matryoshka_dimensions中:[64, 128, 256, 512, 1024, 2560]。

  • 在线实时检索(延迟敏感)→ 截断到 256 维
  • 离线召回/粗排(吞吐敏感)→ 128 或 64 维
  • 精排/高精度场景→ 完整 2560 维

以 1 亿条文档、每条 2560 维 × 4 字节计算,存储约 977 GB;截断到 256 维后仅需约102 GB,向量数据库内存成本直降 90%。

2. 坚持 bfloat16 精度

模型原生精度为bfloat16(见 config.json)。GPU 推理务必保持该精度,既符合训练配置,也是当前推理框架的最优性能档位。

3. 理解嵌入的提取位置:EOS 位置池化

核心推理逻辑在 modeling_wemm_embedding.py 的embedding()方法:取序列最后一个有效 token(EOS 位置)的隐状态作为嵌入,再做 L2 归一化。这意味着输入序列的完整性很重要——截断要谨慎,模板渲染(embedding_chat_template.jinja)不要手动改动。

4. SGLang 视频预处理需打补丁

若用 SGLang 0.5.9 服务视频输入,必须先运行patch_sglang_video.py。它会将 SGLang 的视频帧采样与图像缩放逻辑对齐到 WeMM-Embedding 的预处理标准(如IMAGE_FACTOR从 28 改为 32,与patch_size=16 × spatial_merge_size=2匹配),否则视频嵌入质量会明显下降。

5. 注意音频场景的"能力空白"

模型明确不支持音频。在 MMEB-v3 榜单中其 Audio 项得分为 0。如果你的业务需要"图文音"全模态检索,需另选 Omni 类模型,或将音频先转写为文本再走本模型。

6. 长文本能力可放心利用

模型最大位置编码为262144 tokens(config.json 的max_position_embeddings),且采用"线性注意力 + 全注意力"混合结构(每 4 层 1 次全注意力),长文档、多页 PDF 视觉文档的编码成本远低于传统全注意力模型,适合企业知识库场景。

六、仓库文件地图:关键文件在哪里 🗺️

文件作用
LICENSEApache 2.0 许可全文 + 第三方组件(Qwen3.5-4B)清单
modeling_wemm_embedding.py核心嵌入逻辑:EOS 池化 + L2 归一化
modeling_st_wemm.pySentence Transformers 封装:encode_query/encode_document
embedding_chat_template.jinjavLLM 服务端直接分词模板
chat_template.jinja通用聊天模板
patch_sglang_video.pySGLang 视频预处理对齐补丁
config.json模型架构、Matryoshka 维度定义
processor_config.json图像/视频处理器参数(patch 16、fps 2、最多 768 帧)

七、常见问题 FAQ ❓

Q1:WeMM-Embedding-4B 可以商用吗?需要付费吗?可以商用,且免费。代码、参数、权重均为 Apache 2.0,无使用费、无 API 收费。只需遵守保留许可声明、尊重第三方组件原始许可的义务。

Q2:我把模型集成到 SaaS 里对外收费,需要开源我的代码吗?不需要。Apache 2.0 不要求下游闭源。但如果你再分发了模型或修改后的代码,需附 Apache 2.0 许可文本并注明修改。

Q3:4B 版本和 9B 版本怎么选?4B 在 MMEB-v2 上得分 79.2,与 9B(80.6)差距仅 1.4 分,而推理成本约省一半以上。显存和 QPS 紧张时优先选 4B;追求极限精度再上 9B。

Q4:向量维度必须用 2560 吗?不必。利用 Matryoshka 特性可任选64/128/256/512/1024/2560,按需平衡精度与存储/延迟成本。

写在最后

WeMM-Embedding-4B 是"合规友好 + 性能过硬"的典型:Apache 2.0 许可让企业可以直接商用,2560 维统一向量 + Matryoshka 截断让检索成本可控,vLLM/SGLang 两条现成部署路径则让生产落地开箱即用。对于正在搭建多模态搜索、内容理解或 RAG 系统的团队,它值得纳入首选评估清单。

动手前,建议先花 5 分钟通读一遍 LICENSE 第 4~8 条,把分发义务和免责条款内化到你们的发布流程中——这是生产级落地的第一课。

【免费下载链接】WeMM-Embedding-4B

项目地址:https://ai.gitcode.com/tencent_hunyuan/WeMM-Embedding-4B
点击查看免费下载
上一篇:【快速上手】Apache RocketMQ 教程
下一篇:Rundeck 开源自动化服务安装与使用指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询