sentence-transformers

来自百合仙子's Wiki
跳转到导航 跳转到搜索

文本语义相似性

# 加载 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]

另见

外部链接

参考资料