pplx-embed-v2-context-0.6b on MLX
Run Perplexity's pplx-embed-v2-context-0.6b on Apple silicon with pplx-context-mlx.
| Weights | float16, 1.1 GB (2.2 GB upstream); the contextual projection stays float32 |
| Output | Bit-identical to Perplexity's checkpoint loaded at float16, on long, padded, query, and image inputs |
| License | MIT; see License |
Quick start
pip install pplx-context-mlx
from pplx_context_mlx import load_model
engine = load_model("zainmerchan/pplx-embed-v2-context-0.6b-mlx", dtype="float16")
chunks = engine.encode(
[["First chunk of a document.", "Second chunk, which sees the first."]],
normalize_embeddings=True,
)
query = engine.encode_queries([["What does the second chunk see?"]], normalize_embeddings=True)
scores = chunks[0] @ query[0][0]
Use dtype="float16" with this repository. For float32, call load_model() with no arguments, which downloads Perplexity's original weights.
Keep context windows small. Send one page or section per document, up to about 2,048 tokens. Past a few thousand tokens, retrieval gets worse: on ViDoRe-V3, nDCG@10 fell from 66.7 with one page per pass to 56.6 at 8,192 tokens and 53.3 at 32,768.
Results
Measured on an M4 Pro with 64 GB, against upstream PyTorch on CPU.
| Question | Answer |
|---|---|
| Same vectors as upstream? | Within 1 int8 step; lowest cosine 0.999998 at float32, 0.99978 at float16 |
| Same retrieval scores as the paper? | ViDoRe-V3 55.82 against 55.81; ConTEB within 0.22 on six of eight tasks |
| How fast? | One query in 7.4 ms; a 7,137-token document in 1.19 s (float16), 3 to 12 times upstream CPU |
| How much memory? | 2.1 GB (float16) or 3.1 GB (float32) on the speed suite; 7.8 GB at 113,281 tokens (float16) |
ESG (53.5 against the paper's 67.3) and Insurance (88.9 against 88.0) are the two ConTEB gaps, and upstream's own model scores the same on both under this harness. Vector accuracy is verified up to 13,871 tokens. Not tested: a 16 GB Mac, the 9B model, or a GPU comparison. The repository README has the full tables and the report behind each figure.
License
MIT, for the code and these weights.
| Source | Perplexity's weights, converted from perplexity-ai/pplx-embed-v2-context-0.6b at revision 6d1fddab |
| Upstream tag | None on the 0.6B context card as of 2026-11-06; Perplexity's 9B context and late-0.6B cards declare MIT |