在 Hugging Face 使用 spaCy
spaCy 是一个流行的高级自然语言处理库,在工业界广泛使用。spaCy 使使用和训练管道变得容易,用于命名实体识别、文本分类、词性标注等任务,并让你能够构建强大的应用程序来处理和分析大量文本。
在 Hub 上探索 spaCy 模型
来自 spaCy 3.3 的官方模型位于 spaCy 组织页面。社区中的任何人都可以分享他们的 spaCy 模型,你可以通过在模型页面左侧筛选来找到它们。
Hub 上的所有模型都配备了有用的功能:
- 自动生成的模型卡片,包含标签方案、指标、组件等。
- 右上角的评估部分,你可以查看指标。
- 有助于可发现性的元数据标签,包含许可证和语言等信息。
- 一个交互式小部件,你可以直接在浏览器中使用模型。
- 允许进行推理请求的推理 API。


使用现有模型
Hub 上的所有 spaCy 模型都可以使用 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()
分享你的模型
使用 spaCy CLI(推荐)
spacy-huggingface-hub 库扩展了 spaCy 原生 CLI,使人们可以轻松地将打包的模型推送到 Hub。
你可以从 pip 安装 spacy-huggingface-hub:
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_path | str / Path | 使用 spacy package 打包的 .whl 文件的路径。 |
--org, -o | str | 管道应上传到的组织名称(可选)。 |
--msg, -m | str | 用于更新的提交消息。默认为 "Update spaCy pipeline"。 |
--local-repo, -l | str / Path | 模型仓库的本地路径(如果不存在将创建)。默认为当前工作目录中的 hub。 |
--verbose, -V | bool | 输出额外的调试信息,例如完整生成的 hub 元数据。 |
然后你可以上传使用 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 上获得打包的 模型,直接在浏览器中试用它,并与社区的其他成员分享。所有必需的元数据都会为你上传,你甚至可以获得一个很酷的模型卡片。
该命令将输出两件事:
- 在 Hub 中查找你的仓库的位置!例如,https://huggingface.co/spacy/en_core_web_sm
- 以及如何直接从 Hub 安装管道!
从 Python 脚本
你可以从 Python 使用 push 函数。它返回一个字典,包含已发布模型和 wheel 文件的 "url" 和 "whl_url",你稍后可以使用 pip install 安装。
from spacy_huggingface_hub import push
result = push("./en_ner_fashion-0.0.0-py3-none-any.whl")
print(result["url"])