vLLM sert des modèles de langage derrière une API compatible avec le protocole OpenAI. Commencez sur une machine GPU compatible avec un petit modèle, puis mesurez avant d’augmenter la taille.
Préparer l’environnement
Créez un environnement Python correspondant à la matrice CUDA ou ROCm documentée par vLLM. La méthode la plus reproductible en production reste l’image officielle :
docker run --rm --gpus all -v "$HOME/.cache/huggingface:/root/.cache/huggingface" -p 8000:8000 --ipc=host vllm/vllm-openai:latest --model Qwen/Qwen3-0.6BFixez ensuite une version d’image plutôt que latest. Pour un modèle privé ou gated, injectez un token Hugging Face limité via un secret, jamais dans l’image.
Vérifier l’API
curl http://localhost:8000/v1/modelsPuis utilisez un client OpenAI en changeant seulement l’URL :
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="local")
response = client.chat.completions.create(
model="Qwen/Qwen3-0.6B",
messages=[{"role": "user", "content": "Réponds en une phrase."}],
)
print(response.choices[0].message.content)Préparer la production
Ne publiez pas directement le port 8000. Placez le service derrière authentification, TLS, limites de requêtes et contrôle réseau. Fixez la longueur maximale du modèle, prévoyez des délais côté client et surveillez erreurs mémoire, files d’attente, débit et latence.
Validez le chat template du modèle : un dépôt sans template compatible peut produire des erreurs ou des conversations mal formatées. Enfin, testez le redémarrage, le téléchargement des poids et le comportement sous plusieurs requêtes simultanées avant toute mise en service.