---
title: WeMM-Embedding-2B-GGUF
canonical_url: "https://www.modelscope.cn/models/huangyusi/WeMM-Embedding-2B-GGUF"
md_url: "https://www.modelscope.cn/models/huangyusi/WeMM-Embedding-2B-GGUF.md"
repository: huangyusi/WeMM-Embedding-2B-GGUF
last_updated: 2026-09-26
license: apache-2.0
pipeline_tag: feature-extraction
tasks:
  - feature-extraction
base_model:
  - Tencent-Hunyuan/WeMM-Embedding-2B
base_model_relation: quantized
library_name:
  - gguf
  - llama.cpp
frameworks:
  - llama.cpp
language:
  - zh
  - en
downloads: 764
stars: 7
tags:
  - gguf
  - llama.cpp
  - embedding
  - multimodal-embedding
  - qwen3.5
---

# WeMM-Embedding-2B-GGUF

> WeMM-Embedding-2B-GGUF - huangyusi 在 ModelScope 开源的模型。WeMM-Embedding-2B-GGUF

huangyusi/WeMM-Embedding-2B-GGUF 是 ModelScope 魔搭社区上的feature-extraction模型，采用 apache-2.0 许可，基于 Tencent-Hunyuan/WeMM-Embedding-2B 构建。

- **Repository**: huangyusi/WeMM-Embedding-2B-GGUF
- **License**: apache-2.0
- **Tasks**: feature-extraction
- **Base model**: Tencent-Hunyuan/WeMM-Embedding-2B
- **Tags**: gguf, llama.cpp, embedding, multimodal-embedding, qwen3.5
- **Downloads**: 764
- **Stars**: 7
- **Last updated**: 2026-09-26

Source: https://www.modelscope.cn/models/huangyusi/WeMM-Embedding-2B-GGUF

---

<div align="center">

# WeMM-Embedding-2B-GGUF

<hr>

<p>
  <a href="https://www.modelscope.cn/models/huangyusi/WeMM-Embedding-2B-GGUF">
    <img src="https://img.shields.io/badge/ModelScope-GGUF-624AFF?style=flat-square" alt="ModelScope">
  </a>
  <img src="https://img.shields.io/badge/Format-GGUF-4B5563?style=flat-square" alt="GGUF">
  <img src="https://img.shields.io/badge/Runtime-llama.cpp-111827?style=flat-square" alt="llama.cpp">
  <img src="https://img.shields.io/badge/Multimodal-Text%20%7C%20Image%20%7C%20Video-0F766E?style=flat-square" alt="Multimodal">
</p>

</div>

这是 WeMM-Embedding-2B 的 GGUF 量化版本，面向本地 llama.cpp 推理，重点提供更低的显存和内存占用。

支持文本、图像、视频、视觉文档以及交错的多模态输入，返回 2,048 维 L2 归一化嵌入向量。当前不支持音频输入。

本仓库提供 Q4、Q6、Q8 和 BF16 多种版本，并保留 BF16 `mmproj` 视觉投影文件，用于图片和视频 Embedding。

## Files

| File | Size | Use |
|---|---:|---|
| `WeMM-Embedding-2B-Q4_K_M.gguf` | 1.56 GB | Recommended default |
| `WeMM-Embedding-2B-Q6_K.gguf` | 1.97 GB | Higher fidelity |
| `WeMM-Embedding-2B-Q8_0.gguf` | 2.55 GB | Accuracy-first quantized version |
| `WeMM-Embedding-2B-BF16.gguf` | 4.79 GB | Reference precision |
| `mmproj-WeMM-Embedding-2B-BF16.gguf` | 671 MB | Required for image/video input |

The main model may be quantized; keep the BF16 projector for multimodal inference.

## Quick start

Install a recent llama.cpp build. Qwen3.5 and multimodal embedding support are runtime-version dependent.

Download the recommended text model:

