Hub documentation

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

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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

spaCy — популярная библиотека для продвинутой обработки естественного языка, широко используемая в индустрии. spaCy упрощает использование и обучение конвейеров для таких задач, как распознавание именованных сущностей, классификация текста, пометка частей речи и другие, а также позволяет создавать мощные приложения для обработки и анализа больших объёмов текста.

Исследование моделей spaCy в Hub

Официальные модели из spaCy 3.3 находятся на странице организации spaCy. Сообщество также может делиться своими моделями spaCy, которые можно найти, используя фильтр слева на странице моделей.

Все модели на Hub поставляются с полезными функциями

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

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

Все модели spaCy с Hub можно установить напрямую с помощью pip install.

pip install "en_core_web_sm @ https://huggingface.co/spacy/en_core_web_sm/resolve/main/en_core_web_sm-any-py3-none-any.whl"

Чтобы найти нужную ссылку, перейдите в репозиторий с моделью spaCy. Открыв репозиторий, нажмите Use in spaCy — вы получите готовый фрагмент кода, который можно использовать для установки и загрузки модели!

После установки вы можете загрузить модель как любой конвейер spaCy.

# Using spacy.load().
import spacy
nlp = spacy.load("en_core_web_sm")

# Importing as module.
import en_core_web_sm
nlp = en_core_web_sm.load()

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

Использование CLI spaCy (рекомендуется)

Библиотека spacy-huggingface-hub расширяет встроенную CLI-утилиту spaCy, позволяя легко загружать упакованные модели на Hub.

Вы можете установить spacy-huggingface-hub из pip:

pip install spacy-huggingface-hub

Затем вы можете проверить, была ли команда успешно зарегистрирована

python -m spacy huggingface-hub --help

Чтобы выполнить отправку через CLI, вы можете использовать команду huggingface-hub push, как показано ниже.

python -m spacy huggingface-hub push [whl_path] [--org] [--msg] [--local-repo] [--verbose]
АргументТипОписание
whl_pathstr / PathПуть к файлу .whl, упакованному в spacy package.
--org, -ostrНеобязательное имя организации, в которую следует загрузить конвейер.
--msg, -mstrСообщение коммита, используемое для обновления. По умолчанию "Update spaCy pipeline".
--local-repo, -lstr / PathЛокальный путь к репозиторию модели (будет создан, если не существует). По умолчанию — hub в текущей рабочей директории.
--verbose, -VboolВыводить дополнительную информацию для отладки, например, полные метаданные сгенерированного хаба.

Затем вы можете загрузить любой пайплайн, упакованный с помощью spacy package. Убедитесь, что параметр --build wheel установлен, чтобы получить бинарный файл .whl. Загрузчик прочитает все метаданные из пакета пайплайна, включая автоматически сгенерированный аккуратный README.md и сведения о модели, доступные в meta.json.

hf auth login
python -m spacy package ./en_ner_fashion ./output --build wheel
cd ./output/en_ner_fashion-0.0.0/dist
python -m spacy huggingface-hub push en_ner_fashion-0.0.0-py3-none-any.whl

Всего за минуту вы сможете разместить упакованную модель в Hub, протестировать её прямо в браузере и поделиться ею с остальным сообществом. Все необходимые метаданные будут загружены автоматически, а вам даже достанется стильная карточка модели.

Команда выведет две вещи:

Из Python-скрипта

Вы можете использовать функцию push из Python. Она возвращает словарь, содержащий "url" и ”whl_url” опубликованной модели и файла wheel, который можно позже установить с помощью pip install.

from spacy_huggingface_hub import push

result = push("./en_ner_fashion-0.0.0-py3-none-any.whl")
print(result["url"])

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

Update on GitHub