在 Hugging Face 使用 Sentence Transformers
sentence-transformers
是一个库,提供简便方法来计算句子、段落和图像的嵌入(密集向量表示)。文本嵌入在向量空间中,使得相似的文本彼此靠近,从而实现语义搜索、聚类和检索等应用。
在 Hub 中探索 sentence-transformers
您可以在 模型页面 左侧筛选,找到超过 500 个 sentence-transformer
模型。这些模型中的大多数支持不同的任务,例如执行 特征提取
以生成嵌入,以及 句子相似度
作为确定给定句子与其他句子的相似程度的方法。您还可以在 官方文档 中找到官方预训练模型的概述。
Hub 上的所有模型都附带以下功能
- 自动生成的模型卡片,包含描述、示例代码片段、架构概述等内容。
- 元数据标签,有助于可发现性,并包含许可证等信息。
- 交互式小部件,您可以在浏览器中直接使用它来玩模型。
- 推理 API,允许您进行推理请求。
使用现有模型
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))
如果您想了解如何加载特定模型,可以点击“在 sentence-transformers 中使用”,您将获得一个可以加载它的工作代码片段!
分享您的模型
您可以使用训练后的模型的save_to_hub
方法分享您的 Sentence Transformers。
from sentence_transformers import SentenceTransformer
# Load or train a model
model.save_to_hub("my_new_model")
此命令会创建一个包含自动生成的模型卡片、推理小部件、示例代码片段等内容的仓库!这里是一个示例。