Hugging Face's logo
加入Hugging Face社区

并获得增强文档体验的访问权限

开始使用

任务

什么是任务?

任务,或管道类型,描述了每个模型 API 的“形状”(输入和输出),并用于确定我们想要为任何给定模型显示哪个推理 API 和小部件。

这种分类比较粗略(你始终可以在模型标签中添加更细粒度的任务名称),因此**你很少需要创建新的任务**。如果你想添加对新任务的支持,本文档说明了所需的步骤。

概述

将新任务集成到 Hub 中意味着

  • 用户可以搜索给定任务的所有模型 - 和数据集。
  • 推理 API 支持该任务。
  • 用户可以使用小部件直接试用模型。🏆

请注意,你无需自己执行所有步骤。添加新任务是社区的共同努力,多人可以贡献。🧑‍🤝‍🧑

要开始此过程,请在huggingface_hub存储库中打开一个新的问题。请使用“添加新任务”模板。⚠️在进行任何编码之前,建议先阅读本文档。⚠️

第一步是上传你提议的任务的模型。一旦你在 Hub 中拥有了新任务的模型,下一步就是将其启用到推理 API 中。你可以从三种类型的支持中选择

  • 🤗 使用transformers模型
  • 🐳 使用来自官方支持的库的模型
  • 🖨️ 使用具有自定义推理代码的模型。此实验性选项有一些缺点,因此我们建议使用其他方法之一。

最后,你可以添加一些 UI 元素,例如任务图标和小部件,以完成 Hub 中的集成。📷

有些步骤是正交的;你无需按顺序执行它们。**你不需要推理 API 来添加图标。**这意味着,即使尚未完全集成,用户仍然可以搜索给定任务的模型。

将新任务添加到 Hub

使用Hugging Face transformers库

如果你的模型是基于transformers的模型,则推理 API 任务和pipeline类之间存在一对一的映射。以下是一些来自transformers库的示例 PR

提交并部署管道后,你应该能够对你的模型使用推理 API。

使用支持库的社区推理 API

Hub 还支持社区推理 API中的 10 多个开源库。

添加新任务相对简单,需要 2 个 PR

为快速原型添加社区推理 API

我的模型不受任何库支持。我完了吗?😱

我们建议在这些用例中使用Hugging Face Spaces

UI 元素

Hub 允许用户按给定任务筛选模型。为此,你需要将任务添加到多个位置。你还可以为任务选择一个图标!

  1. 将任务类型添加到Types.ts

huggingface.js/packages/tasks/src/pipelines.ts中,你需要做几件事

  1. 选择一个图标

您可以在 lib/Icons 目录中添加图标。我们通常从 https://icones.js.org/collection/carbon 选择 Carbon 图标。同时,将图标添加到 PipelineIcon 中。

组件

一旦任务投入生产,还有什么比让用户能够直接在浏览器中与模型交互更令人兴奋的呢?🤩 您可以在 此处 找到所有组件。

如果您有兴趣贡献一个组件,您可以查看所有组件的 实现

< > 更新至 GitHub