Hub documentation

İşlerde Modelleri Sun

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

İşlerde Modelleri Sun

Açık portlar ile bir Job, geçici bir çıkarım sunucusu olarak çalışabilir: bir GPU lezzetinde vLLM’i başlatın, herhangi bir OpenAI uyumlu istemciyi işin URL’sine yönlendirin ve işiniz bittiğinde işi iptal edin. İş çalıştığı sürece dakikası üzerinden ödeme yaparsınız ve uç nokta işle birlikte ortadan kalkar.

Bu, uç noktanın bir ürün değil de bir araç olduğu durumlarda iyi bir uyum sağlar: bir değerlendirme çalıştırması, bir veri etiketleme oturumu, sıcak bir modele karşı istemleri (prompt) iteratif olarak geliştirmek veya yalnızca bir öğleden sonraya kadar ayakta kalması gereken bir demo.

Daha kalıcı, kaybolmayacak bir uç nokta istiyorsanız, otomatik ölçeklendirme, izleme ve kararlı URL'ler sunan yönetilen altyapıyı sağlayan Inference Endpoints özelliğini kullanmak istersiniz.

Bir vLLM sunucusu başlatın

vllm/vllm-openai görüntüsü her şeyi önceden yüklü olarak içerir. Tek bir komutla OpenAI uyumlu bir sunucu başlatılır:

>>> hf jobs run --detach --expose 8000 --flavor a10g-small -s HF_TOKEN \
...   vllm/vllm-openai \
...   vllm serve LiquidAI/LFM2.5-8B-A1B --max-model-len 8192
✓ Job started
  id: 6a2b137a59bbdade52d4a58c
  url: https://huggingface.co/jobs/davanstrien/6a2b137a59bbdade52d4a58c
Hint: Exposed ports are reachable at (requires an HF token with read access to the job):
  https://6a2b137a59bbdade52d4a58c--8000.hf.jobs

-s HF_TOKEN, Hugging Face tokeninizi bir gizli değer olarak işe iletir; böylece model indirme işlemi kimlik doğrulamalı olur. Bu, kapılı veya özel modeller için zorunludur ve diğer tüm modeller için daha yüksek hız sınırları ve daha hızlı indirmeler sağlar.

Jobs, sağladığınız komutu doğrudan çalıştırır — docker run gibi argümanları görüntünün giriş noktasına (entrypoint) iletmez. Tam komutu her zaman açıkça belirtin (vllm serve ..., yalnızca --model ... değil).

Sunucunun hazır olması birkaç dakika sürer (görsel çekme, model indirme, model yükleme). İlerlemeyi hf jobs logs -f <job_id> komutuyla takip edin; günlüklerde Application startup complete mesajı göründüğünde sunucu hazırdır.

Bir istemci bağlayın

Açık portlar, işin ad alanına read erişimine sahip bir HF jetonunun Bearer jetonu olarak iletilmesini gerektirir. OpenAI ile uyumlu bir sunucu için bu, doğrudan istemcinin API anahtarına yerleştirilir — temel URL, açık port URL'sine /v1 eklenerek oluşturulur:

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://6a2b137a59bbdade52d4a58c--8000.hf.jobs/v1",
    api_key=os.environ["HF_TOKEN"],  # any token with read access to the job's namespace
)

response = client.chat.completions.create(
    model="LiquidAI/LFM2.5-8B-A1B",
    messages=[{"role": "user", "content": "Write a haiku about ephemeral compute."}],
)
print(response.choices[0].message.content)

LFM2.5 bir akıl yürütme modeli olduğundan, yanıt, nihai cevaptan önce <think> etiketleri içinde akıl yürütme sürecini içerir.

Veya curl ile:

>>> curl https://6a2b137a59bbdade52d4a58c--8000.hf.jobs/v1/chat/completions \
...   -H "Authorization: Bearer $HF_TOKEN" \
...   -H "Content-Type: application/json" \
...   -d '{"model": "LiquidAI/LFM2.5-8B-A1B", "messages": [{"role": "user", "content": "Hello!"}]}'

Token Authorization başlığında taşındığı için bu URL'ler, OpenAI uyumlu bir API kullanacağınız her yerde — betikler, defterler ve ajanlar — çalışır. Tarayıcıda doğrudan açılamazlar. HF token olmadan bir port sunmak için --expose-public kullanın — bkz. Portları Dışa Aktarma.

llama.cpp ile GGUF modellerini sunun

Aynı desen, HTTP konuşan herhangi bir sunucuyla çalışır. llama.cpp’nin llama serve komutu, -hf bayrağıyla GGUF dosyalarını doğrudan Hub’dan alır ve aynı OpenAI uyumlu API’yi sunar. Örneğin, Gemma 4 E4B modelini Gemma’nın önerdiği örneklem ayarlarıyla sunmak için:

>>> hf jobs run --detach --expose 8080 --flavor a10g-small -s HF_TOKEN \
...   ghcr.io/ggml-org/llama.cpp:server-cuda -- \
...   /app/llama serve -hf ggml-org/gemma-4-E4B-it-GGUF \
...   --host 0.0.0.0 --port 8080 -ngl 99 \
...   --temp 1.0 --top-p 0.95 --top-k 64

--, iş komutunu hf jobs run'in kendi seçeneklerinden ayırır — burada gerekli, çünkü llama serve'nin bayrakları aksi halde CLI tarafından ayrıştırılacaktı.

Model deposunu salt okunur bir birim olarak bağlayıp sunucuyu doğrudan dosyaya yönlendirerek model indirme adımını tamamen atlayabilirsiniz:

>>> hf jobs run --detach --expose 8080 --flavor a10g-small -s HF_TOKEN \
...   -v hf://ggml-org/gemma-4-E4B-it-GGUF:/model:ro \
...   ghcr.io/ggml-org/llama.cpp:server-cuda -- \
...   /app/llama serve --model /model/gemma-4-E4B-it-Q4_K_M.gguf \
...   --host 0.0.0.0 --port 8080 -ngl 99

Sunucu, indirilecek hiçbir şey olmadığı için çok daha hızlı başlar — model, yüklenirken bağlı depodan akış olarak gelir.

Sunucunuzun 0.0.0.0 adresinde dinlenmesi gerekir. llama serve varsayılan olarak 127.0.0.1 adresine bağlanır ve işler vekili (jobs proxy) bu adrese erişemez — --host 0.0.0.0 parametresini açıkça iletin.

Diğer OpenAI uyumlu sunucular (SGLang, …) için de aynı durum geçerlidir: sunucuyu açık bir portta başlatın, 0.0.0.0 adresinde dinleyin ve HF token'ınızı API anahtarı olarak kullanarak bağlanın.

Sunucuyu durdur

İş — ve faturalandırması — iptal ettiğinizde veya zaman aşımına ulaştığında (varsayılan olarak 30 dakika; daha uzun oturumlar için --timeout parametresini açıkça belirleyin) durur:

>>> hf jobs cancel <job_id>

Açık portlar huggingface_hub >= 1.19.0 gerektirir ve işin donanım fiyatının üzerine eklenir — bkz. Jobs fiyatlandırması.

Update on GitHub