Hub Python 庫文件

推理端點

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

推理端點

推理端點提供了一個安全的生產解決方案,可以輕鬆地將模型部署在由 Hugging Face 管理的專用且自動擴充套件的基礎設施上。推理端點是從 Hub 中的模型構建的。本頁是 huggingface_hub 與推理端點整合功能的參考。有關推理端點產品的更多資訊,請檢視其 官方文件

請檢視相關指南,瞭解如何使用 huggingface_hub 以程式設計方式管理您的推理端點。

推理端點可以透過 API 完全管理。這些端點在 Swagger 中有詳細文件。InferenceEndpoint 類是基於此 API 構建的一個簡單封裝。

方法

部分推理端點功能已在 HfApi 中實現

InferenceEndpoint

主要資料類是 InferenceEndpoint。它包含有關已部署的 InferenceEndpoint 的資訊,包括其配置和當前狀態。部署後,您可以使用 InferenceEndpoint.clientInferenceEndpoint.async_client 屬性在端點上執行推理,它們分別返回一個 InferenceClient 和一個 AsyncInferenceClient 物件。

class huggingface_hub.InferenceEndpoint

< >

( 名稱空間: str 原始資料: typing.Dict _token: typing.Union[str, bool, NoneType] _api: HfApi )

引數

  • name (str) — 推理端點的唯一名稱。
  • namespace (str) — 推理端點所在的名稱空間。
  • repository (str) — 部署在此推理端點上的模型倉庫名稱。
  • status (InferenceEndpointStatus) — 推理端點的當前狀態。
  • url (str, 可選) — 推理端點的 URL,如果可用。只有已部署的推理端點才有 URL。
  • framework (str) — 模型所使用的機器學習框架。
  • revision (str) — 部署在推理端點上的特定模型版本。
  • task (str) — 與已部署模型相關的任務。
  • created_at (datetime.datetime) — 推理端點建立的時間戳。
  • updated_at (datetime.datetime) — 推理端點最後更新的時間戳。
  • type (InferenceEndpointType) — 推理端點的型別(公共、受保護、私有)。
  • raw (Dict) — 從 API 返回的原始字典資料。
  • token (strbool, 可選) — 推理端點的身份驗證令牌,如果在請求 API 時設定。如果未提供,將預設為本地儲存的令牌。如果您不想將令牌傳送到伺服器,請傳遞 token=False

包含有關已部署推理端點的資訊。

示例

>>> from huggingface_hub import get_inference_endpoint
>>> endpoint = get_inference_endpoint("my-text-to-image")
>>> endpoint
InferenceEndpoint(name='my-text-to-image', ...)

# Get status
>>> endpoint.status
'running'
>>> endpoint.url
'https://my-text-to-image.region.vendor.endpoints.huggingface.cloud'

# Run inference
>>> endpoint.client.text_to_image(...)

# Pause endpoint to save $$$
>>> endpoint.pause()

# ...
# Resume and wait for deployment
>>> endpoint.resume()
>>> endpoint.wait()
>>> endpoint.client.text_to_image(...)

from_raw

< >

( 原始資料: typing.Dict 名稱空間: str 令牌: typing.Union[str, bool, NoneType] = None api: typing.Optional[ForwardRef('HfApi')] = None )

從原始字典初始化物件。

客戶端

< >

( ) InferenceClient

返回

InferenceClient

指向已部署端點的推理客戶端。

引發

InferenceEndpointError

返回一個客戶端,用於對此推理端點進行預測。

async_client

< >

( ) AsyncInferenceClient

返回

AsyncInferenceClient

指向已部署端點的 asyncio 相容推理客戶端。

引發

InferenceEndpointError

返回一個客戶端,用於對此推理端點進行預測。

刪除

< >

( )

刪除推理端點。

此操作不可逆。如果您不想為推理端點付費,最好使用 InferenceEndpoint.pause() 暫停它,或使用 InferenceEndpoint.scale_to_zero() 將其縮放至零。

這是 HfApi.delete_inference_endpoint() 的別名。

獲取

< >

( ) InferenceEndpoint

返回

InferenceEndpoint

相同的推理端點,已用最新資料原地修改。

獲取有關推理端點的最新資訊。

暫停

< >

( ) InferenceEndpoint

返回

InferenceEndpoint

相同的推理端點,已用最新資料原地修改。

暫停推理端點。

暫停的推理端點將不收費。它可以使用 InferenceEndpoint.resume() 隨時恢復。這與使用 InferenceEndpoint.scale_to_zero() 將推理端點縮放至零不同,後者在收到請求時會自動重新啟動。

這是 HfApi.pause_inference_endpoint() 的別名。當前物件將使用伺服器的最新資料原地修改。

