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 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.