在 Hugging Face 上使用 spaCy
spaCy
是一个流行的库,用于高级自然语言处理,广泛应用于各个行业。spaCy
使得使用和训练用于命名实体识别、文本分类、词性标注等任务的管道变得容易,并允许您构建强大的应用程序来处理和分析大量文本。
在 Hub 中探索 spaCy 模型
来自 spaCy
3.3 的官方模型位于 spaCy
的 组织页面。社区中的任何人都可以分享他们的 spaCy
模型,您可以在 模型页面 左侧过滤找到这些模型。
Hub 上的所有模型都具有有用的功能
- 自动生成的模型卡,其中包含标签方案、指标、组件等。
- 右上角的评估部分,您可以在其中查看指标。
- 有助于可发现性并包含许可证和语言等信息的元数据标签。
- 一个交互式小部件,您可以在浏览器中直接使用它与模型进行交互
- 一个允许进行推理请求的推理 API。
使用现有模型
可以使用 pip install
直接安装来自 Hub 的所有 spaCy
模型。
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
模型的仓库。打开仓库后,您可以点击 在 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
中可用的模型详细信息。
huggingface-cli 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
函数。它返回一个包含已发布模型的 "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"])