Skip to page content
SAVRN
Search Plan a project

Open-weight model · Feature extraction

pplx-embed-v2-late-0.6b-ONNX

by Nicolas Embleton nicolasembleton/pplx-embed-v2-late-0.6b-ONNX

pplx-embed-v2-late-0.6b-ONNX is an open-weight model for feature extraction from Nicolas Embleton, released under MIT License. It has 262,144-token context. Its published files total 4.0 GB.

Exported to ONNX from perplexity-ai/pplx-embed-v2-late-0.6b (by Perplexity, MIT license). This is an unofficial conversion; all credit for the model goes to the original authors.

Parameters—
Context262,144
Weights4.0 GB
Licensemit
AccessOpen weights
Monthly Downloads—

Model Card

By Nicolas Embleton, published under mit, revision dfa071db3f31.

Exported to ONNX from perplexity-ai/pplx-embed-v2-late-0.6b (by Perplexity, MIT license). This is an unofficial conversion; all credit for the model goes to the original authors. The model is a late-interaction (multi-vector) retriever: it outputs one L2-normalized 128-d vector per token or merged image patch, and documents are scored against queries with MaxSim. - embedtokens: inputids -> inputsembeds - visionencoder: pixelvalues, gridthw (one image per call) -> image embeddings that replace the image tokens - textmodel: inputsembeds, attentionmask, positionids [3,B,T] -> tokenembeddings [B,T,128] Browser runtime: the fp32, fp16, q4 files loaded and ran with onnxruntime-web 1.30.0 (wasm…

Read Nicolas Embleton's full model card

Exported to ONNX from perplexity-ai/pplx-embed-v2-late-0.6b (by Perplexity, MIT license). This is an unofficial conversion; all credit for the model goes to the original authors.

The model is a late-interaction (multi-vector) retriever: it outputs one L2-normalized 128-d vector per token or merged image patch, and documents are scored against queries with MaxSim.

Files (onnx/)

  • embed_tokens: input_ids -> inputs_embeds
  • vision_encoder: pixel_values, grid_thw (one image per call) -> image embeddings that replace the image tokens
  • text_model: inputs_embeds, attention_mask, position_ids [3,B,T] -> token_embeddings [B,T,128]
precision suffix size (3 files)
fp32 (none) 2.38 GB
fp16 _fp16 1.19 GB
q4 _q4 0.38 GB

Not included: - q8: retrieval dropped more than 0.02 (Recall@1 -0.10, MRR -0.084).

Browser runtime: the fp32, fp16, q4 files loaded and ran with onnxruntime-web 1.30.0 (wasm backend), tested in Node.js. WebGPU was not tested.

Prompts

  • Query: [Q] {text}
  • Text document: [D] {text}
  • Image document: [D] <|vision_start|>{image}<|vision_end|> ({image} = the image token repeated once per merged patch)

Encode text and images in separate calls. For documents, drop tokens listed in pplx_onnx_config.json skiplist_token_ids; queries keep every token.

Usage (MaxSim)

from PIL import Image
from onnx_inference import PplxLateONNX, maxsim

m = PplxLateONNX(".", precision="fp32")  # fp32 | fp16 | q4
q = m.encode_query("a red bicycle")           # (n_query_tokens, 128)
d = m.encode_image(Image.open("photo.jpg"))   # (n_image_tokens, 128)
score = maxsim(q, d)  # sum over query tokens of the max dot product over document tokens

onnx_inference.py (in this repo) does the tokenization, image preprocessing, positions and MaxSim with numpy + onnxruntime.

Parity with the PyTorch model

Measured on CPU with onnxruntime against Sentence Transformers (PyTorch, CPU) on 4 queries and 4 photos: per-token cosine between ONNX and PyTorch vectors.

precision query cos mean / min image cos mean / min MaxSim top-1 agreement
fp32 1.0000 / 1.0000 1.0000 / 1.0000 4/4
fp16 * 1.0000 / 1.0000 1.0000 / 0.9999 4/4
q4 0.9979 / 0.9964 0.9974 / 0.9422 4/4

* fp16 was compared with the fp32 ONNX files on the same 4 queries and 4 photos (the fp32 files match PyTorch at cosine 1.0000 above).

Retrieval check

Tested by encoding 1,000 Flickr8k images and 100 of their captions (each caption's own image is the target) and comparing MaxSim retrieval with the PyTorch model. ONNX ran with onnxruntime on CPU. The PyTorch reference is Sentence Transformers MultiVectorEncoder with bf16 compute on a GPU, on the same images and queries.

precision images Recall@1 Recall@5 Recall@10 MRR PyTorch Recall@1 / MRR (same images) pass
fp32 1000 0.74 0.91 0.97 0.821 0.72 / 0.809 yes
fp16 1000 0.75 0.91 0.97 0.824 0.72 / 0.809 yes
q8 1000 0.62 0.85 0.90 0.725 0.72 / 0.809 no
q4 1000 0.76 0.92 0.96 0.825 0.72 / 0.809 yes

Pass rule: Recall@1 and MRR no more than 0.02 below PyTorch on the same images; fp32 and fp16 also need a per-token cosine of at least 0.99 in the parity check. With 100 queries, differences of a few points in either direction are within noise.

Notes

  • The Qwen3.5 linear-attention layers were rewritten with standard ops so they could be exported (scan mode: scan). Only full-sequence encoding is supported, which is all an embedding model needs.
  • fp16: weights are fp16; inputs and outputs stay fp32. The norms, rotary embeddings and the linear-attention recurrence run in fp32, because squaring hidden values in fp16 overflows.
  • transformers.js has no class for this architecture; use onnxruntime directly.
  • Export script: export_scripts/. Full numbers: export_report.json, functional_report.json.

License

MIT, same as perplexity-ai/pplx-embed-v2-late-0.6b.

Configuration

Architecture
Qwen3_5Model
Context length (tokens)
262,144
Layers
12
Hidden size
1,024
Feed-forward size
3,584
Attention heads
8
Key/value heads
2
Head dimension
256
Vocabulary size
248,320
Model type
qwen3_5

Identity and Version

Repository
nicolasembleton/pplx-embed-v2-late-0.6b-ONNX
Publisher
Nicolas Embleton
Task
Feature extraction
Modality
Text
Library
onnx
Parameters
Not stated by the source
Languages
Not stated by the source
Revision
dfa071db3f31c6650ae6786c2acd833ea12ac425
First published
2026-10-08
Last updated
2026-10-08

Files and Weights

28 files, 4.0 GB in total. The weights are 10 files totalling 4.0 GB in onnx, safetensors.

Weights10 files · 4.0 GB
Configuration13 files · 141.0 KB
Tokenizer2 files · 20.0 MB
Documentation1 file · 4.4 KB
Other1 file · 479 B
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
1_Dense/model.safetensorsWeights524.4 KB ea18dae8901d
onnx/embed_tokens.onnxWeights1.0 GB f909ceca34b2
onnx/embed_tokens_fp16.onnxWeights508.6 MB d79f2514aaff
onnx/embed_tokens_q4.onnxWeights158.9 MB bfc1d8076748
onnx/text_model.onnxWeights960.0 MB 87c553e11f11
onnx/text_model_fp16.onnxWeights482.9 MB 6d4e2f228ed6
onnx/text_model_q4.onnxWeights152.0 MB 2ceea34bc9cd
onnx/vision_encoder.onnxWeights402.5 MB fb26ba299acb
onnx/vision_encoder_fp16.onnxWeights201.4 MB 71e67455bf50
onnx/vision_encoder_q4.onnxWeights69.4 MB bb2f342a3132
1_Dense/config.jsonConfiguration238 B —
2_MultiVectorMask/config.jsonConfiguration391 B —
3_Normalize/config.jsonConfiguration89 B —
config.jsonConfiguration2.3 KB —
config_sentence_transformers.jsonConfiguration264 B —
export_report.jsonConfiguration41.8 KB —
export_scripts/modal_export.pyConfiguration79.3 KB —
functional_report.jsonConfiguration7.9 KB —
modules.jsonConfiguration535 B —
onnx_inference.pyConfiguration5.1 KB —
pplx_onnx_config.jsonConfiguration1.1 KB —
processor_config.jsonConfiguration1.4 KB —
sentence_bert_config.jsonConfiguration664 B —
README.mdDocumentation4.4 KB —
chat_template.jinjaOther479 B —
.gitattributesRepository1.6 KB —
tokenizer.jsonTokenizer20.0 MB a171436d73b1
tokenizer_config.jsonTokenizer1.2 KB —

License and Download

License
mit
Access
Open weights, no gate
Download size
4.0 GB
Download from Nicolas Embleton

Released by Nicolas Embleton through its official repository on Hugging Face. Read the license.

Built From

  • Derived from perplexity-ai/pplx-embed-v2-late-0.6b
  • Quantized from perplexity-ai/pplx-embed-v2-late-0.6b

Memory Requirements

PrecisionWeights in memory
As published4.0 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About pplx-embed-v2-late-0.6b-ONNX

Can I use pplx-embed-v2-late-0.6b-ONNX commercially?

Yes. pplx-embed-v2-late-0.6b-ONNX is released under MIT License. The MIT License is a short permissive license. It permits commercial use, modification and redistribution, provided the copyright notice and permission notice are included.

What is pplx-embed-v2-late-0.6b-ONNX's context length?

262,144 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Model · Feature extraction

all-MiniLM-L6-v2

Joshua

https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2 with ONNX weights to be compatible with Transformers.js. If you haven't already, you can install the Transformers.js JavaScript library from NPM using: You can then use the model to compute embeddings like this: You can convert this Tensor to a nested JavaScript array using.tolist(): Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).

Open weights apache-2.0 512 tokens transformers.js

Model · Feature extraction

bge-base-en-v1.5

Joshua

https://huggingface.co/BAAI/bge-base-en-v1.5 with ONNX weights to be compatible with Transformers.js. If you haven't already, you can install the Transformers.js JavaScript library from NPM using: You can then use the model to compute embeddings, as follows: You can also use the model for retrieval. For example: Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).

Open weights mit 512 tokens transformers.js

For more details please refer to our Github: FlagEmbedding. If you are looking for a model that supports more languages, longer texts, and other retrieval methods, you can try using bge-m3. FlagEmbedding focuses on retrieval-augmented LLMs, consisting of the following projects currently: - 1/30/2024: Release BGE-M3, a new member to BGE model series! M3 stands for Multi-linguality (100+ languages), Multi-granularities (input length up to 8192), Multi-Functionality (unification of dense, lexical, multi-vec/colbert retrieval). It is the first embedding model which supports all three retrieval methods, achieving new SOTA on multi-lingual (MIRACL) and cross-lingual (MKQA) benchmarks. Technical…

Open weights mit 512 tokens sentence-transformers

Model · Feature extraction

wavlm-large

Microsoft

The large model pretrained on 16kHz sampled speech audio. When using the model, make sure that your speech input is also sampled at 16kHz. Note: This model does not have a tokenizer as it was pretrained on audio alone. In order to use this model speech recognition, a tokenizer should be created and the model should be fine-tuned on labeled text data. Check out this blog for more in-detail explanation of how to fine-tune the model. - 60,000 hours of Libri-Light - 10,000 hours of GigaSpeech - 24,000 hours of VoxPopuli Authors: Sanyuan Chen, Chengyi Wang, Zhengyang Chen, Yu Wu, Shujie Liu, Zhuo Chen, Jinyu Li, Naoyuki Kanda, Takuya Yoshioka, Xiong Xiao, Jian Wu, Long Zhou, Shuo Ren, Yanmin…

Open weights transformers

Model · Feature extraction

clap-htsat-unfused

LAION eV

The abstract of the paper states that: You can use this model for zero shot audio classification or extracting audio and/or textual features. You can also get the audio and text embeddings using ClapModel If you are using this model for your work, please consider citing the original paper

Open weights apache-2.0 514 tokens transformers