恢復

< >

( 執行正常: bool = True ) InferenceEndpoint

引數

  • running_ok (bool, 可選) — 如果為 True,則如果推理端點已在執行,該方法不會引發錯誤。預設為 True

返回

InferenceEndpoint

相同的推理端點,已用最新資料原地修改。

恢復推理端點。

這是 HfApi.resume_inference_endpoint() 的別名。當前物件將使用伺服器的最新資料原地修改。

scale_to_zero

< >

( ) InferenceEndpoint

返回

InferenceEndpoint

相同的推理端點,已用最新資料原地修改。

將推理端點縮放至零。

縮放至零的推理端點將不收費。它會在下一次請求時恢復,但會有冷啟動延遲。這與使用 InferenceEndpoint.pause() 暫停推理端點不同,後者需要手動使用 InferenceEndpoint.resume() 恢復。

這是 HfApi.scale_to_zero_inference_endpoint() 的別名。當前物件將使用伺服器的最新資料原地修改。

更新

< >

( 加速器: typing.Optional[str] = None 例項大小: typing.Optional[str] = None 例項型別: typing.Optional[str] = None 最小副本數: typing.Optional[int] = None 最大副本數: typing.Optional[int] = None 縮放至零超時: typing.Optional[int] = None 倉庫: typing.Optional[str] = None 框架: typing.Optional[str] = None 修訂: typing.Optional[str] = None 任務: typing.Optional[str] = None 自定義映象: typing.Optional[typing.Dict] = None 金鑰: typing.Optional[typing.Dict[str, str]] = None ) InferenceEndpoint

引數

  • accelerator (str, 可選) — 用於推理的硬體加速器(例如 "cpu")。
  • instance_size (str, 可選) — 用於託管模型的例項大小或型別(例如 "x4")。
  • instance_type (str, 可選) — 將部署推理端點的雲實例型別(例如 "intel-icl")。
  • min_replica (int, 可選) — 為推理端點保持執行的最小副本(例項)數量。
  • max_replica (int, 可選) — 推理端點可擴充套件到的最大副本(例項)數量。
  • scale_to_zero_timeout (int, 可選) — 非活動端點縮放至零前的持續時間(分鐘)。
  • repository (str, 可選) — 與推理端點關聯的模型倉庫名稱(例如 "gpt2")。
  • framework (str, 可選) — 用於模型的機器學習框架(例如 "custom")。
  • revision (str, 可選) — 要部署在推理端點上的特定模型修訂版本(例如 "6c0e6080953db56375760c0471a8c5f2929baf11")。
  • task (str, 可選) — 部署模型的任務(例如 "text-classification")。
  • custom_image (Dict, 可選) — 用於推理端點的自定義 Docker 映象。如果您想部署執行在 text-generation-inference (TGI) 框架上的推理端點,這將非常有用(參見示例)。
  • secrets (Dict[str, str], 可選) — 要注入容器環境的機密值。

返回

InferenceEndpoint

相同的推理端點,已用最新資料原地修改。

更新推理端點。

此方法允許更新計算配置、已部署的模型或兩者。所有引數都是可選的,但至少必須提供一個。

這是 HfApi.update_inference_endpoint() 的別名。當前物件將就地變異,幷包含來自伺服器的最新資料。

等待

< >

( timeout: typing.Optional[int] = None refresh_every: int = 5 ) InferenceEndpoint

引數

  • timeout (int, 可選) — 等待推理端點部署的最大時間,以秒為單位。如果為 None,將無限期等待。
  • refresh_every (int, 可選) — 每次獲取推理端點狀態之間的等待時間,以秒為單位。預設為 5 秒。

返回

InferenceEndpoint

相同的推理端點,已用最新資料原地修改。

引發

InferenceEndpointErrorInferenceEndpointTimeoutError

  • InferenceEndpointError — 如果推理端點最終處於失敗狀態。
  • InferenceEndpointTimeoutError — 如果推理端點在 timeout 秒後仍未部署。

等待推理端點部署。

伺服器資訊將每 1 秒獲取一次。如果推理端點在 timeout 秒後仍未部署,將引發 InferenceEndpointTimeoutError 異常。InferenceEndpoint 將就地變異,包含最新資料。

InferenceEndpointStatus

huggingface_hub.InferenceEndpointStatus

< >

( value names = None module = None qualname = None type = None start = 1 )

一個列舉。

InferenceEndpointType

huggingface_hub.InferenceEndpointType

< >

( value names = None module = None qualname = None type = None start = 1 )

一個列舉。

InferenceEndpointError

huggingface_hub.InferenceEndpointError

< >

( )

處理推理端點時發生的通用異常。

< > 在 GitHub 上更新

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