```bash
python3 -m pip install -U modelscope
modelscope download \
  --model huangyusi/WeMM-Embedding-2B-GGUF \
  --include 'WeMM-Embedding-2B-Q4_K_M.gguf' \
  --local_dir ./models
```

For image/video support, download the projector too:

```bash
./scripts/download_modelscope.sh
```

## Text embeddings

```bash
llama-server \
  -m ./models/WeMM-Embedding-2B-Q4_K_M.gguf \
  --embedding \
  --port 8080
```

```bash
curl http://127.0.0.1:8080/v1/embeddings \
  -H 'Content-Type: application/json' \
  -d '{"model":"WeMM-Embedding-2B-Q4_K_M.gguf","input":"多模态检索测试"}'
```

The model metadata specifies `qwen35.pooling_type=3`, which is llama.cpp `last` pooling for the dedicated `<embedding>` token. Do not override it with `--pooling mean`.

## Image and video embeddings

Start the main GGUF and projector together:

```bash
llama-server \
  -m ./models/WeMM-Embedding-2B-Q4_K_M.gguf \
  --mmproj ./models/mmproj-WeMM-Embedding-2B-BF16.gguf \
  --embedding \
  --port 8080
```

Then run the included client:

```bash
python3 examples/llama_cpp_multimodal_embedding.py \
  --image ./image.jpg \
  --output image-embedding.json
```

For video:

```bash
python3 examples/llama_cpp_multimodal_embedding.py \
  --video ./video.mp4 \
  --dimension 256
```

Video input requires a llama.cpp build with FFmpeg/FFprobe support. The client also supports `--openai-compatible` for `/v1/embeddings`.

### Important API note

Do not use the legacy `image_data` plus `[img-N]` format. Current llama.cpp can accept that payload as text and silently ignore the image. The supported multimodal embedding request uses the runtime-generated `media_marker` from `/props` and a prompt object containing `prompt_string` and `multimodal_data`. The included client handles this automatically.

## Verification

```bash
sha256sum -c SHA256SUMS
```

The conversion was checked for GGUF readability, 2048-dimensional output, normalized embeddings and the llama.cpp image path. The original model's benchmark results are not GGUF measurements.

## License

This conversion does not change the upstream license. Read the [upstream model card](https://www.modelscope.cn/models/Tencent-Hunyuan/WeMM-Embedding-2B) and [LICENSE](LICENSE) before redistribution.

## 更新记录 (Changelog)

### 2026-09-26 — 文档与转换补丁更新（模型权重未变）

- **模型文件没有变化**：`WeMM-Embedding-2B-*.gguf` 与 `mmproj-WeMM-Embedding-2B-BF16.gguf` 未重新生成，`SHA256SUMS` 不变。
- **纯文本输入就够了**：GGUF 中 `tokenizer.ggml.add_eos_token=true`，且 `eos` 指向 WeMM 的 `<embedding>` 标记；嵌入接口（`/v1/embeddings`、`llama-embedding`）会自动把该标记追加到输入末尾。请不要覆盖这两个键，也不要自己在输入里再拼 `<embedding>`。
- **关于 `special_eos_id is not in special_eog_ids` 提示**：未打补丁的 llama.cpp 构建在加载时会打印这条信息。它是无害的——llama.cpp 会把 `<embedding>` 自行补进 EOG 集合——转换补丁（`patches/llama.cpp/`）已修掉该问题，需重新编译 llama.cpp 后生效。
- **不要用生成类工具跑本模型**：由于 `add_eos_token` 被置位，`llama-completion` / `llama-perplexity` / `llama-imatrix` 会以 `GGML_ASSERT(!llama_vocab_get_add_eos(vocab))` 中止（`llama-cli` 与 `llama-server` 正常）。嵌入请用 `llama-server --embeddings`。
- 修正 `CONVERSION.md` 中把 `qwen35.pooling_type=3` 写成 mean pooling 的一处描述；正确语义是 last-token pooling（`--pooling last`）。
