这是一个 sentence-transformers 模型:它能将句子和段落映射到 512 维的稠密向量空间,可用于聚类或语义搜索等任务。
当您安装了 sentence-transformers 后,使用此模型会变得非常简单:
pip install -U sentence-transformers然后你可以这样使用该模型:
import argparse
import numpy as np
from openmind import is_torch_npu_available
from sentence_transformers import SentenceTransformer
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--model_name_or_path",
type=str,
help="Path to model",
default="ChongqingAscend/distiluse-base-multilingual-cased",
)
args = parser.parse_args()
return args
def main():
device = "npu" if is_torch_npu_available() else "cpu"
args = parse_args()
model_path = args.model_name_or_path
sentences = ["This is an example sentence", "Each sentence is converted"]
model = SentenceTransformer(model_path).to(device)
embeddings = model.encode(sentences)
print(embeddings)
if __name__ == "__main__":
main()
有关此模型的自动化评估,请参见“句子嵌入基准测试”:https://seb.sbert.net
SentenceTransformer(
(0): Transformer({'max_seq_length': 128, 'do_lower_case': False}) with Transformer model: DistilBertModel
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False})
(2): Dense({'in_features': 768, 'out_features': 512, 'bias': True, 'activation_function': 'torch.nn.modules.activation.Tanh'})
)此模型由sentence-transformers训练。
如果您觉得此模型有帮助,欢迎引用我们的论文Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks:
@inproceedings{reimers-2019-sentence-bert,
title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
author = "Reimers, Nils and Gurevych, Iryna",
booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
month = "11",
year = "2019",
publisher = "Association for Computational Linguistics",
url = "http://arxiv.org/abs/1908.10084",
}