🚀 bge-m3-onnx-o4
bge-m3-onnx-o4
是原始模型 BAAI/bge-m3
的权重。这个模型为何如此出色呢?
- [x] 多功能性:它能够同时实现嵌入模型常见的三种检索功能,即密集检索、多向量检索和稀疏检索。
- [x] 多语言支持:它支持超过 100 种工作语言。
- [x] 多粒度处理:它能够处理不同粒度的输入,从短句到长达 8192 个标记的长文档均可处理。
🚀 快速开始
✨ 主要特性
此模型具备多功能性、多语言支持和多粒度处理的特性,能够满足不同场景下的检索需求。
📦 安装指南
重要提示 - 下载模型权重
请参考以下说明。
- 下载 检查点:由于某些原因,你无法直接从这个在线版本加载模型(会抛出异常)。请按如下方式下载此仓库:
from huggingface_hub import snapshot_download
snapshot_download(repo_id="hooman650/bge-m3-onnx-o4",local_dir="bge-m3-onnx")
💻 使用示例
基础用法
密集检索
pip install --upgrade-strategy eager optimum[onnxruntime]
from optimum.onnxruntime import ORTModelForFeatureExtraction
from transformers import AutoTokenizer
import torch
model = ORTModelForFeatureExtraction.from_pretrained("bge-m3-onnx", provider="CUDAExecutionProvider")
tokenizer = AutoTokenizer.from_pretrained("hooman650/bge-m3-onnx-o4")
sentences = [
"English: The quick brown fox jumps over the lazy dog.",
"Spanish: El rápido zorro marrón salta sobre el perro perezoso.",
"French: Le renard brun rapide saute par-dessus le chien paresseux.",
"German: Der schnelle braune Fuchs springt über den faulen Hund.",
"Italian: La volpe marrone veloce salta sopra il cane pigro.",
"Japanese: 速い茶色の狐が怠惰な犬を飛び越える。",
"Chinese (Simplified): 快速的棕色狐狸跳过懒狗。",
"Russian: Быстрая коричневая лиса прыгает через ленивую собаку.",
"Arabic: الثعلب البني السريع يقفز فوق الكلب الكسول.",
"Hindi: तेज़ भूरी लोमड़ी आलसी कुत्ते के ऊपर कूद जाती है।"
]
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt').to("cuda")
out=model(**encoded_input,return_dict=True).last_hidden_state
dense_vecs = torch.nn.functional.normalize(out[:, 0], dim=-1)
高级用法
多向量检索(ColBERT)
即将推出...
📄 许可证
本项目采用 MIT 许可证。