Hub Python Library documentation

Endpoint Inferensi

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

Endpoint Inferensi

Inference Endpoints menyediakan solusi produksi yang aman untuk dengan mudah mendeploy model pada infrastruktur khusus dan autoscaling yang dikelola oleh Hugging Face. Sebuah Inference Endpoint dibangun dari model di Hub. Halaman ini adalah referensi untuk integrasi huggingface_hub dengan Inference Endpoints. Untuk informasi lebih lanjut tentang produk Inference Endpoints, lihat dokumentasi resminya.

Lihat panduan terkait untuk mempelajari cara menggunakan huggingface_hub untuk mengelola Inference Endpoints Anda secara programatik.

Inference Endpoints dapat dikelola sepenuhnya melalui API. Endpoint didokumentasikan dengan Swagger. Kelas InferenceEndpoint adalah pembungkus sederhana yang dibangun di atas API ini.

Metode

Sebagian fitur Inference Endpoint diimplementasikan di HfApi:

InferenceEndpoint

Dataclass utama adalah InferenceEndpoint. Dataclass ini berisi informasi tentang InferenceEndpoint yang telah di-deploy, termasuk konfigurasinya dan status saat ini. Setelah di-deploy, Anda dapat menjalankan inferensi pada Endpoint menggunakan properti InferenceEndpoint.client dan InferenceEndpoint.async_client yang masing-masing mengembalikan objek InferenceClient dan AsyncInferenceClient.

kelas huggingface_hub.InferenceEndpoint

< >

( namespace: strraw: dict_token: str | bool | None_api: HfApi )

Parameter

  • name (str) — Nama unik dari Inference Endpoint.
  • namespace (str) — Namespace tempat Inference Endpoint berada.
  • repository (str) — Nama repositori model yang di-deploy pada Inference Endpoint ini.
  • status (InferenceEndpointStatus) — Status saat ini dari Inference Endpoint.
  • url (str, opsional) — URL dari Inference Endpoint, jika tersedia. Hanya Inference Endpoint yang telah di-deploy yang memiliki URL.
  • framework (str) — Framework machine learning yang digunakan untuk model.
  • revision (str) — Revisi model spesifik yang di-deploy pada Inference Endpoint.
  • task (str) — Tugas yang terkait dengan model yang di-deploy.
  • created_at (datetime.datetime) — Stempel waktu saat Inference Endpoint dibuat.
  • updated_at (datetime.datetime) — Stempel waktu dari pembaruan terakhir Inference Endpoint.
  • type (InferenceEndpointType) — Jenis Inference Endpoint (public, authenticated, private).
  • raw (dict) — Data kamus mentah yang dikembalikan dari API.
  • token (str atau bool, opsional) — Token autentikasi untuk Inference Endpoint, jika diset saat meminta API. Akan menggunakan token yang disimpan secara lokal jika tidak disediakan. Berikan token=False jika Anda tidak ingin mengirim token Anda ke server.

Berisi informasi tentang Inference Endpoint yang telah di-deploy.

Contoh:

>>> 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

< >

( raw: dictnamespace: strtoken: str | bool | None = Noneapi: typing.Optional[ForwardRef('HfApi')] = None )

Inisialisasi objek dari kamus mentah.

klien

< >

( ) → InferenceClient

Mengembalikan

InferenceClient

klien inferensi yang menunjuk ke endpoint yang telah di-deploy.

Mengembalikan klien untuk membuat prediksi pada Inference Endpoint ini.

async_client

< >

( ) → AsyncInferenceClient

Mengembalikan

AsyncInferenceClient

klien inferensi yang kompatibel dengan asyncio yang mengarah ke endpoint yang telah di-deploy.

Mengembalikan klien untuk membuat prediksi pada Inference Endpoint ini.

hapus

< >

( )

Hapus Inference Endpoint.

Operasi ini tidak dapat dibatalkan. Jika Anda tidak ingin dikenakan biaya untuk Inference Endpoint, sebaiknya Anda menjeda endpoint tersebut dengan InferenceEndpoint.pause() atau menolaknya hingga nol dengan InferenceEndpoint.scale_to_zero().

