Downloads · 30 days
7
4% of all-time downloads
infinilabs/pizza-embed-zh-small-v1
pizza-embed-zh-small-v1 is a feature extraction model from infinilabs. Use it when you need embeddings to search or compare text. It is set up for onnxruntime. The card lists the license as mit.
A high-quality Chinese text embedding model optimized for ONNX Runtime inference. Part of the Pizza Engine model family by Infinilabs.
Downloads · 30 days
7
4% of all-time downloads
All-time downloads
159
Public
Repo size
119 MB
Likes
1
Public
Click a slice to open those files.
.data94.8 MB · 44%
From the Hugging Face model README
A high-quality Chinese text embedding model optimized for ONNX Runtime inference. Part of the Pizza Engine model family by Infinilabs.
| Property | Value |
|---|---|
| Dimensions | 512 |
| Max Sequence Length | 512 tokens |
| Similarity | Cosine |
| Format | ONNX (opset 18) |
| Size | ~91 MB |
| Language | Chinese (zh) |
| Base Model | BAAI/bge-small-zh-v1.5 |
onnx/model.onnx # ONNX graph (~476 KB)
onnx/model.onnx.data # External weights (~91 MB)
tokenizer.json # HuggingFace tokenizer
tokenizer_config.json # Tokenizer configuration
import onnxruntime as ort
from tokenizers import Tokenizer
import numpy as np
tokenizer = Tokenizer.from_file("tokenizer.json")
session = ort.InferenceSession("onnx/model.onnx")
# Tokenize
encoding = tokenizer.encode("搜索引擎技术")
input_ids = np.array([encoding.ids], dtype=np.int64)
attention_mask = np.array([encoding.attention_mask], dtype=np.int64)
token_type_ids = np.zeros_like(input_ids)
# Inference
outputs = session.run(None, {
"input_ids": input_ids,
"attention_mask": attention_mask,
"token_type_ids": token_type_ids,
})
# Mean pooling + L2 normalize
hidden = outputs[0] # [batch, seq, 512]
mask_expanded = attention_mask[:, :, None].astype(np.float32)
pooled = (hidden * mask_expanded).sum(axis=1) / mask_expanded.sum(axis=1)
embedding = pooled / np.linalg.norm(pooled, axis=-1, keepdims=True)
print(embedding.shape) # (1, 512)
use pizza_cli::LocalEmbeddingClient;
let mut client = LocalEmbeddingClient::new("infinilabs/pizza-embed-zh-small-v1", 32)?;
let embeddings = client.embed(&["搜索引擎技术", "全文检索"])?;
// embeddings: Vec<Vec<f32>>, each 512-dim, L2-normalized
use ort::session::Session;
use tokenizers::Tokenizer;
let session = Session::builder()?.commit_from_file("onnx/model.onnx")?;
let tokenizer = Tokenizer::from_file("tokenizer.json")?;
let encoding = tokenizer.encode("搜索引擎技术", true)?;
// ... run session, mean-pool, L2-normalize
Optimized for CPU inference via ONNX Runtime. Suitable for edge deployment and embedded search engines without GPU requirements.
@misc{pizza-embed-zh-small-v1,
title={pizza-embed-zh-small-v1: Chinese Text Embedding for Pizza Engine},
author={Infinilabs},
year={2026},
url={https://huggingface.co/infinilabs/pizza-embed-zh-small-v1}
}
MIT