|
Download README.md from iwaitu/qwen3-embedding-0.6b-onnx: direct link, hf CLI and curl.
- Browser
- Download file 1.5 kB
-
https://huggingface.co/iwaitu/qwen3-embedding-0.6b-onnx/resolve/main/README.md
- Command line
-
hf download hf://iwaitu/qwen3-embedding-0.6b-onnx/README.md
-
curl -L -o README.md https://huggingface.co/iwaitu/qwen3-embedding-0.6b-onnx/resolve/main/README.md
1.5 kB
metadata
license: mit
base_model:
- Qwen/Qwen3-Embedding-0.6B
interface sample:
import numpy as np
import onnxruntime as ort
from transformers import AutoTokenizer
class QwenEmbeddingONNX:
def __init__(self, model_dir, model_path, max_length=512, providers=None):
self.max_length = max_length
self.tokenizer = AutoTokenizer.from_pretrained(model_dir)
if providers is None:
providers = ['CPUExecutionProvider']
self.session = ort.InferenceSession(
model_path,
providers=providers
)
self.input_names = [i.name for i in self.session.get_inputs()]
def encode(self, texts, normalize=True):
if isinstance(texts, str):
texts = [texts]
inputs = self.tokenizer(
texts,
padding=True,
truncation=True,
max_length=self.max_length,
return_tensors="np",
)
input_feed = {
k: inputs[k].astype(np.int64)
for k in self.input_names
if k in inputs
}
outputs = self.session.run(None, input_feed)
embeddings = outputs[0]
# 如果输出是 [B, L, H],取第一个 token
if embeddings.ndim == 3:
embeddings = embeddings[:, 0, :]
# L2 normalize
if normalize:
norm = np.linalg.norm(embeddings, axis=1, keepdims=True)
embeddings = embeddings / (norm + 1e-9)
return embeddings