Hub Python Library documentation

HF URI'leri

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v2.4.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HF URI'leri

HF URI, Hugging Face Hub üzerindeki bir konumu tanımlayan URI benzeri bir dizgedir. Kütüphane ve CLI boyunca, hf://... dizgeleri şunlara işaret etmek için kullanılır:

  • bir model, veri seti, space veya kernel deposu (isteğe bağlı olarak bir revizyona sabitlenmiş);
  • böyle bir depodaki bir dosya veya alt klasör;
  • a bucket veya bir bucket içindeki alt klasör.

Bir HF mount, bir HF URI'sini yerel bir bağlama yolu ve isteğe bağlı :ro / :rw bayrağı ile sarar; Spaces ve Jobs hacimleri tarafından kullanılır.

Bu sayfa, HF URI'lerinin ve HF bağlamalarının kanonik sözdizimini belgelemektedir. Kütüphanenin her yerinde aynı ayrıştırıcı kullanıldığından, bir bağlamda geçerli olan bir URI (ör. HfFileSystem), başka bir bağlamda da aynı şekilde ayrıştırılır.

parse_hf_uri() ayrıca Hugging Face web URL'lerini de kabul eder (ör. https://huggingface.co/datasets/my-org/my-dataset/blob/main/train.csv) böylece web sitesinden bir bağlantıyı kopyalayıp yapıştırabilirsiniz. Aşağıdaki Web URL'leri bölümüne bakın.

HF URI sözdizimi

hf://[<TYPE>/]<ID>[@<REVISION>][/<PATH>]
BileşenZorunluİzin verilen değerler
hf://evetLiteral protokol öneki.
<TYPE>/hayırmodels/, datasets/, spaces/, kernels/, buckets/ (çoğul).
<ID>evet<namespace>/<name>
@<REVISION>hayırBranch, tag, commit SHA veya özel ref (refs/pr/N, refs/convert/...). Yalnızca depolar.
/<PATH>hayırDepoda veya kovada (bucket) yol.

HF yerleştirme sözdizimi

hf://[<TYPE>/]<ID>[@<REVISION>][/<PATH>]:<MOUNT_PATH>[:ro|:rw]

Bir mount, :<MOUNT_PATH> ile takip edilen bir HF URI'si ve isteğe bağlı bir :ro / :rw bayrağıdır.

BileşenZorunluİzin verilen değerler
<MOUNT_PATH>evetMutlak bağlama yolu (/ ile başlamalıdır).
:ro / :rwhayırSalt okunur / salt okunur-yazılır bayrağı.

HF URI nedir

Aşağıdakiler tüm geçerli HF URI'leridir:

# Models (type prefix is optional, but the id is always 'namespace/name')
hf://my-org/my-model                            # implicit type prefix
hf://models/my-org/my-model                     # explicit type prefix
hf://models/my-org/my-model/config.json         # file inside a model repo
hf://models/my-org/my-model@v1.0/config.json    # pinned to a revision

# Datasets, Spaces, Kernels (type prefix is required)
hf://datasets/my-org/my-dataset
hf://datasets/my-org/my-dataset@dev/train.csv
hf://spaces/my-user/my-space
hf://kernels/my-org/my-kernel

# Special revisions (preserved as-is)
hf://datasets/my-org/my-dataset@refs/pr/10/data.csv
hf://datasets/my-org/my-dataset@refs/convert/parquet/data.parquet

# Buckets (always 'namespace/name', no revision)
hf://buckets/my-org/my-bucket
hf://buckets/my-org/my-bucket/sub/folder

Aşağıdakiler geçerli HF bağlamaları (hacim tanımları)dır:

hf://my-org/my-model:/data
hf://datasets/my-org/my-dataset:/mnt:ro
hf://datasets/my-org/my-dataset/train:/mnt:rw    # mount a sub-folder
hf://buckets/my-org/my-bucket:/storage:rw

HF URI olmayan şeyler

Ayrıştırıcı bilinçli olarak katıdır. Aşağıdakiler reddedilir:

