huggingface/hf-hub

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

해결하는 문제

인기 있는 huggingface_hub Python 라이브러리의 Rust 대체제 역할을 하며, Hugging Face Hub API와 상호 작용하기 위한 타입 안전하고 인체공학적인 Rust 인터페이스를 제공합니다. 이를 통해 Rust 개발자는 Python 환경 없이도 AI 모델, 데이터셋 및 스페이스를 관리할 수 있습니다.

작동 방식

이 라이브러리는 두 가지 주요 인터페이스인 비동기 HFClient(tokio 사용)와 동기 HFClientSync(blocking 기능을 통해 활성화)를 제공합니다. Hub API와 상호 작용하여 리포지토리, 파일, 커밋, 브랜치 및 사용자 프로필에 대한 작업을 수행합니다. 또한 Xet 스토리지 백엔드를 통한 고성능 전송을 지원하며 터미널 기반 Hub 상호 작용을 위한 hfrs라는 명령줄 도구를 제공합니다.

대상 사용자

모델 다운로드, 데이터셋 업로드 또는 리포지토리 메타데이터 관리를 위해 Hugging Face Hub와 프로그래밍 방식으로 상호 작용해야 하는 AI 애플리케이션 또는 인프라를 구축하는 Rust 개발자.

하이라이트

  • 포괄적인 Hub 작업: 리포지토리 생성, 삭제, 업데이트뿐만 아니라 파일, 커밋 및 브랜치 관리를 지원합니다.
  • 이중 인터페이스: 다양한 Rust 런타임에서의 유연성을 위해 비동기 및 블로킹 동기 호출을 모두 제공합니다.
  • 스트리밍 페이지네이션: 비동기 스트림을 사용하여 목록 엔드포인트에 대한 메모리 효율적인 반복을 구현합니다.
  • Wasm 지원: wasm32-unknown-unknown으로 컴파일되어 WebAssembly 환경 내에서의 Hub 상호 작용(스트리밍 다운로드 및 HTTP 전용 메서드를 통해)을 허용합니다.
  • CLI 도구: Hub 전용 명령줄 인터페이스인 hfrs가 포함되어 있습니다.

관련

  • 프로젝트
  • Dispatch
  • 프로젝트
  • Dispatch
  • 프로젝트