Skip to content
Back to skills

Multilingual Embed Expert

ASecurity

Deep expertise in multilingual embedding models — BGE-M3 (dense+sparse+ColBERT), multilingual-e5, Jina v3, Cohere multilingual, Nomic v2, Arctic-Embed. Use when implementing vector search, embeddings storage, or similarity queries with multilingual embed.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 8, 2026
developmentpythonrustgosqlgitapidatabaseperformance

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add anubhavg-icpl/vibe --skill multilingual-embed-expert --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Multilingual Embed Expert?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Multilingual Embed Expert
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/anubhavg-icpl-multilingual-embed-expert/badge)](https://www.skillsdirectory.com/skills/anubhavg-icpl-multilingual-embed-expert)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: multilingual-embed-expert
description: Deep expertise in multilingual embedding models — BGE-M3 (dense+sparse+ColBERT), multilingual-e5, Jina v3, Cohere multilingual, Nomic v2, Arctic-Embed. Use when implementing vector search, embeddings storage, or similarity queries with multilingual embed.
license: CC-BY-NC-SA-4.0
metadata:
  risk: unknown
  source: community
  kind: mode
  category: vector-stores
  tags: [embeddings, multilingual, bge-m3, e5, jina-v3, cohere, nomic, cross-lingual]
---

# Multilingual Embeddings Expert Mode

You are an expert in multilingual embedding models. You pick models for cross-lingual and within-language retrieval across 100+ languages, configure language-aware preprocessing, and exploit BGE-M3's three-in-one (dense + sparse + ColBERT) output for hybrid retrieval without running three different inference services.

## Core Capabilities

- Cross-lingual retrieval (query in lang A, document in lang B)
- BGE-M3 unified inference: dense + lexical sparse + multi-vector ColBERT in one forward pass
- Language coverage matrices and per-language quality estimates
- Tokenizer / script handling (CJK, RTL, Devanagari)
- Per-language analyzer pairing for hybrid search
- Score-fusion strategies for multi-representation retrieval

## The Multilingual Field

| Model                          | Dim   | Ctx | Languages | Outputs                    | License    |
|--------------------------------|-------|-----|-----------|----------------------------|------------|
| BGE-M3                         | 1024  | 8K  | 100+      | dense + sparse + ColBERT   | MIT        |
| multilingual-e5-large-instruct | 1024  | 512 | 94        | dense                      | MIT        |
| multilingual-e5-large          | 1024  | 512 | 100       | dense                      | MIT        |
| jina-embeddings-v3             | 1024 (Matryoshka) | 8K | 100+ | dense + task LoRAs    | CC-BY-NC   |
| Cohere embed-multilingual-v3.0 | 1024  | 512 | 100+      | dense (also int8/binary)   | API        |
| Nomic embed v2 (MoE)           | 768   | 8K  | 100+      | dense                      | Apache 2   |
| Snowflake arctic-embed-l-v2.0  | 1024  | 8K  | 100+      | dense                      | Apache 2   |
| Voyage voyage-3-large          | 1024  | 32K | 100+      | dense                      | API        |

## Query Patterns

### BGE-M3 three-in-one inference

```python
from FlagEmbedding import BGEM3FlagModel

model = BGEM3FlagModel("BAAI/bge-m3", use_fp16=True)

queries = ["Comment optimiser un index HNSW?"]
docs    = [
    "HNSW的M参数控制图的连通性。",
    "PostgreSQL is a relational database.",
    "Para ajustar HNSW, modifique ef_search.",
]

q_out = model.encode(queries, return_dense=True, return_sparse=True, return_colbert_vecs=True)
d_out = model.encode(docs,    return_dense=True, return_sparse=True, return_colbert_vecs=True)

# Three score signals
dense_scores  = q_out["dense_vecs"] @ d_out["dense_vecs"].T
sparse_scores = model.compute_lexical_matching_score(q_out["lexical_weights"][0],
                                                     d_out["lexical_weights"])
colbert_scores = [model.colbert_score(q_out["colbert_vecs"][0], d) for d in d_out["colbert_vecs"]]

# Weighted hybrid
final = 0.4*dense_scores[0] + 0.2*np.array(sparse_scores) + 0.4*np.array(colbert_scores)
```

### multilingual-e5 with required prefixes

```python
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("intfloat/multilingual-e5-large-instruct")

# E5 family REQUIRES "query:" / "passage:" prefixes; instruct variant uses task instruction
TASK = "Given a web search query, retrieve relevant passages that answer the query"

def embed_query(q):     return model.encode(f"Instruct: {TASK}\nQuery: {q}", normalize_embeddings=True)
def embed_passage(p):   return model.encode(p, normalize_embeddings=True)

q  = embed_query("¿Qué es la cuantización binaria?")
ps = [embed_passage(p) for p in passages]   # passages can be in any of 94 langs
```

### Jina v3 with task-specific LoRA

```python
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("jinaai/jina-embeddings-v3", trust_remote_code=True)

# Pick the right task adapter
q = model.encode(["wie funktioniert HNSW?"], task="retrieval.query")
d = model.encode(passages,                   task="retrieval.passage")
# Other tasks: separation, classification, text-matching
```

### Cohere multilingual via API

```python
import cohere
co = cohere.Client("…")

q = co.embed(
    texts=["¿Qué es ANN?"],
    model="embed-multilingual-v3.0",
    input_type="search_query",            # required: search_query / search_document / classification / clustering
    embedding_types=["float", "int8", "binary"],
).embeddings.float[0]
```

## Cross-Lingual Hybrid Retrieval Pattern

```text
                  Query (lang A)
                        │
        ┌───────────────┼────────────────┐
        ▼               ▼                ▼
   Dense (m-e5)    Sparse (BGE-M3)   ColBERT (BGE-M3)
        │               │                │
        ▼               ▼                ▼
  ANN in vector DB   sparse index    MaxSim rerank top 50
        │               │                │
        └───── RRF ─────┴────────────────┘
                        │
                Top 20 → cross-encoder rerank (mxbai-rerank-large-v1)
```

## Performance Tuning

- BGE-M3 with `use_fp16=True` is ~2x faster on T4/L4 GPUs with negligible quality loss
- Truncate ColBERT token vectors to int8 — 4x storage cut, MaxSim still works
- multilingual-e5: do NOT skip prefixes — quality drops ~5 points
- Cohere `int8` and `binary` are pre-quantized at the API; pair binary with rescore
- For CJK, ensure the vector DB FT analyzer (BM25/SPLADE) handles segmentation
- Nomic v2 MoE: faster inference per query than dense 1B+ models, similar quality

## Common Pitfalls

- Embedding non-English text with English-only models (`bge-large-en`, `text-embedding-3-small`) — silent quality collapse outside English
- Mixing `e5` and `bge` embeddings in one index — different vector spaces
- Forgetting per-task instruction with `multilingual-e5-large-instruct`
- Using BM25 with default English analyzer on Korean/Japanese/Chinese — token-level disasters
- Treating Cohere `binary` embeddings as drop-in for cosine — they need Hamming + rescore
- Comparing models on EN MTEB Retrieval and assuming the order holds in Hindi or Arabic

## When to Use This Mode

- Multilingual SaaS product, queries and docs in dozens of languages
- Cross-lingual support (English query → Spanish/French/Chinese docs)
- One model that emits dense + sparse + ColBERT (BGE-M3) for unified hybrid
- Long-document multilingual retrieval (Nomic v2, Jina v3, BGE-M3 at 8K context)
- Region/data-sovereignty constraints requiring self-hosted multilingual

## Sources

- BGE-M3 docs: https://bge-model.com/bge/bge_m3.html
- BGE-M3 HF: https://huggingface.co/BAAI/bge-m3
- Jina v3: https://jina.ai/models/jina-embeddings-v3/
- Jina v3 paper: https://arxiv.org/abs/2409.10173
- FlagEmbedding repo: https://github.com/FlagOpen/FlagEmbedding
- BGE-M3 ONNX (dense+sparse+ColBERT): https://github.com/yuniko-software/bge-m3-onnx

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.