用法
Sentence Transformer (又名双编码器) 模型的特点
给定**文本或图像**,计算一个**固定大小的向量表示(嵌入)**。
嵌入计算通常是**高效的**,嵌入相似度计算**非常快**。
适用于**广泛的任务**,如语义文本相似度、语义搜索、聚类、分类、释义挖掘等。
通常用作**两步检索过程的第一步**,其中 Cross-Encoder (又名重排序器) 模型用于对双编码器得出的前 k 个结果进行重排序。
一旦您安装了 Sentence Transformers,您就可以轻松使用 Sentence Transformer 模型
from sentence_transformers import SentenceTransformer
# 1. Load a pretrained Sentence Transformer model
model = SentenceTransformer("all-MiniLM-L6-v2")
# The sentences to encode
sentences = [
"The weather is lovely today.",
"It's so sunny outside!",
"He drove to the stadium.",
]
# 2. Calculate embeddings by calling model.encode()
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# 3. Calculate the embedding similarities
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.6660, 0.1046],
# [0.6660, 1.0000, 0.1411],
# [0.1046, 0.1411, 1.0000]])