Introduction
Dans cet article, nous allons explorer comment deployer un serveur vLLM compatible OpenAI sur l'infrastructure de Hugging Face. Ce processus simple utilise une seule commande pour lancer un point d'entree privé sans avoir a provisionner de serveurs ou gerer Kubernetes—le tout en mode paiement a la seconde. Nous aborderons chaque etape, depuis les prerequis jusqu'a la gestion avancée des modeles.
Prérequis
Avant de commencer, assurez-vous de repondre aux conditions suivantes :
- Methode de paiement valide ou un solde crediteur prepayé positif.
- Version recente de huggingface_hub: executez
pip install -U "huggingface_hub>=1.20.0"pour mettre a jour votre installation. - Authentification complétée localement avec
hf auth login.
Bon a savoir
Hugging Face Jobs est facture au minute en fonction de l'utilisation materielle. Assurez-vous de selectionner la configuration materielle adaptee a votre modele.
Demarrer le serveur vLLM
Pour lancer le serveur, utilisez la commande suivante avec hf jobs run, qui est l'equivalent de docker run pour Hugging Face.
1hf jobs run --flavor a10g-large --expose 8000 --timeout 2h \2 vllm/vllm-openai:latest \3 vllm serve Qwen/Qwen3-4B --host 0.0.0.0 --port 8000Details de la commande
--flavor a10g-large: Demande un GPU A10G pour executer la commande.--expose 8000: Expose le port publique via le proxy Hugging Face.--timeout 2h: Définit la durée maximale d'exécution à 2 heures.
Une fois lancé, la commande retourne une URL publique permettant d'accéder au serveur :
1✓ Job started2 id: 6a381ca1953ed90bfb9473323 url: https://huggingface.co/jobs/qgallouedec/6a381ca1953ed90bfb9473324Hint: Exposed ports are reachable at (requires an HF token with read access to the job):5 https://6a381ca1953ed90bfb947332--8000.hf.jobsAstuce
Conservez l'ID du job (dans cet exemple: 6a381ca1953ed90bfb947332) pour le suivi des prochaines étapes. Toutes les requêtes nécessitent ce numéro unique.
Verifier le demarrage
Attendez quelques minutes pour que les poids soient téléchargés et que le serveur démarre. Une fois que les journaux affichent "Application startup complete", le serveur est opérationnel.
Effectuer des requêtes au serveur
Le serveur vLLM utilise l'API OpenAI. Voici deux methodes pour interagir avec lui :
Methode avec Curl
Utilisez curl avec le token Hugging Face pour envoyer une requête:
1curl https://<job_id>--8000.hf.jobs/v1/chat/completions \2 -H "Authorization: Bearer $(hf auth token)" \3 -H "Content-Type: application/json" \4 -d '{5 "model": "Qwen/Qwen3-4B",6 "messages": [{"role": "user", "content": "Bonjour!"}],7 "chat_template_kwargs": {"enable_thinking": false}8 }'Methode avec Python
Approchez l'API grâce à la librairie OpenAI :
1from huggingface_hub import get_token2from openai import OpenAI3 4client = OpenAI(5 base_url="https://<job_id>--8000.hf.jobs/v1",6 api_key=get_token(),7)8resp = client.chat.completions.create(9 model="Qwen/Qwen3-4B",10 messages=[{"role": "user", "content": "Bonjour!"}],11 extra_body={"chat_template_kwargs": {"enable_thinking": False}},12)13print(resp.choices[0].message.content)Verification de la santé
Avant de démarrer pleinement, effectuez un test simple pour verifier les modeles actifs:
1curl https://<job_id>--8000.hf.jobs/v1/models -H "Authorization: Bearer $(hf auth token)"Attention
Le point d'entree n'est pas publique. Chaque requete doit inclure un token Hugging Face avec les droits d'accès requis.
Nettoyage
Une fois que votre utilisation est terminée, arrêtez le job pour éviter les frais inutiles:
1hf jobs cancel <job_id>Economisez
La commande --timeout sert de filet de sécurité, mais arrêter explicitement le serveur peut ramener les coûts globaux.
Configuration pour des modèles plus grands
Les étapes décrites ci-dessus s'appliquent également aux modèles de grande taille. Par exemple, pour le modèle Qwen3.5-122B:
1hf jobs run --flavor h200x2 --expose 8000 --timeout 2h \2 vllm/vllm-openai:latest \3 vllm serve Qwen/Qwen3.5-122B-A10B \4 --host 0.0.0.0 --port 8000 --tensor-parallel-size 2 \5 --max-model-len 32768 --max-num-seqs 256Dans cet exemple, --tensor-parallel-size doit correspondre au nombre de GPUs. Si des erreurs surviennent, tels que "out-of-memory", reduisez les valeurs de --max-model-len et --max-num-seqs.
Conclusion
L'utilisation de Hugging Face Jobs simplifie grandement le déploiement de serveurs LLM pour des tests, évaluations ou usages ponctuels. Pour des solutions plus durables et production-ready, explorez les Inference Endpoints.
En savoir plus
Pour servir d'autres modeles comme GGUF ou SGLang, consultez le guide Hugging Face "Serve Models on Jobs".



