Hub documentation

Integrasi Bucket

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Integrasi Bucket

Storage Buckets dapat dibaca dan ditulis dari banyak pustaka data Python menggunakan jalur hf://buckets/, yang didukung oleh antarmuka sistem berkas huggingface_hub.

Untuk mekanisme akses yang mendasarinya β€” mounts, volume mounts, dan fsspec β€” lihat Pola Akses.

pandas

import pandas as pd

df = pd.read_parquet("hf://buckets/username/my-bucket/data.parquet")
df.to_parquet("hf://buckets/username/my-bucket/output.parquet")

Dask

Dask membaca dan menulis secara lazy, satu partisi per file, sehingga Anda dapat memproses dataset yang lebih besar dari memori langsung dari sebuah bucket:

import dask.dataframe as dd

df = dd.read_parquet("hf://buckets/username/my-bucket/data/")
df.to_parquet("hf://buckets/username/my-bucket/output/")

Lihat Dask di Hub untuk informasi lebih lanjut.

Daft

Daft mendukung jalur hf://buckets/ secara native, dengan read yang dipercepat Xet diaktifkan secara default:

import daft
from daft.io import IOConfig, HuggingFaceConfig
from huggingface_hub import get_token

io_config = IOConfig(hf=HuggingFaceConfig(token=get_token()))
df = daft.read_parquet("hf://buckets/username/my-bucket/data.parquet", io_config=io_config)

PyArrow

import pyarrow.parquet as pq

table = pq.read_table("hf://buckets/username/my-bucket/data.parquet")

PySpark

Dengan pyspark_huggingface terinstal:

df = (
    spark.read.format("huggingface")
    .option("data_files", '["data.parquet"]')
    .load("buckets/username/my-bucket")
)

Lihat PySpark di Hub untuk informasi lebih lanjut.

πŸ€— Datasets

from datasets import load_dataset

ds = load_dataset("buckets/username/my-bucket", data_files=["data.parquet"])

Inspect AI

Inspect AI dapat menulis log evaluasi langsung ke bucket β€” arahkan direktori log-nya ke path hf://buckets/ (memerlukan huggingface_hub>=1.6.0). Buat bucket dan autentikasi terlebih dahulu (Inspect tidak akan membuatnya untuk Anda):

hf auth login
hf buckets create username/my-bucket --private

export INSPECT_LOG_DIR=hf://buckets/username/my-bucket/eval-logs
inspect eval popularity.py --model openai/gpt-4
inspect view

Lihat panduan log eval Inspect untuk detailnya.

SkyPilot

SkyPilot menjalankan workload AI di lebih dari 20 cloud, Kubernetes, dan on-prem, serta dapat menggunakan penyimpanan Hugging Face sebagai backend β€” sehingga satu bucket dapat dibaca dari setiap cloud tanpa salinan per-cloud. Atur store: hf pada entri file_mounts untuk memount bucket secara read-write atau repo secara read-only:

# qwen-sft.yaml β€” launch anywhere: sky launch qwen-sft.yaml --infra aws|gcp|...
resources:
  accelerators: H100:1

file_mounts:
  /base-model:
    source: hf://Qwen/Qwen2.5-3B           # model repo, read-only
    store: hf
    mode: MOUNT
  /data:
    source: hf://datasets/username/my-data@v1.0   # dataset repo, pinned to a tag, read-only
    store: hf
    mode: MOUNT
  /checkpoints:
    source: hf://buckets/username/qwen-sft   # bucket, read-write β€” checkpoints sync back
    store: hf
    mode: MOUNT

run: |
  python train.py --model /base-model --output_dir /checkpoints

Autentikasi sekali - hf auth login (atau export HF_TOKEN=<your-token>) adalah semua yang dibutuhkan SkyPilot. Token Hugging Face lokal Anda diteruskan ke setiap cloud, sehingga mount bucket dan repo terautentikasi secara otomatis:

pip install "skypilot[huggingface]"
hf auth login                              # or: export HF_TOKEN=<your-token>
sky launch qwen-sft.yaml

Jika kode run Anda menarik repositori bergerbang, tambahkan --secret HF_TOKEN ke perintah peluncuran untuk juga mengekspos token sebagai variabel lingkungan.

MOUNT dan MOUNT_CACHED berperilaku identik untuk hf dan menggunakan backend FUSE hf-mount, yang membutuhkan image dasar dengan glibc β‰₯ 2.34 dan /dev/fuse. Cloud bare-VM menyediakan keduanya. Image Kubernetes bawaan SkyPilot menyertakan glibc yang lebih lama, sehingga atur image_id yang lebih baru (mis. docker:mirror.gcr.io/ubuntu:22.04). Lihat dokumentasi penyimpanan SkyPilot untuk persyaratan lingkungan terkini.

Lihat artikel blog SkyPilot + Hugging Face tentang penyimpanan untuk benchmark dan panduan lengkap.

Operasi sistem file

Untuk operasi file langsung, huggingface_hub mengekspos objek filesystem yang sudah diinstansiasi sebelumnya, hffs:

from huggingface_hub import hffs

with hffs.open("buckets/username/my-bucket/hello.txt", "w") as f:
    f.write("Hello world!")

hffs.cp("buckets/username/my-bucket/hello.txt", "buckets/username/my-bucket/hello2.txt")
hffs.rm("buckets/username/my-bucket/hello2.txt")
files = hffs.ls("buckets/username/my-bucket")
text_files = hffs.glob("buckets/username/my-bucket/*.txt")

DuckDB

DuckDB 2.0 dan versi selanjutnya membaca jalur hf://buckets/ secara native melalui ekstensi httpfs (dan dengan ekstensi hf untuk penulisan), baik dari CLI maupun setiap klien:

SELECT * FROM 'hf://buckets/username/my-bucket/data/**/*.parquet' LIMIT 10;
COPY tbl TO 'hf://buckets/username/my-bucket/out.parquet';

Lihat Query with DuckDB untuk bucket privat dan versi DuckDB yang lebih lama.

Bahasa lain

OpenDAL menyediakan antarmuka sistem berkas yang serupa untuk Rust, Java, Go, JavaScript, dan lainnya.

Segera hadir

Dukungan URL hf:// native sedang dalam pengembangan untuk lebih banyak pustaka β€” termasuk Polars dan WebDataset. Sementara itu, semuanya sudah dapat berfungsi saat ini melalui API yang kompatibel dengan S3.

Update on GitHub