Hub 文件

小部件

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

小元件

什麼是小元件?

許多模型倉庫都帶有一個小元件,允許任何人在瀏覽器中直接執行推理。這些小元件由推理提供商提供支援,推理提供商可為開發者提供對數百個機器學習模型的簡化、統一訪問,並由我們的無伺服器推理合作伙伴提供支援。

以下是一些當前流行模型的示例:

您可以在模型頁面上探索更多模型及其小元件,或在推理遊樂場中進行互動式嘗試。

啟用小元件

當模型由至少一個推理提供商託管時,將顯示小元件,以確保模型推理的最佳效能和可靠性。提供商自主選擇和控制他們部署的模型。

顯示的小元件型別(文字生成、文字到影像等)從模型的pipeline_tag推斷,這是一個Hub會嘗試為所有模型自動計算的特殊標籤。唯一的例外是conversational小元件,它顯示在pipeline_tagtext-generationimage-text-to-text的模型上,只要它們也被標記為conversational。為簡單起見,我們選擇每個模型僅公開一個小元件。

對於某些庫,例如transformers,模型型別可以根據配置檔案 (config.json) 自動推斷。架構可以決定型別:例如,AutoModelForTokenClassification對應於token-classification。如果您對此感興趣,可以在此 gist中檢視虛擬碼。

對於大多數其他用例,我們使用模型標籤來確定模型任務型別。例如,如果模型卡元資料中存在tag: text-classification,則推斷的pipeline_tag將是text-classification

您始終可以在模型卡元資料中透過pipeline_tag: xxx手動覆蓋您的管道型別。(您也可以使用元資料 GUI 編輯器執行此操作)。

如何控制我的模型小元件示例輸入?

您可以在模型卡元資料部分指定小元件輸入

widget:
  - text: "This new restaurant has amazing food and great service!"
    example_title: "Positive Review"
  - text: "I'm really disappointed with this product. Poor quality and overpriced."
    example_title: "Negative Review"
  - text: "The weather is nice today."
    example_title: "Neutral Statement"

您可以提供多個示例輸入。在小元件的示例下拉選單中,它們將顯示為示例 1示例 2等。或者,您也可以提供example_title

widget:
  - text: "Is this review positive or negative? Review: Best cast iron skillet you will ever buy."
    example_title: "Sentiment analysis"
  - text: "Barack Obama nominated Hilary Clinton as his secretary of state on Monday. He chose her because she had ..."
    example_title: "Coreference resolution"
  - text: "On a shelf, there are five books: a gray book, a red book, a purple book, a blue book, and a black book ..."
    example_title: "Logic puzzles"
  - text: "The two men running to become New York City's next mayor will face off in their first debate Wednesday night ..."
    example_title: "Reading comprehension"

此外,您可以在模型卡元資料中指定非文字示例輸入。請參閱此處以獲取所有小元件型別的完整示例輸入格式列表。對於視覺和音訊小元件型別,請使用src而不是text提供示例輸入。

例如,允許使用者透過以下方式從兩個示例音訊檔案中選擇用於自動語音識別任務

widget:
  - src: https://example.org/somewhere/speech_samples/sample1.flac
    example_title: Speech sample 1
  - src: https://example.org/somewhere/speech_samples/sample2.flac
    example_title: Speech sample 2

請注意,您也可以在模型儲存庫中包含示例檔案並將其用作

widget:
  - src: https://huggingface.co/username/model_repo/resolve/main/sample1.flac
    example_title: Custom Speech Sample 1

但更方便的是,如果檔案位於相應的模型倉庫中,您只需使用倉庫中的檔名或檔案路徑

widget:
  - src: sample1.flac
    example_title: Custom Speech Sample 1

或者如果它巢狀在倉庫中

widget:
  - src: nested/directory/sample1.flac

我們在default-widget-inputs.ts 檔案中提供了某些語言和大多數小元件型別的示例輸入。如果缺少某些示例,我們歡迎社群提交 PR 來新增它們!

示例輸出

作為示例輸入的擴充套件,對於每個小元件示例,您還可以選擇直接在output屬性中描述相應的模型輸出。

當模型尚不受推理提供商支援時,這很有用,這樣模型頁面仍然可以展示模型的工作原理以及它給出的結果。

例如,對於自動語音識別模型

widget:
  - src: sample1.flac
    output:
      text: "Hello my name is Julien"

output屬性應為表示推理提供程式輸出格式的 YAML 字典。

對於輸出文字的模型,請參閱上面的示例。

對於輸出標籤的模型(例如文字分類模型),輸出應如下所示

widget:
  - text: "I liked this movie"
    output:
      - label: POSITIVE
        score: 0.8
      - label: NEGATIVE
        score: 0.2

最後,對於輸出影像、音訊或任何其他型別資產的模型,輸出應包含一個url屬性,連結到倉庫內的檔名或路徑,或遠端 URL。例如,對於文字到影像模型

widget:
  - text: "picture of a futuristic tiger, artstation"
    output:
      url: images/tiger.jpg

我們還可以在 Hugging Face UI 中顯示示例輸出,例如,對於文字到影像模型,可以顯示酷炫影像生成的相簿。

小元件可用性和提供商支援

並非所有模型都提供小元件。小元件的可用性取決於:

  1. 任務支援:模型的任務必須由推理提供商網路中的至少一個提供商支援
  2. 提供商可用性:至少有一個提供商必須提供特定模型
  3. 模型配置:模型必須具有正確的元資料和配置檔案

要檢視支援任務的完整列表,請檢視我們的專門文件頁面

所有提供商及其支援的任務列表可在此文件頁面中找到。

對於沒有提供商支援的模型,您仍然可以使用模型卡中的示例輸出來展示功能。

您也可以直接在模型頁面上點選請求提供商支援,以鼓勵提供商在有足夠的社群興趣的情況下提供模型。

使用推理遊樂場探索模型

在將模型整合到您的應用程式之前,您可以使用推理遊樂場進行互動式測試。遊樂場允許您

  • 使用自定義提示測試不同的聊天完成模型
  • 比較不同模型之間的響應
  • 嘗試推理引數,如溫度、最大標記數等
  • 為您的特定用例找到完美的模型

該遊樂場使用與小元件相同的推理提供商基礎設施,因此在將模型整合到您自己的應用程式時,您可以期待相似的效能和功能。

Inference Playground
< > 在 GitHub 上更新

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