text2vec-onnx
本项目是 text2vec 项目的 onnxruntime 推理版本,实现了向量获取和文本匹配搜索。为了保证项目的轻量,只使用了 onnxruntime 、 tokenizers 和 numpy 三个库。
主要在 GanymedeNil/text2vec-base-chinese-onnx 模型上进行测试,理论上支持 BERT 系列模型。
安装
CPU 版本
pip install text2vec2onnx[cpu]
GPU 版本
pip install text2vec2onnx[gpu]
使用
模型下载
以下载 GanymedeNil/text2vec-base-chinese-onnx 为例,下载模型到本地。
- huggingface 模型下载
huggingface-cli download --resume-download GanymedeNil/text2vec-base-chinese-onnx --local-dir text2vec-base-chinese-onnx
向量获取
from text2vec2onnx import SentenceModel
embedder = SentenceModel(model_dir_path='local-dir')
emb = embedder.encode("你好")
文本匹配搜索
from text2vec2onnx import SentenceModel, semantic_search
embedder = SentenceModel(model_dir_path='local-dir')
corpus = [
"谢谢观看 下集再见",
"感谢您的观看",
"请勿模仿",
"记得订阅我们的频道哦",
"The following are sentences in English.",
"Thank you. Bye-bye.",
"It's true",
"I don't know.",
"Thank you for watching!",
]
corpus_embeddings = embedder.encode(corpus)
queries = [
'Thank you. Bye.',
'你干啥呢',
'感谢您的收听']
for query in queries:
query_embedding = embedder.encode(query)
hits = semantic_search(query_embedding, corpus_embeddings, top_k=1)
print("\n\n======================\n\n")
print("Query:", query)
print("\nTop 5 most similar sentences in corpus:")
hits = hits[0] # Get the hits for the first query
for hit in hits:
print(corpus[hit['corpus_id']], "(Score: {:.4f})".format(hit['score']))
License
References
Buy me a coffee
Metadata
Release files for text2vec2onnx 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| text2vec2onnx-1.0.0.tar.gz | 14.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| text2vec2onnx-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.6 kB
Release files / text2vec2onnx-1.0.0.tar.gz
| Download URL | text2vec2onnx-1.0.0.tar.gz |
|---|---|
| Size | 14.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
15e89e7f1c3063f426a3dd41b3983afc454d1b1cc3c8c91f814d06264310f154
|
|
BLAKE2b-256 checksum How to use checksums |
e6509ba0672e0cc83c1fe898de7bac364b3a3642dd27a0f10006723874e9493f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|
Release files / text2vec2onnx-1.0.0-py3-none-any.whl
| Download URL | text2vec2onnx-1.0.0-py3-none-any.whl |
|---|---|
| Size | 11.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5f30c3ee3008f63f79d3cd99bab245a3cfe9754256e2c20477c3a664ea3cdaba
|
|
BLAKE2b-256 checksum How to use checksums |
3c3a9273608af39a1d0caeb36929db92c1082b63919df534547f17fc98e1e455
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|