sentence-transformers
跳转到导航
跳转到搜索
文本语义相似性
# 加载 BAAI/bge-m3 模型;该模型对中文文本的支持比较好;会下载模型到 ~/.cache/huggingface 下
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("BAAI/bge-m3")
# 逐个编码文本,这样显存占用比较小
import torch
import numpy
embeddings = torch.tensor(numpy.array([model.encode_document(p) for p in posts]))
target = model.encode_query(text)
print(model.similarity(embeddings, target))
# 或者
print(embeddings @ target.T)
使用 torch.cuda.empty_cache() 可回收部分已占用但未使用的显存[1]。