用法

句子转换器(又称双编码器)模型的特点:

  1. 计算给定**文本或图像**的**固定大小向量表示(嵌入)**。

  2. 嵌入计算通常是 高效的,嵌入相似度计算是 非常快的

  3. 适用于**广泛的任务**,如语义文本相似性、语义搜索、聚类、分类、释义挖掘等。

  4. 通常作为 两步检索过程的第一步 使用,其中使用交叉编码器(又名重新排序器)模型对来自双编码器的前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]])