跳到主要内容

在 Hugging Face 使用 Sentence Transformers

sentence-transformers 是一个库,提供简单的方法来计算句子、段落和图像的嵌入(密集向量表示)。文本被嵌入到向量空间中,使得相似文本接近,这支持语义搜索、聚类和检索等应用。

在 Hub 上探索 sentence-transformers

你可以通过在模型页面左侧筛选来找到 500+ 个 sentence-transformer 模型。这些模型中的大多数支持不同的任务,例如进行特征提取以生成嵌入,以及句子相似度作为确定给定句子与其他句子相似程度的方法。你还可以在官方文档中找到官方预训练模型的概述。

Hub 上的所有模型都配备了功能:

  1. 自动生成的模型卡片,包含描述、示例代码片段、架构概述等。
  2. 有助于可发现性的元数据标签,包含许可证等信息。
  3. 一个交互式小部件,你可以直接在浏览器中使用模型。
  4. 允许进行推理请求的推理 API。
在 Sentence Transformers 中使用模型在 Sentence Transformers 中使用模型

使用现有模型

Hub 上的预训练模型可以用一行代码加载

from sentence_transformers import SentenceTransformer
model = SentenceTransformer('model_name')

以下是一个示例,它编码句子,然后计算它们之间的距离以进行语义搜索。

from sentence_transformers import SentenceTransformer, util
model = SentenceTransformer('multi-qa-MiniLM-L6-cos-v1')

query_embedding = model.encode('How big is London')
passage_embedding = model.encode(['London has 9,787,426 inhabitants at the 2011 census',
'London is known for its finacial district'])

print("Similarity:", util.dot_score(query_embedding, passage_embedding))

如果你想查看如何加载特定模型,可以点击 Use in sentence-transformers,你将获得一个可用的代码片段来加载它!

在 Sentence Transformers 中使用模型在 Sentence Transformers 中使用模型
在 Sentence Transformers 中使用模型在 Sentence Transformers 中使用模型

分享你的模型

你可以使用训练模型的 save_to_hub 方法分享你的 Sentence Transformers。

from sentence_transformers import SentenceTransformer

# Load or train a model
model.save_to_hub("my_new_model")

此命令创建一个仓库,包含自动生成的模型卡片、推理小部件、示例代码片段等!这里是一个示例。

其他资源

  • Sentence Transformers
  • Sentence Transformers 文档
  • 与 Hub 的集成公告