Hub documentation

Использование Sentence Transformers на Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Использование Sentence Transformers на Hugging Face

sentence-transformers — это библиотека, предоставляющая простые методы для вычисления эмбеддингов (плотных векторных представлений) для предложений, абзацев и изображений. Тексты размещаются в векторном пространстве так, что похожие тексты оказываются близкими друг к другу, что позволяет реализовывать такие приложения, как семантический поиск, кластеризация и извлечение информации.

Исследование sentence-transformers в Hub

Вы можете найти более 500 моделей sentence-transformer, отфильтровав их на странице моделей. Большинство из этих моделей поддерживают различные задачи, например, feature-extraction для генерации эмбеддингов и sentence-similarity для определения степени сходства данного предложения с другими. Обзор официальных предобученных моделей можно найти в официальной документации.

Все модели на Hub поставляются с набором функций:

  1. Автоматически сгенерированная карточка модели с описанием, примерами кода, обзором архитектуры и другими сведениями.
  2. Метаданные, которые помогают в поиске и содержат информацию, например, о лицензии.
  3. Интерактивный виджет, с помощью которого можно взаимодействовать с моделью непосредственно в браузере.
  4. Виджет Inference Providers, позволяющий отправлять запросы на инференс.

Использование существующих моделей

Предобученные модели на 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 financial district'])

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

Если вы хотите узнать, как загрузить конкретную модель, нажмите Use in sentence-transformers — вам будет предоставлен рабочий фрагмент кода для её загрузки!

Обмен моделями

Вы можете поделиться своими Sentence Transformers, используя метод save_to_hub обученной модели.

from sentence_transformers import SentenceTransformer

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

Эта команда создаёт репозиторий с автоматически сгенерированной карточкой модели, виджетом инференса, примерами кода и многим другим! Здесь приведён пример.

Дополнительные ресурсы

Update on GitHub