Views
No views yet
mixedbread-ai/mxbai-edge-colbert-v0-17m produced with PyLate + a ColBERT-aware wrapper. It preserves the projection stack and ColBERT markers ([Q] / [D] ) and includes a skiplist for MaxSim.onnx/model.onnx — FP32 export, opset 17 (✅ cosine 1.0 vs PyTorch)onnx/model_quantized.onnx — Dynamic INT8 (⚠️ cosine ~0.972 vs PyTorch; quality hit)tokenizer.json, tokenizer_config.json, special_tokens_map.json — saved from the PyLate-modified tokenizer with markersconfig.json — model configconversion_metadata.json — minimal export metadataskiplist.json — token IDs to skip during MaxSim (32 punctuation IDs for this model)[Q] : 50368[D] : 503691import numpy as np, onnxruntime as ort
2from transformers import AutoTokenizer
3
4model_dir = "path/to/this/repo"
5sess = ort.InferenceSession(f"{model_dir}/onnx/model.onnx", providers=["CPUExecutionProvider"])
6tok = AutoTokenizer.from_pretrained(model_dir)
7
8q = "[Q] what is colbert?"
9enc = tok(q, return_tensors="np", padding="max_length", max_length=128, truncation=True)
10out = sess.run(None, {"input_ids": enc["input_ids"], "attention_mask": enc["attention_mask"]})[0]
11print(out.shape) # (batch, seq_len, 48)1import { AutoTokenizer } from "@huggingface/transformers";
2import * as ort from "onnxruntime-node";
3import fs from "fs";
4
5const modelDir = "path/to/this/repo";
6const tokenizer = await AutoTokenizer.from_pretrained(modelDir);
7const session = await ort.InferenceSession.create(`${modelDir}/onnx/model.onnx`);
8
9const q = "[Q] what is colbert?";
10const encoded = await tokenizer(q, { return_tensors: "np", padding: "max_length", max_length: 128, truncation: true });
11const outputs = await session.run({ input_ids: encoded.input_ids, attention_mask: encoded.attention_mask });
12console.log(outputs[session.outputNames[0]].dims); // [1, 128, 48]
13
14const skiplist = new Set(JSON.parse(fs.readFileSync(`${modelDir}/skiplist.json`, "utf8")));conversion_metadata.json for details)