ONNX Model Zoo

alanjoshua2005/text-embedding

By alanjoshua2005 · ↓ 0 · ♥ 0 · Updated 2026-03-16

What's in this repo

This page lists the files in alanjoshua2005/text-embedding, including biencoder_rope.onnx, biencoder_rope_int8.onnx.

  • 2 ONNX models (.onnx files)
  • 7 files, including 2 .onnx, 2 .json, 1 .md, 1 .pt
  • Last updated 2026-03-16

ONNX files

File Size Download
onnx/biencoder_rope.onnx — Download
onnx/biencoder_rope_int8.onnx — Download

How to use

These ONNX files can be loaded with ONNX Runtime. To inspect a model graph, upload the file to the Netron viewer. Download links point to the original files on Hugging Face.

README

import onnxruntime as ort
import numpy as np
from transformers import AutoTokenizer
from huggingface_hub import hf_hub_download

# ── Load ───────────────────────────────────────────────────────────────────
tokenizer    = AutoTokenizer.from_pretrained("alanjoshua2005/text-embedding", subfolder="tokenizer")
onnx_path    = hf_hub_download("alanjoshua2005/text-embedding", "onnx/biencoder_rope.onnx")
session      = ort.InferenceSession(onnx_path, providers=["CPUExecutionProvider"])

# ── Encode ─────────────────────────────────────────────────────────────────
def encode(texts):
    if isinstance(texts, str): texts = [texts]
    enc = tokenizer(texts, padding=True, truncation=True, max_length=256, return_tensors="np")
    return session.run(["embeddings"], {"input_ids": enc["input_ids"], "attention_mask": enc["attention_mask"]})[0]

# ── Test ───────────────────────────────────────────────────────────────────
emb = encode("Hello world!")
print(emb)   # (1, 256)

BiEncoder RoPE — Sentence Embedding Model

A 34M parameter sentence embedding model trained from scratch using PyTorch.

Architecture

  • 6-layer Transformer encoder with RoPE positional embeddings
  • Mean pooling + L2 normalization
  • 256-dim output vectors

Training (Curriculum)

Phase Dataset Loss
1 all-nli MNRLoss
2 squad MNRLoss
3 msmarco-bm25 HardNegativeLoss
4 natural-questions MNRLoss

Files

  • tokenizer/ — HuggingFace tokenizer (bert-base-uncased)
  • pytorch/checkpoint_phase4_nq.pt — PyTorch weights
  • onnx/biencoder_rope.onnx — ONNX FP32
  • onnx/biencoder_rope_int8.onnx — ONNX INT8 (recommended for CPU)

Performance

  • FP32 ONNX size : 134.3 MB
  • INT8 ONNX size : 34.6 MB
  • Throughput : ~247 sentences/sec on CPU

Model info

sentence-transformers
sentence-transformers onnx embeddings semantic-search retrieval en license:mit region:us
↓ 0 ♥ 0

Created: 2026-03-15

Updated: 2026-03-16

View on Hugging Face

Files (7)

.gitattributes
README.md
onnx/biencoder_rope.onnx ONNX
onnx/biencoder_rope_int8.onnx ONNX
pytorch/checkpoint_phase4_nq.pt
tokenizer/tokenizer.json
tokenizer/tokenizer_config.json

Related models