Geçersiz URINeden
my-org/my-model, ./local/pathhf:// öneki eksik ve tanınan bir Hugging Face URL'si değil.
hf://dataset/org/m, hf://model/org/mTekil tip biçimleri yasaktır, çoğul kullanın (datasets/, …).
hf://datasets, hf://buckets/Yalnızca bir tür öneki geçerli bir URI değildir, bir <ID> gereklidir.
hf://gpt2, hf://datasets/squadAd alanı olmayan kanonik depolar desteklenmez.
hf://buckets/single-segmentKovalar her zaman namespace/name biçiminde olmalıdır.
hf://buckets/org/b@v1Buckets bir revizyon işareti desteklemez.
hf://org/m@, hf://datasets/foo/bar@/x@ sonrasında boş revizyon.
hf://a/b/c@v1Bir depo kimliği namespace/name biçiminde olmalıdır, ek segmentler yollardır.
hf://org/m:/Mount path boş olmayan mutlak bir yol olmalıdır.

Web URL'leri

Kolaylık olması için parse_hf_uri(), tarayıcınızdan kopyalayıp yapıştırdığınız Hugging Face web URL'lerini de kabul eder. Bunlar, CLI veya kütüphaneye doğrudan yapıştırıldığında “olduğu gibi çalışması” için standart hf:// biçimine dönüştürülür:

>>> from huggingface_hub import parse_hf_uri
>>> parse_hf_uri("https://huggingface.co/datasets/my-org/my-dataset/blob/main/train.csv")
HfUri(type='dataset', id='my-org/my-dataset', revision='main', path_in_repo='train.csv')

huggingface.co adreslerinden (ve hf.co kısaltılmış alan adından, staging sunucusundan ve özel bir HF_ENDPOINT sunucusundan) gelen URL'ler, https:// şeması olsun ya da olmasın tanınır. Sorgu dizgeleri (?download=true) ve parçalar (#L10) yok sayılır.

