Skip to main content

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

Appache License 2.0

References

Buy me a coffee

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)

Source distribution for text2vec2onnx 1.0.0
File Size Uploaded
text2vec2onnx-1.0.0.tar.gz 14.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for text2vec2onnx 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page