Ini adalah alias untuk HfApi.delete_inference_endpoint().

fetch

< >

( ) → InferenceEndpoint

Mengembalikan

InferenceEndpoint

Inference Endpoint yang sama, dimutasi di tempatnya dengan data terbaru.

Ambil informasi terbaru tentang Inference Endpoint.

jeda

< >

( ) → InferenceEndpoint

Mengembalikan

InferenceEndpoint

Inference Endpoint yang sama, dimutasi di tempatnya dengan data terbaru.

Jeda Endpoint Inferensi.

Inference Endpoint yang dijeda tidak akan dikenakan biaya. Endpoint ini dapat dilanjutkan kapan saja menggunakan InferenceEndpoint.resume(). Hal ini berbeda dengan menskalakan Inference Endpoint menjadi nol menggunakan InferenceEndpoint.scale_to_zero(), yang akan dimulai ulang secara otomatis ketika ada permintaan yang dikirim ke endpoint tersebut.

Ini adalah alias untuk HfApi.pause_inference_endpoint(). Objek saat ini dimutasi di tempat dengan data terbaru dari server.

lanjutkan

< >

( running_ok: bool = True ) → InferenceEndpoint

Parameter

  • running_ok (bool, opsional) — Jika True, metode tidak akan melempar error jika Inference Endpoint sudah berjalan. Defaultnya adalah True.

Mengembalikan

InferenceEndpoint

Inference Endpoint yang sama, dimutasi di tempatnya dengan data terbaru.

Lanjutkan Endpoint Inferensi.

Ini adalah alias untuk HfApi.resume_inference_endpoint(). Objek saat ini dimutasi di tempat dengan data terbaru dari server.

scale_to_zero

< >

( ) → InferenceEndpoint

Mengembalikan

InferenceEndpoint

Inference Endpoint yang sama, dimutasi di tempatnya dengan data terbaru.

Skalakan Endpoint Inferensi ke nol.

Inference Endpoint yang diskalakan ke nol tidak akan dikenakan biaya. Endpoint ini akan dilanjutkan pada permintaan berikutnya, dengan penundaan cold start. Hal ini berbeda dengan menjeda Inference Endpoint menggunakan InferenceEndpoint.pause(), yang akan memerlukan pengaktifan manual dengan InferenceEndpoint.resume().

Ini adalah alias untuk HfApi.scale_to_zero_inference_endpoint(). Objek saat ini dimutasi di tempat dengan data terbaru dari server.

perbarui

< >