Başka bir Hub dağıtımından (ör. kendi barındırdığınız veya proxy'li bir Hub) bir URL ayrıştırmak için, temel URL'sini endpoint olarak iletin. Bu durumda, varsayılanların yanı sıra bu host da tanınır ve ayrıştırma öncesinde bir yol öneki (ör. http://localhost:8080/hf) kaldırılır:

>>> parse_hf_uri("https://hub.my-company.com/datasets/my-org/my-dataset", endpoint="https://hub.my-company.com")
HfUri(type='dataset', id='my-org/my-dataset', revision=None, path_in_repo='')

Desteklenen URL biçimleri

Aşağıdaki tablo desteklenen rotaları listeler. Kısa tutmak için yalnızca URL yolu gösterilmektedir (hosttan sonraki kısım, örn. huggingface.co); tanınan host ima edilir.

Şu konuma işaret ederURL yolu
Model deposu/<ns>/<name>
Veri seti deposu (spaces/, kernels/, models/ için de aynı)/datasets/<ns>/<name>
Bir depodaki klasör, <rev> konumunda sabitlenmiş/<ns>/<name>/tree/<rev>[/<path>]
Depodaki dosya (dosya görüntüleyici yolu)/<ns>/<name>/blob/<rev>/<path>
Depodaki dosya (indirme yolu)/<ns>/<name>/resolve/<rev>/<path>
Depodaki dosya (ham rota)/<ns>/<name>/raw/<rev>/<path>
Depodaki dosya (blame rotası)/<ns>/<name>/blame/<rev>/<path>
Bucket/buckets/<ns>/<name>
Bir varlık içindeki dosya (varlıklar sürüm yönetimi yapılmaz)/buckets/<ns>/<name>/resolve/<path>
Bir bucket içindeki klasör/buckets/<ns>/<name>/tree/<path>

Revizyon, blob/resolve/raw/tree/blame hemen ardından gelen tek segmentten alınır. / içermelerine rağmen özel referanslar (refs/pr/N, refs/convert/...) özenle eşleştirilir; / içeren diğer tüm dal/etiket adları URL kodlamalı olmalıdır (feature%2Ffoo).

Ayrıştırılmayan URL'ler

Bir URL belirsizse veya Hub'da somut bir konuma işaret etmiyorsa reddedilir (asla tahmin edilmez):

Aşağıdaki yollar, son satırda konak kendisinin reddetme nedeni olması dışında, yine konak olmadan gösterilmektedir.

NedenURL yolu
Tek segmentli URL: kullanıcı/örgüt sayfası, liste sayfası veya kanonik depo — belirsiz./<username>
Listeleme sayfası, <ns>/<name> yok./datasets
Ad alanı olmayan kanonik depolar desteklenmez./gpt2
Bir dosya/klasör konumu değil (commits, discussions, settings, … için de aynı)./<ns>/<name>/commit/<rev>
Koleksiyonlar depolar değildir./collections/<ns>/<slug>
Host, tanınan bir Hugging Face hostu değil.https://example.com/<ns>/<name>

Bir web URL'sini görüntüleme

HfUri.to_url(), bir URL'nin ayrıştırılmasının tersidir: bir HF URI için taranabilir web URL'sini oluşturur.

>>> uri = parse_hf_uri("hf://datasets/my-org/my-dataset@v1/train.csv")
>>> uri.to_url()
'https://huggingface.co/datasets/my-org/my-dataset/blob/v1/train.csv'

Yol veya revizyon ayarlanmadığında depo / bucket açılış sayfasına, yalnızca revizyon ayarlandığında klasör görüntüleyicisine (/tree/<rev>), depo dosyaları için dosya görüntüleyicisine (/blob/<rev>/<path>, revizyon varsayılan olarak main) ve bucket dosyaları için ağaç rotasına (/tree/<path>) işaret eder. Yoldaki özel karakterler (boşluklar, #, …) yüzde kodlanır. Özel bir hedefe gitmek için endpoint=... parametresini iletin.

Python'da ayrıştırma

URI'leri ayrıştırma

parse_hf_uri() merkezi URI ayrıştırıcısıdır. Saf bir dize ayrıştırıcısıdır (ağ çağrısı içermez) ve dondurulmuş bir HfUri veri sınıfı döndürür.

>>> from huggingface_hub import parse_hf_uri
>>> parse_hf_uri("hf://datasets/my-org/my-dataset@refs/pr/3/train.json")
HfUri(type='dataset', id='my-org/my-dataset', revision='refs/pr/3', path_in_repo='train.json')

HfUri, HfUri.to_uri() ile gidiş-dönüş yapılabilir; bu yöntem her zaman kanonik biçimi (açık bir tür önekiyle) üretir:

>>> uri = parse_hf_uri("hf://my-org/my-model@v1/config.json")
>>> uri.to_uri()
'hf://models/my-org/my-model@v1/config.json'

type ve id alanlarını doğrudan kullanın. is_repo ve is_bucket boole özellikleri, gerektiğinde depo URI'leri ile varlık kovası URI'leri arasında ayrım yapar.

Montların ayrıştırılması

parse_hf_mount, bir montaj spesifikasyonunu (yerel bir montaj yolu ve isteğe bağlı :ro/:rw bayrağı içeren bir HF URI) ayrıştırır ve dondurulmuş bir HfMount dataclass döndürür. Arka planda parse_hf_uri() kullanır.

>>> from huggingface_hub.utils import parse_hf_mount
>>> parse_hf_mount("hf://buckets/my-org/my-bucket/sub/dir:/mnt:ro")
HfMount(source=HfUri(type='bucket', id='my-org/my-bucket', revision=None, path_in_repo='sub/dir'), mount_path='/mnt', read_only=True)

HfMount, HfMount.to_uri üzerinden çift yönlü dönüştürülebilir:

>>> mount = parse_hf_mount("hf://my-org/my-model:/data:ro")
>>> mount.to_uri()
'hf://models/my-org/my-model:/data:ro'

Referans

sınıf huggingface_hub.HfUri

< >

( type: typing.Literal['model', 'dataset', 'space', 'kernel', 'bucket']id: strrevision: str | None = Nonepath_in_repo: str = ''_raw: str | None = None )

Parametreler

  • type (str) — ‘model’, ‘dataset’, ‘space’, ‘kernel’ veya ‘bucket’ değerlerinden biri.
  • id (str) — Depo URI'leri için depo kimliği (‘namespace/name’, örn. ‘my-org/my-model’) veya bucket URI'leri için bucket kimliği (‘namespace/name’).
  • revision (str, isteğe bağlı) — URI'de '@' işaretinden sonra belirtilen revizyon, URL kodu çözülmüş haliyle. Revizyon belirtilmediyse veya bucket URI'leri için (asla revizyon taşımazlar) 'None'. 'refs/pr/10' ve 'refs/convert/parquet' gibi özel referanslar olduğu gibi korunur.
  • path_in_repo (str) — Depo veya bucket içindeki yol. URI köke işaret ediyorsa boş dize.

Hugging Face Hub URI’sinin ('hf://…') ayrıştırılmış gösterimi.

to_uri

< >

( )

URI'yi kanonik bir ‘hf://’ dizgesi olarak görüntüleyin.

Tip öneki her zaman açıkça yazılır (ör. ‘hf://models/my-org/my-model’).

to_url

< >

( endpoint: str | None = None ) → str

Parametreler

  • endpoint (str, isteğe bağlı) — Kullanılacak temel uç nokta. Varsayılan olarak ‘constants.ENDPOINT’ (yani ’https://huggingface.co’) kullanılır.

Dönüş değeri

str

web URL'si.

URI'yi Hugging Face web URL'si olarak görüntüleyin (tarayıcıda açtığınız türden).

Bu, bir URL'yi parse_hf_uri() ile ayrıştırmanın tersidir. Dönen URL şuna işaret eder:

  • yol veya revizyon ayarlanmadığında depo / varlık kovası (bucket) açılış sayfası;
  • sadece bir revizyon ayarlandığında klasör görüntüleyici ('/tree/<revision>');
  • depo dosyaları için dosya görüntüleyici (‘/blob/<revision>/<path>’) (revizyon varsayılan olarak ‘main’dir);
  • bucket dosyaları için ağaç rotası (‘/tree/<path>’) (bucketler sürüm yönetimi yapılmaz).

Örnek:

>>> from huggingface_hub import parse_hf_uri
>>> parse_hf_uri("hf://datasets/my-org/my-dataset@v1/train.csv").to_url()
'https://huggingface.co/datasets/my-org/my-dataset/blob/v1/train.csv'

huggingface_hub.parse_hf_uri

( uri: strendpoint: str | None = None ) → HfUri

Parametreler

  • uri (str) — Ayrıştırılacak URI. ‘hf://’ ile başlamalı veya bir Hugging Face URL’si olmalıdır (ör. ’https://huggingface.co/…’).
  • endpoint (str, isteğe bağlı) — Özel bir Hub uç noktası (ör. self-hosted veya proxy’li bir Hub gibi ’https://hub.my-company.com’ veya ‘http://localhost:8080/hf’). Sağlandığında, varsayılan Hugging Face hostlarına ek olarak bu uç noktadaki web URL’leri de tanınır. ‘hf://’ URI’leri üzerinde hiçbir etkisi yoktur.

Dönüş değeri

HfUri

çözümlenmiş URI.

Yükseltilen

HfUriError

  • HfUriError — URI biçimsizse (ön ek eksik, geçersiz tür, kimlik eksik, desteklenmeyen URL yolu vb.).

Bir Hugging Face Hub URI’sini (‘hf://…’) veya bir Hugging Face web URL’sini ayrıştırır.

HF URI, Hugging Face Hub üzerindeki bir konumu tanımlayan URI benzeri bir dizgedir. Tam sözdizimi şudur:

hf://[<TYPE>/]<ID>[@<REVISION>][/<PATH>]

Kolaylık sağlamak amacıyla, Hugging Face web URL'leri (web sitesinden kopyalayıp yapıştırdıklarınız) de kabul edilir ve ‘hf://’ biçimine normalize edilir, örneğin ’https://huggingface.co/datasets/my-org/my-dataset/blob/main/train.csv’. Yalnızca belirsiz olmayan URL'ler (depo / bucket sayfaları ve dosya/klasör görüntüleyici rotaları) kabul edilir; diğer tüm rotalar reddedilir.

Tam kullanım kılavuzu için ‘docs/source/en/package_reference/hf_uris.md’ dosyasına bakın.

Örnekler:

>>> from huggingface_hub.utils import parse_hf_uri
>>> parse_hf_uri("hf://my-org/my-model")
HfUri(type='model', id='my-org/my-model', revision=None, path_in_repo='')
>>> parse_hf_uri("hf://datasets/my-org/my-dataset@refs/pr/3/train.json")
HfUri(type='dataset', id='my-org/my-dataset', revision='refs/pr/3', path_in_repo='train.json')
>>> parse_hf_uri("https://huggingface.co/datasets/my-org/my-dataset/blob/main/train.csv")
HfUri(type='dataset', id='my-org/my-dataset', revision='main', path_in_repo='train.csv')

sınıf huggingface_hub.utils.HfMount

< >

( source: HfUrimount_path: strread_only: bool | None = None_raw: str | None = None )

Parametreler

  • source (HfUri) — Monte edilecek Hub kaynağını belirleyen ayrıştırılmış HF URI.
  • mount_path (str) — Yerel bağlama yolu (her zaman ’/’ ile başlar).
  • read_only (bool, isteğe bağlı) — Mount sonu ‘:ro’ ile bitiyorsa True, ‘:rw’ ile bitiyorsa False, bayrak sağlanmadıysa ‘None’.

Yerel bir bağlama yolu ve isteğe bağlı salt okunur bayrağıyla eşleştirilmiş bir HF URI.

Volumes ve Jobs tarafından hacim bağlamalarını açıklamak için kullanılır. Tam sözdizimi şudur:

hf://[<TYPE>/]<ID>[@<REVISION>][/<PATH>]:<MOUNT_PATH>[:ro|:rw]

to_uri

< >

( )

Mount'u kanonik bir ‘hf://’ dizesi olarak görüntüleyin.

Örnek: ‘hf://models/my-org/my-model:/data:ro’

huggingface_hub.utils.parse_hf_mount

< >

( mount_str: str ) → HfMount

Parametreler

  • mount_str (str) — Ayrıştırılacak bağlama dizgesi. ‘hf://’ ile başlamalı ve ’:’ segmenti içermelidir.

Dönüş değeri

HfMount

çözümlenen bağlama.

Yükseltilen

HfUriError

  • HfUriError — Eğer bağlama dizgesi biçimsizse (eksik bağlama yolu, geçersiz URI vb.).

Bir HF montu spesifikasyonunu ayrıştırın (‘hf://…:<MOUNT_PATH>[:ro|:rw]’).

Bir montaj spesifikasyonu, bir HF URI'sini, yerel bir montaj yolunu ve isteğe bağlı bir salt okunur/okunabilir-yazılabilir bayrağını içerir.

Tam dilbilgisi şudur:

hf://[<TYPE>/]<ID>[@<REVISION>][/<PATH>]:<MOUNT_PATH>[:ro|:rw]

Tam kullanım kılavuzu için ‘docs/source/en/package_reference/hf_uris.md’ dosyasına bakın.

Örnekler:

>>> from huggingface_hub.utils import parse_hf_mount
>>> parse_hf_mount("hf://my-org/my-model:/data:ro")
HfMount(source=HfUri(type='model', id='my-org/my-model', revision=None, path_in_repo=''), mount_path='/data', read_only=True)
>>> parse_hf_mount("hf://buckets/my-org/my-bucket/sub/dir:/mnt:rw")
HfMount(source=HfUri(type='bucket', id='my-org/my-bucket', revision=None, path_in_repo='sub/dir'), mount_path='/mnt', read_only=False)
Update on GitHub