Hub Python Library documentation
Dosya Sistemi API
Dosya Sistemi API
HfFileSystem sınıfı, fsspec tabanlı olarak Hugging Face Hub için pythonik bir dosya arayüzü sağlar.
HfFileSystem
HfFileSystem, fsspec üzerine kuruludur; bu nedenle sunduğu API’lerin çoğuyla uyumludur. Daha fazla ayrıntı için kılavuzumuza ve fsspec’in API Referansına göz atın.
sınıf huggingface_hub.HfFileSystem
< source >( *args**kwargs )
Parametreler
- endpoint (
str, isteğe bağlı) — Hub uç noktası. Varsayılan olarak https://huggingface.co. - token (
boolveyastr, isteğe bağlı) — Geçerli bir kullanıcı erişim belirteci (dize). Varsayılan olarak, kimlik doğrulama için önerilen yöntem olan yerel olarak kaydedilmiş belirteç kullanılır (bkz. https://huggingface.co/docs/huggingface_hub/quick-start#authentication). Kimlik doğrulamayı devre dışı bırakmak içinFalsegeçirin. - block_size (
int, isteğe bağlı) — Dosyaları okuma ve yazma için blok boyutu. - expand_info (
bool, isteğe bağlı) — Dosyaların bilgilerini genişletip genişletmeyeceği. - max_workers (
int, isteğe bağlı) — Büyük dizinlerin paralel olarak listelenmesinde kullanılan eşzamanlı isteklerin maksimum sayısı (bkz. find()). Varsayılan değeri 16'dır. Paralel listelemeyi devre dışı bırakmak için 1 olarak ayarlayın. - live_follow (
bool, isteğe bağlı) — Hub'da gerçekleşen bucket dosya değişikliklerini takip edip etmeyeceğini belirler; böylece önbelleğe alınmış listeler, manuel HfFileSystem.invalidate_cache() çağrıları olmadan güncel kalır. Etkinleştirildiğinde, bir bucket'ın listelenmesi, o bucket için Hub olay akışına arka planda bir bağlantı açar. Model, veri seti ve space depoları üzerinde hiçbir etkisi yoktur (Hub, bu depolar için değişiklik akışı sağlamaz). - **storage_options (
dict, isteğe bağlı) — Dosya sistemi için ek seçenekler. fsspec belgeleri'ne bakın.
Uzak bir Hugging Face Hub deposuna, yerel bir dosya sistemiymiş gibi erişin.
HfFileSystem, bunu gerektiren kütüphaneler için (örneğin
pandasile Hugging Face veri setlerini doğrudan okuma) fsspec uyumluluğu sağlar. Ancak bu uyumluluk katmanı ek bir yük getirir. Daha iyi performans ve güvenilirlik için mümkün olduğundaHfApiyöntemlerinin kullanılması önerilir.
Dosya sistemi, hf:// protokolü için yolları destekler ve bu protokol aşağıdaki URL şemalarını izler:
- Modeller, Veri Setleri ve Spaces depoları:
hf://<repo-id>[@<revision>]/<path/in/repo>
hf://datasets/<repo-id>[@<revision>]/<path/in/repo>
hf://spaces/<repo-id>[@<revision>]/<path/in/repo>Not: HfFileSystem doğrudan kullanıldığında, yollarda hf:// protokol önekinin verilmesi isteğe bağlıdır.
Kullanım:
>>> from huggingface_hub import hffs
>>> # List files
>>> hffs.glob("my-username/my-model/*.bin")
['my-username/my-model/pytorch_model.bin']
>>> hffs.ls("datasets/my-username/my-dataset", detail=False)
['datasets/my-username/my-dataset/.gitattributes', 'datasets/my-username/my-dataset/README.md', 'datasets/my-username/my-dataset/data.json']
>>> # Read/write files
>>> with hffs.open("my-username/my-model/pytorch_model.bin") as f:
... data = f.read()
>>> with hffs.open("my-username/my-model/pytorch_model.bin", "wb") as f:
... f.write(data)Kimlik doğrulama için bir belirteç belirtin:
>>> from huggingface_hub import HfFileSystem
>>> hffs = HfFileSystem(token=token)cp_file
< source >( path1: strpath2: strrevision: str | None = None**kwargs )
Bir dosyayı depoların içinde veya depolar arasında kopyalayın ya da bir kovaya aktarın.
Not: Mümkün olduğunda daha iyi performans için
HfApi.upload_file()kullanın.
var
< source >( path**kwargs ) → bool
Bir dosyanın var olup olmadığını kontrol edin.
Daha fazla ayrıntı için fsspec belgeleri'ne başvurun.
Not: Mümkün olduğunda daha iyi performans için
HfApi.file_exists()kullanın.
find
< source >( path: strmaxdepth: int | None = Nonewithdirs: bool = Falsedetail: bool = Falserefresh: bool = Falserevision: str | None = None**kwargs ) → Union[list[str], dict[str, dict[str, Any]]]
Parametreler
- path (
str) — Listelenen dosyaların kök yolu. - maxdepth (
int, isteğe bağlı) — Alt dizinlere inilecek maksimum derinlik. - withdirs (
bool, isteğe bağlı) — Çıktıda dizin yollarını içerir. Varsayılan olarak False. - detail (
bool, isteğe bağlı) — True ise, yolları dosya bilgilerine eşleyen bir sözlük döndürür. Varsayılan olarak False'tur. - refresh (
bool, isteğe bağlı) — True ise önbelleği atlayıp en güncel verileri getirir. Varsayılan değeri False'dur. - revision (
str, isteğe bağlı) — Listelenmesi istenen git revizyonu.
Dönüş değeri
Union[list[str], dict[str, dict[str, Any]]]
Yol listesi veya dosya bilgisi sözlüğü.
Yolun altındaki tüm dosyaları listele.
Daha fazla ayrıntı için fsspec belgeleri'ne başvurun.
Büyük depolar, Hub
treeuç noktasının imleç tabanlı sayfalama işlemini aşmak için dizin dizin ve paralel olarak listelenir. Bunu HfFileSystem'inmax_workersargümanı ile ayarlayın.
get_file
< source >( rpathlpath = Nonecallback = <fsspec.callbacks.NoOpCallback object at 0x7f9673955c90>outfile = None**kwargs )
Parametreler
- rpath (
str) — İndirme yapılacak uzak yol. - lpath (
str, isteğe bağlı) — İndirilecek yerel yol.outfilesağlanırsa atlanabilir. - callback (
Callback, isteğe bağlı) — İndirme ilerlemesini izlemek için isteğe bağlı geri çağırma. Varsayılan olarak geri çağırma yoktur. - outfile (
IO, isteğe bağlı) — Yazılacak isteğe bağlı dosya benzeri nesne. Sağlanırsalpathyok sayılır.
Tek bir uzak dosyayı yerel olarak kopyala.
Not: Mümkün olduğunda daha iyi performans için
HfApi.hf_hub_download()veyaHfApi.download_bucket_fileskullanın.
glob
< source >( path: strmaxdepth: int | None = None**kwargs ) → list[str]
Dosyaları glob eşleştirme ile bulun.
Daha fazla ayrıntı için fsspec belgeleri'ne başvurun.
bilgi
< source >( path: strrefresh: bool = Falserevision: str | None = None**kwargs ) → dict[str, Any]
Parametreler
- path (
str) — Bilgi alınacak yol. - refresh (
bool, isteğe bağlı) — True ise önbelleği atlayıp en güncel verileri getirir. Varsayılan değeri False'dur. - revision (
str, isteğe bağlı) — Bilgilerin alınacağı git revizyonu.
Dönüş değeri
dict[str, Any]
Dosya bilgilerini (tür, boyut, commit bilgisi vb.) içeren sözlük.
Bir dosya veya dizin hakkında bilgi alın.
Daha fazla ayrıntı için fsspec belgeleri'ne başvurun.
Not: Mümkün olduğunda daha iyi performans için
HfApi.get_paths_info()veyaHfApi.repo_info()kullanın (veya bucket'lar içinHfApi.get_bucket_paths_info()veyaHfApi.bucket_info())
invalidate_cache
< source >( path: str | None = None )
Belirtilen yol için önbelleği temizleyin.
Daha fazla ayrıntı için fsspec belgeleri'ne başvurun.
isdir
< source >( path ) → bool
Bir yolun dizini olup olmadığını kontrol edin.
Daha fazla ayrıntı için fsspec belgeleri'ne başvurun.
isfile
< source >( path ) → bool
Bir yolun dosya olup olmadığını kontrol edin.
Daha fazla ayrıntı için fsspec belgeleri'ne başvurun.
ls
< source >( path: strdetail: bool = Truerefresh: bool = Falserevision: str | None = None**kwargs ) → list[Union[str, dict[str, Any]]]
Parametreler
- path (
str) — Dizinin yolu. - detail (
bool, isteğe bağlı) — True ise, dosya bilgilerini içeren sözlüklerden oluşan bir liste döndürür. False ise, dosya yollarından oluşan bir liste döndürür. Varsayılan değer True'dur. - refresh (
bool, isteğe bağlı) — True ise önbelleği atlayıp en güncel verileri getirir. Varsayılan değeri False'dur. - revision (
str, isteğe bağlı) — Listelenmesi istenen git revizyonu.
Dönüş değeri
list[Union[str, dict[str, Any]]]
Dosya yolu listesi (detail=False ise) veya dosya bilgi sözlükleri listesi (detail=True ise).
Bir dizinin içeriğini listele.
Daha fazla ayrıntı için fsspec belgeleri'ne başvurun.
Not: Mümkün olduğunda daha iyi performans için
HfApi.list_repo_tree()kullanın.
değiştirildi
< source >( path: str**kwargs ) → datetime
Bir dosyanın son değiştirilme zamanını alın.
Daha fazla ayrıntı için fsspec belgeleri'ne başvurun.
resolve_path
< source >( path: strrevision: str | None = None ) → HfFileSystemResolvedPath
Parametreler
- path (
str) — Çözümlenecek yol. - revision (
str, isteğe bağlı) — Çözümlenecek depoyun revizyonu. Varsayılan olarak yol içinde belirtilen revizyondur.
Dönüş değeri
HfFileSystemResolvedPath
repo_type, repo_id, revision ve path_in_repo içeren çözümlenmiş yol bilgisi.
Yükseltilen
ValueError veya NotImplementedError
ValueError— path çelişkili revizyon bilgisi içeriyorsa.NotImplementedError— Depoların listelenmeye çalışılması durumunda.
Hugging Face dosya sistemi yolunu bileşenlerine ayırın.
rm
< source >( path: strrecursive: bool = Falsemaxdepth: int | None = Nonerevision: str | None = None**kwargs )
Parametreler
- path (
str) — Silinecek yol. - recursive (
bool, isteğe bağlı) — True ise, dizini ve tüm içeriğini siler. Varsayılan olarak False. - maxdepth (
int, isteğe bağlı) — Özyinelemeli silme sırasında ziyaret edilecek alt dizinlerin maksimum sayısı. - revision (
str, isteğe bağlı) — Silme işlemi için kullanılacak git revizyonu.
Bir depodan dosyaları silin.
Daha fazla ayrıntı için fsspec belgeleri'ne başvurun.
Not: Mümkün olduğunda daha iyi performans için
HfApi.delete_file()kullanın.
url
< source >( path: str ) → str
Verilen yolun HTTP URL'sini alın.
gezin
< source >( path: str*args**kwargs ) → Iterator[tuple[str, list[str], list[str]]]
Verilen yolun altındaki tüm dosyaları döndürür.
Daha fazla ayrıntı için fsspec belgeleri'ne başvurun.