huggingface/hf-hub

Rust client for the huggingface hub aiming for minimal subset of features over `huggingface-hub` python package

解決的問題

它提供了一個型別安全且符合人體工學的 Rust 介面,用於與 Hugging Face Hub API 互動,作為受歡迎的 huggingface_hub Python 函式庫的 Rust 對等替代品。這讓 Rust 開發人員能夠管理 AI 模型、資料集和空間,而無需 Python 環境。

運作方式

該函式庫提供兩個主要介面:非同步的 HFClient(使用 tokio)和同步的 HFClientSync(透過 blocking 功能啟用)。它與 Hub API 互動以對儲存庫、檔案、提交、分支和使用者設定檔執行操作。它還支援透過 Xet 儲存後端進行高效能傳輸,並提供一個名為 hfrs 的命令列工具,用於基於終端機的 Hub 互動。

適用對象

正在建構 AI 應用程式或基礎架構的 Rust 開發人員,他們需要以程式設計方式與 Hugging Face Hub 互動,以下載模型、上傳資料集或管理儲存庫元資料。

亮點

  • 全面的 Hub 操作:支援建立、刪除和更新儲存庫,以及管理檔案、提交和分支。
  • 雙重介面:提供非同步和封鎖式同步呼叫,以適應不同的 Rust 執行階段。
  • 串流分頁:使用非同步串流對列表端點進行記憶體高效的迭代。
  • Wasm 支援:可編譯為 wasm32-unknown-unknown,允許在 WebAssembly 環境中進行 Hub 互動(透過串流下載和僅限 HTTP 的方法)。
  • CLI 工具:包含 hfrs,一個專用於 Hub 的命令列介面。

相關

  • 專案
  • Dispatch
  • 專案
  • Dispatch
  • 專案