Hub Python Library documentation
Çıkarım Uç Noktaları
Çıkarım Uç Noktaları
Inference Endpoints, Hugging Face tarafından yönetilen, özel ve otomatik ölçeklendirme özellikli bir altyapıda modelleri kolayca dağıtmak için güvenli bir üretim çözümü sunar. Bir Inference Endpoint, Hub üzerindeki bir modelden oluşturulur. Bu sayfa, huggingface_hub'ün Inference Endpoints ile entegrasyonuna ilişkin bir referanstır. Inference Endpoints ürünü hakkında daha fazla bilgi için resmî dokümantasyonunu inceleyin.
huggingface_hubile Inference Endpoints'lerinizi programatik olarak nasıl yöneteceğinizi öğrenmek için ilgili kılavuza göz atın.
Inference Endpoints tamamen API üzerinden yönetilebilir. Uç noktalar Swagger ile belgelenmiştir. InferenceEndpoint sınıfı, bu API üzerine inşa edilmiş basit bir sarmalayıcıdır.
Yöntemler
Inference Endpoint özelliklerinin bir alt kümesi HfApi içinde uygulanmıştır:
- Inference Endpoints hakkında bilgi almak için get_inference_endpoint() ve list_inference_endpoints() kullanın
- Bir Inference Endpoint'i dağıtabileceğiniz donanımları listelemek için list_inference_endpoints_hardware() kullanın
- Inference Endpoint'leri dağıtmak ve yönetmek için create_inference_endpoint(), update_inference_endpoint() ve delete_inference_endpoint()
- list_inference_catalog() ve create_inference_endpoint_from_catalog() ile derlenmiş Model Catalog'u gözden geçirin ve dağıtın
- pause_inference_endpoint() ve resume_inference_endpoint() ile bir Inference Endpoint'i duraklatın ve yeniden başlatın
- Bir Endpoint'i manuel olarak 0 replikaya ölçeklemek için scale_to_zero_inference_endpoint()
InferenceEndpoint
Ana dataclass InferenceEndpoint'dir. Dağıtılmış bir InferenceEndpoint hakkında, yapılandırması ve mevcut durumu dahil olmak üzere bilgi içerir. Dağıtım tamamlandıktan sonra, Endpoint üzerinde çıkarım (inference) çalıştırmak için sırasıyla bir InferenceClient ve bir AsyncInferenceClient nesnesi döndüren InferenceEndpoint.client ve InferenceEndpoint.async_client özelliklerini kullanabilirsiniz.
sınıf huggingface_hub.InferenceEndpoint
< source >( namespace: strraw: dict_token: str | bool | None_api: HfApi )
Parametreler
- name (
str) — Inference Endpoint'in benzersiz adı. - namespace (
str) — Inference Endpoint'in bulunduğu namespace. - repository (
str) — Bu Inference Endpoint üzerinde dağıtılan model deposunun adı. - status (InferenceEndpointStatus) — Inference Endpoint'ün mevcut durumu.
- url (
str, isteğe bağlı) — Mevcutsa, Inference Endpoint'in URL'si. Yalnızca dağıtılmış bir Inference Endpoint'in URL'si vardır. - framework (
str) — Model için kullanılan makine öğrenimi çerçevesi. - revision (
str) — Inference Endpoint üzerinde dağıtılan belirli model revizyonu. - task (
str) — Dağıtılan modelle ilişkili görev. - created_at (
datetime.datetime) — Inference Endpoint'ın oluşturulma zaman damgası. - updated_at (
datetime.datetime) — Inference Endpoint'in son güncellenme zaman damgası. - type (InferenceEndpointType) — Inference Endpoint türü (public, authenticated, private).
- raw (
dict) — API'den döndürülen ham sözlük verisi. - token (
strveyabool, isteğe bağlı) — API isteği sırasında ayarlanmışsa, Inference Endpoint için kimlik doğrulama jetonu. Sağlanmazsa, yerel olarak kaydedilmiş jeton varsayılan olarak kullanılır. Jetonun sunucuya gönderilmesini istemiyorsanıztoken=Falsegeçirin.
Dağıtılmış bir Inference Endpoint hakkında bilgi içerir.
Örnek:
>>> from huggingface_hub import get_inference_endpoint
>>> endpoint = get_inference_endpoint("my-text-to-image")
>>> endpoint
InferenceEndpoint(name='my-text-to-image', ...)
# Get status
>>> endpoint.status
'running'
>>> endpoint.url
'https://68a0f3b5c6ee5c9dcc0e0a01.endpoints.huggingface.cloud'
# Run inference
>>> endpoint.client.text_to_image(...)
# Pause endpoint to save $$$
>>> endpoint.pause()
# ...
# Resume and wait for deployment
>>> endpoint.resume()
>>> endpoint.wait()
>>> endpoint.client.text_to_image(...)from_raw
< source >( raw: dictnamespace: strtoken: str | bool | None = Noneapi: typing.Optional[ForwardRef('HfApi')] = None )
Ham sözlükten nesneyi başlatır.
istemci
< source >( ) → InferenceClient
Dönüş değeri
dağıtılan uç noktaya işaret eden bir çıkarım istemcisi.
Yükseltilen
- InferenceEndpointError — Inference Endpoint henüz dağıtılmamışsa.
Bu Inference Endpoint üzerinde tahminler yapmak için bir istemci döndürür.
async_client
< source >( ) → AsyncInferenceClient
Dönüş değeri
dağıtılan uç noktaya işaret eden, asyncio ile uyumlu bir çıkarım istemcisi.
Yükseltilen
- InferenceEndpointError — Inference Endpoint henüz dağıtılmamışsa.
Bu Inference Endpoint üzerinde tahminler yapmak için bir istemci döndürür.
Inference Endpoint'ı silin.
Bu işlem geri alınamaz. Bir Inference Endpoint için ücretlendirilmek istemiyorsanız, onu InferenceEndpoint.pause() ile duraklatmak veya InferenceEndpoint.scale_to_zero() ile sıfıra ölçeklendirmek tercih edilir.
Bu, HfApi.delete_inference_endpoint() için bir takma addır.
fetch
< source >( ) → InferenceEndpoint
Dönüş değeri
en son verilerle yerinde değiştirilen aynı Inference Endpoint.
Inference Endpoint hakkında en güncel bilgileri getirin.
duraklat
< source >( ) → InferenceEndpoint
Dönüş değeri
en son verilerle yerinde değiştirilen aynı Inference Endpoint.
Inference Endpoint'ı duraklatın.
Duraklatılmış bir Inference Endpoint için ücretlendirme yapılmaz. InferenceEndpoint.resume() kullanılarak istenilen her an yeniden başlatılabilir. Bu, bir istek yapıldığında otomatik olarak yeniden başlatılacak olan InferenceEndpoint.scale_to_zero() ile Inference Endpoint'i sıfıra ölçeklendirmekten farklıdır.
Bu, HfApi.pause_inference_endpoint() için bir takma addır. Geçerli nesne, sunucudan gelen en son verilerle yerinde değiştirilir.
devam et
< source >( running_ok: bool = True ) → InferenceEndpoint
Inference Endpoint'ı yeniden başlatın.
Bu, HfApi.resume_inference_endpoint() için bir takma addır. Mevcut nesne, sunucudaki en son verilerle yerinde değiştirilir.
scale_to_zero
< source >( ) → InferenceEndpoint
Dönüş değeri
en son verilerle yerinde değiştirilen aynı Inference Endpoint.
Inference Endpoint'ı sıfıra ölçekleyin.
Sıfıra ölçeklendirilmiş bir Inference Endpoint için ücretlendirme yapılmaz. Bir sonraki istek geldiğinde, soğuk başlatma gecikmesiyle birlikte yeniden başlatılır. Bu, InferenceEndpoint.pause() ile Inference Endpoint'i duraklatmaktan farklıdır; bu durumda InferenceEndpoint.resume() ile manuel olarak yeniden başlatma gerektirir.
Bu, HfApi.scale_to_zero_inference_endpoint() için bir takma addır. Mevcut nesne, sunucudan gelen en son verilerle yerinde değiştirilir.
güncelle
< source >( accelerator: str | None = Noneinstance_size: str | None = Noneinstance_type: str | None = Nonemin_replica: int | None = Nonemax_replica: int | None = Nonescale_to_zero_timeout: int | None = Nonerepository: str | None = Noneframework: str | None = Nonerevision: str | None = Nonetask: str | None = Nonecustom_image: dict | None = Nonecontainer_command: list[str] | None = Nonecontainer_args: list[str] | None = Nonetensor_parallel_size: int | None = Nonedata_parallel_size: int | None = Nonesecrets: dict[str, str] | None = None ) → InferenceEndpoint
Parametreler
- accelerator (
str, isteğe bağlı) — Çıkarım için kullanılacak donanım hızlandırıcısı (ör."cpu"). - instance_size (
str, isteğe bağlı) — Modelin barındırılmasında kullanılacak örneğin boyutu veya türü (ör."x4"). - instance_type (
str, isteğe bağlı) — Inference Endpoint'in dağıtılacağı bulut örnek türü (ör."intel-icl"). - min_replica (
int, isteğe bağlı) — Inference Endpoint için çalışmaya devam ettirilecek en az replika (örnek) sayısı. - max_replica (
int, isteğe bağlı) — Inference Endpoint için ölçeklenecek maksimum replika (örnek) sayısı. - scale_to_zero_timeout (
int, isteğe bağlı) — Pasif bir uç noktanın sıfıra ölçeklenmeden önce geçen dakika cinsinden süre. - repository (
str, isteğe bağlı) — Inference Endpoint ile ilişkili model deposunun adı (ör."gpt2"). - framework (
str, isteğe bağlı) — Model için kullanılan makine öğrenimi çerçevesi (ör."custom"). - revision (
str, isteğe bağlı) — Inference Endpoint üzerinde dağıtılacak belirli model revizyonu (ör."6c0e6080953db56375760c0471a8c5f2929baf11"). - task (
str, isteğe bağlı) — Modelin dağıtılacağı görev (ör."text-classification"). - custom_image (
dict, isteğe bağlı) — Çalıştırılacak konteyner görüntüsü. Anahtarları görüntü varyantı olan bir sözlük (ör.{"vLLM": {"url": "vllm/vllm-openai:v0.23.0", "port": 8000}}, ayrıcasGLang,tgi,tei,llamacpp,hfServe, …) olarak, olduğu gibi iletilebilir veya özel bir konteyneri tanımlayan düz bir sözlük (ör.{"url": ..., "port": ...}) olarak,{"custom": ...}olarak gönderilebilir. - container_command (
list[str], isteğe bağlı) — Kapsayıcı giriş noktası komutunu geçersiz kılar (API yükündemodel.commandalanına eşlenir). Hem yönetilen motor görüntüleriyle (ör. vLLM, SGLang) hem de özel görüntülerle çalışır. - container_args (
list[str], isteğe bağlı) — Kapsayıcı giriş noktasına eklenen argümanlar (API yüklemesindemodel.argsalanına eşlenir). Hem yönetilen motor görüntüleriyle (ör. vLLM, SGLang) hem de özel görüntülerle çalışır. - tensor_parallel_size (
int, isteğe bağlı) — Tek bir model kopyasının dağıtılacağı hızlandırıcı sayısı (vLLM ve SGLang görüntüleri).custom_imageverilmediğinde, API’ninmodel.image’ı bütünüyle gerektirmesi nedeniyle, uç noktada (endpoint) şu anda yapılandırılmış olan görüntü alınır ve yerinde güncellenir. - data_parallel_size (
int, isteğe bağlı) — Her hızlandırıcıda bir tane olmak üzere çalıştırılacak model kopyalarının sayısı (vLLM görüntüleri). - secrets (
dict[str, str], isteğe bağlı) — Kapsayıcı ortamına enjekte edilecek gizli değerler.
Dönüş değeri
en son verilerle yerinde değiştirilen aynı Inference Endpoint.
Inference Endpoint'ı güncelleyin.
Bu yöntem, hesaplama yapılandırmasının, dağıtılan modelin veya her ikisinin de güncellenmesine olanak tanır. Tüm argümanlar isteğe bağlıdır ancak en az birinin sağlanması gerekir.
Bu, HfApi.update_inference_endpoint() için bir takma addır. Mevcut nesne, sunucudan gelen en güncel verilerle yerinde değiştirilir.
bekle
< source >( timeout: int | None = Nonerefresh_every: int = 5 ) → InferenceEndpoint
Parametreler
- timeout (
int, isteğe bağlı) — Inference Endpoint'ın dağıtılması için saniye cinsinden beklenmesi gereken en uzun süre.Noneise, süresiz beklenir. - refresh_every (
int, isteğe bağlı) — Inference Endpoint durumunun her sorgulanması arasında beklenen süre, saniye cinsinden. Varsayılan değer 5 sn'dir.
Dönüş değeri
en son verilerle yerinde değiştirilen aynı Inference Endpoint.
Yükseltilen
InferenceEndpointError veya InferenceEndpointTimeoutError
- InferenceEndpointError — Inference Endpoint başarısız bir duruma geçtiyse.
InferenceEndpointTimeoutError— Inference Endpoint,timeoutsaniyesinin sonunda dağıtılmadıysa.
Inference Endpoint'in dağıtılmasını bekleyin.
Sunucudan bilgi her 1 saniyede bir alınır. timeout saniye sonra Inference Endpoint dağıtılmamışsa, bir InferenceEndpointTimeoutError oluşturulur. InferenceEndpoint, en güncel verilerle yerinde değiştirilir.
InferenceEndpointHardware
sınıf huggingface_hub.InferenceEndpointHardware
< source >( id: strvendor: strregion: straccelerator: strinstance_type: strinstance_size: strarchitecture: strnum_accelerators: intnum_cpus: int | Nonememory_gb: floatgpu_memory_gb: int | Noneprice_per_hour: floatstatus: strmax_accelerators: intused_accelerators: int )
Parametreler
- id (
str) — Benzersiz donanım tanımlayıcısı, örn."aws-us-east-1-nvidia-l4-x1". - vendor (
str) — Donanımı barındıran bulut sağlayıcısı, örn."aws". - region (
str) — Donanımın kullanılabilir olduğu bulut bölgesi, örn."us-east-1". - accelerator (
str) — Donanım hızlandırıcısının türü, örn."cpu","gpu"veya"neuron". - instance_type (
str) — Bulut örnek türü, örn."nvidia-l4". - instance_size (
str) — Örnek boyut çarpanı, örn."x1". - architecture (
str) — İnsan tarafından okunabilir donanım açıklaması, örn."Nvidia L4". - num_accelerators (
int) — Her replika başına hızlandırıcı birimi sayısı. - num_cpus (
int, isteğe bağlı) — Kopya başına vCPU sayısı. - memory_gb (
float) — Kopya başına RAM, GB cinsinden. - gpu_memory_gb (
int, isteğe bağlı) — Replik başına toplam GPU belleği, GB cinsinden (yaninum_acceleratorsüzerinden toplanmış). GPU olmayan donanımlar içinNone. - price_per_hour (
float) — Saat başına kopya başına maliyet, ABD doları cinsinden. - status (
str) — Donanımın durumu:"available","low_availability","not_available","reserved"veya"deprecated". - max_accelerators (
int) — Bu türden hızlandırıcılardan, ad alanının çalışmasına izin verilen maksimum sayısı. - used_accelerators (
int) — Bu ad alanı tarafından şu anda kullanılan bu türden hızlandırıcı sayısı.
Inference Endpoints için kullanılabilir bir donanım yapılandırması hakkında bilgi içerir.
vendor, region, accelerator, instance_type ve instance_size alanları, bu donanımda dağıtım yapmak için create_inference_endpoint() (veya hf endpoints deploy) fonksiyonuna geçirilecek değerlerin ta kendisidir.
Örnek:
>>> from huggingface_hub import list_inference_endpoints_hardware
>>> hardware = list_inference_endpoints_hardware()
>>> hardware[0]
InferenceEndpointHardware(id='aws-us-east-1-nvidia-l4-x1', vendor='aws', region='us-east-1', ...)API yanıtında bir satıcı ve bir bölge altında yer alan ham bir hesaplama sözlüğünden nesneyi başlatır.
InferenceCatalogModel
sınıf huggingface_hub.InferenceCatalogModel
< source >( repo_id: strname: strauthor: strlicense: strtask: strcreated_at: datetimerecipes: list )
Parametreler
- repo_id (
str) — Hub'daki model deposunun kimliği, örn."meta-llama/Llama-3.1-8B-Instruct". - name (
str) — Model adı, yanirepo_idiçinde yazarın sonraki kısmı, örneğin"Llama-3.1-8B-Instruct". - author (
str) — Model deposunun yazarı, örn."meta-llama". - license (
str) — Modelin lisansı, örneğin"Apache 2.0". - task (
str) — Modelin dağıtıldığı görev, örn."text-generation". - created_at (
datetime) — Modelin kataloğa eklendiği tarih. - recipes (
list[InferenceCatalogRecipe]) — Bu modelin dağıtımının test edilmiş yolları.
Inference Catalog'da mevcut bir model hakkında bilgi içerir.
Örnek:
>>> from huggingface_hub import list_inference_catalog
>>> catalog = list_inference_catalog(engine="vllm")
>>> catalog[0]
InferenceCatalogModel(repo_id='Qwen/Qwen2.5-Coder-7B-Instruct', name='Qwen2.5-Coder-7B-Instruct', ...)Ham katalog öğesi sözlüğünden nesneyi başlatır.
InferenceCatalogRecipe
sınıf huggingface_hub.InferenceCatalogRecipe
< source >( id: straccelerator: strengine: strgguf_file: str | Nonerevision: str | None )
Parametreler
- id (
str) — create_inference_endpoint_from_catalog() fonksiyonunarecipe_idolarak geçirilecek olan herkese açık tarif kimliği. - accelerator (
str) — Tarifin çalıştığı donanım hızlandırıcısının türü, örn."cpu","gpu"veya"neuron". - engine (
str) — Tarifin çalıştığı çıkarım motoru, örn."vllm","llamacpp","tei"veya"sglang". - gguf_file (
str, isteğe bağlı) — Tarif tarafından dağıtılan GGUF dosyası. Yalnızca"llamacpp"tarifleri için ayarlanır. - revision (
str, isteğe bağlı) — Tarifin sabitlendiği model revizyonu, varsa.
Inference Catalog'dan bir model dağıtmanın önceden test edilmiş bir yoluna ilişkin bilgi içerir.
Bir tarif, Inference Endpoints ekibinin belirli bir model için test ettiği donanım ve motor kombinasyonudur. Bir modelin genellikle bir tarifi vardır, ancak birkaçı da olabilir (ör. bir GPU ve bir Neuron tarifi veya her GGUF kuantizasyonu için birer tarif).
Ham bir tarif sözlüğünden nesneyi başlatır, API yanıtında bir modelin altında yer alır.
InferenceEndpointStatus
sınıf huggingface_hub.InferenceEndpointStatus
< source >( valuenames = Nonemodule = Nonequalname = Nonetype = Nonestart = 1 )
Bir sayımsal (enumeration).
InferenceEndpointType
sınıf huggingface_hub.InferenceEndpointType
< source >( valuenames = Nonemodule = Nonequalname = Nonetype = Nonestart = 1 )
Bir sayımsal (enumeration).
InferenceEndpointError
Inference Endpoints ile uğraşırken genel bir istisna.