Hub documentation
Bucket Entegrasyonları
Bucket Entegrasyonları
Storage Buckets, huggingface_hub dosya sistemi arayüzü tarafından desteklenen hf://buckets/ yolları kullanılarak birçok Python veri kütüphanesinden okunabilir ve yazılabilir.
Alt düzey erişim mekanizmaları olan bağlamalar, birim bağlamaları ve fsspec için bkz. Erişim Desenleri.
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, tembel (lazy) okuma ve yazma yapar; dosya başına bir bölüm (partition) işler, böylece bellekten büyük veri setlerini doğrudan bir depodan (bucket) işleyebilirsiniz:
import dask.dataframe as dd
df = dd.read_parquet("hf://buckets/username/my-bucket/data/")
df.to_parquet("hf://buckets/username/my-bucket/output/")Daha fazlası için Hub'daki Dask sayfasına bakın.
Daft
Daft, hf://buckets/ yollarını yerel olarak destekler ve Xet hızlandırmalı okumalar varsayılan olarak etkinleştirilir:
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
pyspark_huggingface yüklü olduğunda:
df = (
spark.read.format("huggingface")
.option("data_files", '["data.parquet"]')
.load("buckets/username/my-bucket")
)Daha fazlası için Hub'daki PySpark sayfasına bakın.
🤗 Datasets
from datasets import load_dataset
ds = load_dataset("buckets/username/my-bucket", data_files=["data.parquet"])Inspect AI
Inspect AI, değerlendirme günlüklerini doğrudan bir kovaya yazabilir — günlük dizinini bir hf://buckets/ yoluna yönlendirin (huggingface_hub>=1.6.0 gerektirir). Kovayı oluşturun ve önce kimlik doğrulamasını yapın (Inspect bunu sizin yerinize yapmaz):
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 viewDetaylar için Inspect'in eval günlükleri kılavuzuna bakın.
SkyPilot
SkyPilot, 20'den fazla bulut, Kubernetes ve yerinde (on-prem) ortamlarda yapay zeka iş yüklerini çalıştırır ve Hugging Face depolamayı bir arka uç olarak kullanabilir; böylece tek bir bucket, bulut başına kopya oluşturulmadan her buluttan okunabilir. Bir file_mounts girdisinde store: hf ayarlayarak bir bucket'ı okuma-yazma veya bir repoyu salt okunur olarak bağlayabilirsiniz:
# 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 /checkpointsBir kez kimlik doğrulaması yapın - hf auth login (veya export HF_TOKEN=<your-token>) SkyPilot için yeterlidir. Yerel Hugging Face token'ınızı her buluta iletir, böylece bucket ve repo bağlamaları otomatik olarak kimlik doğrulaması yapar:
pip install "skypilot[huggingface]"
hf auth login # or: export HF_TOKEN=<your-token>
sky launch qwen-sft.yamlKendi run kodunuz kapalı depoları çekiyorsa, token'ı bir ortam değişkeni olarak da açığa çıkarmak için başlatma komutuna --secret HF_TOKEN ekleyin.
MOUNTveMOUNT_CACHED,hfiçin aynı şekilde davranır ve glibc ≥ 2.34 ile/dev/fusegerektiren hf-mount FUSE arka ucunu kullanır. Sadece sanal makine bulutları her ikisini de sağlar. SkyPilot’ın varsayılan Kubernetes görüntüsü daha eski bir glibc ile gelir, bu nedenle daha yeni birimage_idayarlayın (ör.docker:mirror.gcr.io/ubuntu:22.04). Güncel ortam gereksinimleri için SkyPilot depolama belgelerine bakın.
Benchmarks ve tam bir uygulama rehberi için SkyPilot + Hugging Face depolama blog yazısını inceleyin.
Dosya sistemi işlemleri
Doğrudan dosya işlemleri için huggingface_hub, önceden örneklenmiş bir dosya sistemi nesnesi olan hffs’i sunar:
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 ve sonraki sürümler, httpfs eklentisi (ve yazma için hf eklentisi) aracılığıyla hf://buckets/ yollarını CLI ve tüm istemcilerden yerel olarak okur:
SELECT * FROM 'hf://buckets/username/my-bucket/data/**/*.parquet' LIMIT 10;
COPY tbl TO 'hf://buckets/username/my-bucket/out.parquet';Özel depolar ve eski DuckDB sürümleri için DuckDB ile Sorgu bölümüne bakın.
Diğer diller
OpenDAL, Rust, Java, Go, JavaScript ve daha fazlası için benzer bir dosya sistemi arayüzü sağlar.
Yakında
Daha fazla kütüphane için yerel hf:// URL desteği yolda — bunlar arasında Polars ve WebDataset de yer alıyor. Bu arada, tüm bunlar bugün zaten S3-uyumlu API üzerinden çalışıyor.