Hub documentation

Cung cấp Mô hình trên Các Công việc

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Cung cấp Mô hình trên Các Công việc

Với cổng được mở, một Job có thể đóng vai trò là máy chủ suy luận tạm thời: khởi động vLLM trên một loại GPU, trỏ bất kỳ client nào tương thích với OpenAI đến URL của job, và hủy job khi bạn hoàn tất. Bạn sẽ được tính phí theo phút trong khi job đang chạy, và endpoint sẽ biến mất cùng với job.

Đây là lựa chọn phù hợp khi endpoint chỉ là phương tiện chứ không phải là sản phẩm: một lượt chạy đánh giá, một phiên dán nhãn dữ liệu, việc tinh chỉnh prompt trên một model đang chạy nóng, hoặc một demo chỉ cần tồn tại trong một buổi chiều.

Nếu bạn muốn một điểm cuối bền vững hơn, không biến mất, bạn nên dùng Inference Endpoints, cung cấp hạ tầng được quản lý với tự động mở rộng, giám sát và URL ổn định.

Khởi động máy chủ vLLM

Ảnh vllm/vllm-openai đã cài đặt sẵn mọi thứ. Một lệnh duy nhất để khởi động máy chủ tương thích OpenAI:

>>> 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 chuyển tiếp token Hugging Face của bạn đến job dưới dạng secret, nhờ đó việc tải model được xác thực — bắt buộc đối với các model gated hoặc private, đồng thời giúp bạn có giới hạn tần suất cao hơn và tốc độ tải nhanh hơn cho mọi trường hợp còn lại.

Jobs thực thi trực tiếp lệnh bạn cung cấp — nó không truyền các tham số vào entrypoint của image như docker run làm. Hãy luôn viết rõ ràng lệnh đầy đủ (vllm serve ..., chứ không chỉ --model ...).

Máy chủ cần vài phút để sẵn sàng (kéo image, tải model, nạp model). Theo dõi tiến độ bằng hf jobs logs -f <job_id>; máy chủ đã sẵn sàng khi log hiển thị Application startup complete.

Kết nối một client

Cổng được phơi bày yêu cầu một token HF có quyền read đối với namespace của job, được truyền dưới dạng Bearer token. Đối với một máy chủ tương thích OpenAI, điều này khớp trực tiếp vào API key của client — base URL là URL của cổng được phơi bày cộng thêm /v1:

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 là một mô hình suy luận, vì vậy phản hồi bao gồm phần suy luận của nó bên trong thẻ <think> trước khi đưa ra câu trả lời cuối cùng.

Hoặc bằng curl:

>>> 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!"}]}'

Vì token được truyền trong header Authorization, các URL này hoạt động từ script, notebook và agent — bất cứ nơi nào bạn sử dụng API tương thích OpenAI. Chúng không thể được mở trực tiếp trong trình duyệt. Để phục vụ một port mà không cần token HF, hãy sử dụng --expose-public — xem Expose Ports.

Cung cấp các mô hình GGUF bằng llama.cpp

Cùng một mô hình này hoạt động với bất kỳ máy chủ nào hỗ trợ HTTP. llama serve của llama.cpp tải trực tiếp các tệp GGUF từ Hub bằng cờ -hf và cung cấp cùng một API tương thích OpenAI. Ví dụ, để phục vụ Gemma 4 E4B với các cài đặt lấy mẫu được Gemma khuyến nghị:

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

-- tách lệnh của job khỏi các tùy chọn riêng của hf jobs run — cần thiết ở đây vì các cờ của llama serve nếu không sẽ bị CLI tự phân tích.

Bạn có thể bỏ qua hoàn toàn việc tải xuống mô hình bằng cách gắn kho mô hình dưới dạng ổ đĩa chỉ đọc và trỏ máy chủ trực tiếp đến tệp:

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

Máy chủ khởi động nhanh hơn nhiều vì không có gì để tải xuống — mô hình được phát trực tiếp từ kho đã gắn khi nó được nạp.

Máy chủ của bạn phải lắng nghe trên 0.0.0.0. llama serve mặc định gắn với 127.0.0.1, mà proxy công việc không thể truy cập được — hãy truyền --host 0.0.0.0 một cách tường minh.

Điều tương tự cũng áp dụng cho bất kỳ máy chủ tương thích OpenAI nào khác (SGLang, …): khởi động máy chủ trên một cổng được phơi bày, lắng nghe trên 0.0.0.0, và kết nối bằng token HF của bạn như là API key.

Dừng máy chủ

Công việc — và việc tính phí cho nó — sẽ dừng lại khi bạn hủy hoặc khi hết thời gian chờ (mặc định là 30 phút; hãy đặt --timeout rõ ràng cho các phiên dài hơn):

>>> hf jobs cancel <job_id>

Cổng được mở yêu cầu huggingface_hub >= 1.19.0 và được tính phí cộng thêm trên giá phần cứng của công việc — xem Giá công việc.

Update on GitHub