( 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

Parameter

  • accelerator (str, opsional) — Akselerator perangkat keras yang akan digunakan untuk inferensi (mis. "cpu").
  • instance_size (str, opsional) — Ukuran atau tipe instance yang akan digunakan untuk hosting model (mis. "x4").
  • instance_type (str, opsional) — Jenis instance cloud tempat Inference Endpoint akan di-deploy (mis. "intel-icl").
  • min_replica (int, opsional) — Jumlah minimum replika (instans) yang harus tetap berjalan untuk Inference Endpoint.
  • max_replica (int, opsional) — Jumlah maksimum replika (instans) untuk diskalakan pada Inference Endpoint.
  • scale_to_zero_timeout (int, opsional) — Durasi dalam menit sebelum endpoint yang tidak aktif diskalakan menjadi nol.
  • repository (str, opsional) — Nama repositori model yang terkait dengan Inference Endpoint (misalnya "gpt2").
  • framework (str, opsional) — Framework machine learning yang digunakan untuk model (misalnya "custom").
  • revision (str, opsional) — Revisi model spesifik yang akan di-deploy pada Inference Endpoint (mis. "6c0e6080953db56375760c0471a8c5f2929baf11").
  • task (str, opsional) — Tugas di mana model akan di-deploy (misalnya "text-classification").
  • custom_image (dict, opsional) — Gambar container yang akan dijalankan. Bisa berupa dict yang dikey berdasarkan varian gambar (mis. {"vLLM": {"url": "vllm/vllm-openai:v0.23.0", "port": 8000}‌}, juga sGLang, tgi, tei, llamacpp, hfServe, …), yang diteruskan apa adanya, atau dict datar yang menggambarkan container kustom (mis. {"url": ..., "port": ...}), yang dikirim sebagai {"custom": ...}.
  • container_command (list[str], opsional) — Timpa perintah entrypoint kontainer (dipetakan ke model.command dalam payload API). Berfungsi dengan baik pada gambar mesin yang dikelola (mis. vLLM, SGLang) maupun gambar kustom.
  • container_args (list[str], opsional) — Argumen yang ditambahkan ke entrypoint container (dipetakan ke model.args dalam payload API). Berfungsi dengan baik pada gambar engine yang dikelola (misalnya vLLM, SGLang) maupun gambar kustom.
  • tensor_parallel_size (int, opsional) — Jumlah akselerator untuk membagi satu salinan model (gambar vLLM dan SGLang). Ketika custom_image tidak diberikan, gambar yang saat ini dikonfigurasi pada endpoint akan diambil dan diperbarui di tempatnya, karena API membutuhkan model.image secara utuh.
  • data_parallel_size (int, opsional) — Jumlah salinan model yang dijalankan, satu per akselerator (citra vLLM).
  • secrets (dict[str, str], opsional) — Nilai rahasia untuk disuntikkan ke lingkungan container.

Mengembalikan

InferenceEndpoint

Inference Endpoint yang sama, dimutasi di tempatnya dengan data terbaru.

Perbarui Inference Endpoint.

Metode ini memungkinkan pembaruan konfigurasi komputasi, model yang di-deploy, atau keduanya. Semua argumen bersifat opsional, tetapi setidaknya satu harus disediakan.

Ini adalah alias untuk HfApi.update_inference_endpoint(). Objek saat ini dimutasi di tempat dengan data terbaru dari server.

tunggu

< >

( timeout: int | None = Nonerefresh_every: int = 5 ) → InferenceEndpoint

Parameter

  • timeout (int, opsional) — Waktu maksimum untuk menunggu Inference Endpoint hingga selesai di-deploy, dalam detik. Jika None, akan menunggu tanpa batas waktu.
  • refresh_every (int, opsional) — Waktu tunggu antara setiap pengambilan status Inference Endpoint, dalam detik. Bawaan 5 detik.

Mengembalikan

InferenceEndpoint

Inference Endpoint yang sama, dimutasi di tempatnya dengan data terbaru.

Membuang

InferenceEndpointError atau InferenceEndpointTimeoutError

  • InferenceEndpointError — Jika Inference Endpoint berakhir dalam keadaan gagal.
  • InferenceEndpointTimeoutError — Jika Inference Endpoint tidak berhasil di-deploy setelah timeout detik.

Tunggu hingga Inference Endpoint selesai di-deploy.

Informasi dari server akan diambil setiap 1 detik. Jika Inference Endpoint tidak terdeploy setelah timeout detik, sebuah InferenceEndpointTimeoutError akan dilempar. InferenceEndpoint akan dimutasi di tempatnya dengan data terbaru.

InferenceEndpointHardware

kelas huggingface_hub.InferenceEndpointHardware

< >

( 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 )

Parameter

  • id (str) — Pengenal perangkat keras unik, misalnya "aws-us-east-1-nvidia-l4-x1".
  • vendor (str) — Penyedia cloud yang menampung perangkat keras, misalnya "aws".
  • region (str) — Wilayah cloud tempat perangkat keras tersedia, misalnya "us-east-1".
  • accelerator (str) — Jenis akselerator perangkat keras, misalnya "cpu", "gpu" atau "neuron".
  • instance_type (str) — Jenis instance cloud, misalnya "nvidia-l4".
  • instance_size (str) — Pengali ukuran instance, misalnya "x1".
  • architecture (str) — Deskripsi perangkat keras yang dapat dibaca manusia, misalnya "Nvidia L4".
  • num_accelerators (int) — Jumlah unit akselerator per replika.
  • num_cpus (int, opsional) — Jumlah vCPU per replika.
  • memory_gb (float) — RAM per replika, dalam GB.
  • gpu_memory_gb (int, opsional) — Total memori GPU per replika, dalam GB (yaitu dijumlahkan di seluruh num_accelerators). None untuk perangkat keras non-GPU.
  • price_per_hour (float) — Biaya per replika per jam, dalam USD.
  • status (str) — Ketersediaan perangkat keras: "available", "low_availability", "not_available", "reserved" atau "deprecated".
  • max_accelerators (int) — Jumlah maksimum akselerator dari tipe ini yang diizinkan untuk dijalankan oleh namespace.
  • used_accelerators (int) — Jumlah akselerator dari tipe ini yang saat ini digunakan oleh namespace.

Berisi informasi tentang konfigurasi perangkat keras yang tersedia untuk Inference Endpoints.

Bidang vendor, region, accelerator, instance_type, dan instance_size adalah nilai yang tepat untuk diteruskan ke create_inference_endpoint() (atau hf endpoints deploy) untuk melakukan deployment pada perangkat keras ini.

Contoh:

>>> 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', ...)

from_raw

< >

( raw: dictvendor: strregion: str )

Inisialisasi objek dari kamus komputasi mentah, yang bersarang di bawah vendor dan region dalam respons API.

InferenceCatalogModel

kelas huggingface_hub.InferenceCatalogModel

< >

( repo_id: strname: strauthor: strlicense: strtask: strcreated_at: datetimerecipes: list )

Parameter

  • repo_id (str) — ID dari repositori model di Hub, misalnya "meta-llama/Llama-3.1-8B-Instruct".
  • name (str) — Nama model, yaitu bagian dari repo_id setelah nama penulis, misalnya "Llama-3.1-8B-Instruct".
  • author (str) — Penulis dari repositori model, misalnya "meta-llama".
  • license (str) — Lisensi model, misalnya "Apache 2.0".
  • task (str) — Tugas tempat model di-deploy, misalnya "text-generation".
  • created_at (datetime) — Tanggal model ditambahkan ke katalog.
  • recipes (list[InferenceCatalogRecipe]) — Cara-cara yang telah diuji untuk mendeploy model ini.

Berisi informasi tentang model yang tersedia di Inference Catalog.

Contoh:

>>> 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', ...)

from_raw

< >

( raw: dict )

Inisialisasi objek dari kamus item katalog mentah.

InferenceCatalogRecipe

kelas huggingface_hub.InferenceCatalogRecipe

< >

( id: straccelerator: strengine: strgguf_file: str | Nonerevision: str | None )

Parameter

  • id (str) — ID resep publik, untuk diteruskan ke create_inference_endpoint_from_catalog() sebagai recipe_id.
  • accelerator (str) — Jenis akselerator perangkat keras tempat resep dijalankan, misalnya "cpu", "gpu" atau "neuron".
  • engine (str) — Mesin inferensi yang dijalankan oleh resep, misalnya "vllm", "llamacpp", "tei" atau "sglang".
  • gguf_file (str, opsional) — File GGUF yang di-deploy oleh resep. Hanya diset untuk resep "llamacpp".
  • revision (str, opsional) — Revisi model yang direferensikan oleh resep, jika ada.

Berisi informasi tentang cara yang telah diuji sebelumnya untuk mendeploy model dari Inference Catalog.

Resep adalah kombinasi perangkat keras dan mesin yang telah diuji oleh tim Inference Endpoints untuk model tertentu. Sebuah model biasanya memiliki satu resep, tetapi dapat memiliki beberapa (misalnya satu untuk GPU dan satu untuk Neuron, atau satu untuk setiap kuantisasi GGUF).

from_raw

< >

( raw: dict )

Inisialisasi objek dari kamus resep mentah, yang bersarang di bawah model dalam respons API.

InferenceEndpointStatus

kelas huggingface_hub.InferenceEndpointStatus

< >

( valuenames = Nonemodule = Nonequalname = Nonetype = Nonestart = 1 )

Sebuah enumerasi.

InferenceEndpointType

kelas huggingface_hub.InferenceEndpointType

< >

( valuenames = Nonemodule = Nonequalname = Nonetype = Nonestart = 1 )

Sebuah enumerasi.

InferenceEndpointError

kelas huggingface_hub.InferenceEndpointError

< >

( )

Pengecualian umum saat berurusan dengan Inference Endpoints.

Update on GitHub