Feature Extraction
ONNX
sentence-transformers
Chinese
onnxruntime
bert
text-embedding
chinese
pizza-engine
infinilabs
text-embeddings-inference
Instructions to use infinilabs/pizza-embed-zh-small-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use infinilabs/pizza-embed-zh-small-v1 with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("infinilabs/pizza-embed-zh-small-v1") sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Notebooks
- Google Colab
- Kaggle
pizza-embed-zh-small-v1
A high-quality Chinese text embedding model optimized for ONNX Runtime inference. Part of the Pizza Engine model family by Infinilabs.
Model Details
| 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 |
Files
onnx/model.onnx # ONNX graph (~476 KB)
onnx/model.onnx.data # External weights (~91 MB)
tokenizer.json # HuggingFace tokenizer
tokenizer_config.json # Tokenizer configuration
Quick Start
Python (ONNX Runtime)
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)
Rust (Pizza Engine CLI)
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
Rust (ort + tokenizers)
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
Use Cases
- Semantic search for Chinese documents
- Text similarity and clustering
- RAG (Retrieval-Augmented Generation) pipelines
- Question-answer matching
Performance
Optimized for CPU inference via ONNX Runtime. Suitable for edge deployment and embedded search engines without GPU requirements.
Citation
@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}
}
License
MIT
- Downloads last month
- 64
Model tree for infinilabs/pizza-embed-zh-small-v1
Base model
BAAI/bge-small-zh-v1.5