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 开发者无需 Python 环境即可管理 AI 模型、数据集和空间。

工作原理

该库提供两个主要接口:异步的 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
  • 项目