Introduction : De l'Expérience à la Production
Utiliser un LLM dans un playground est simple. Le porter en production est un défi d'ingénierie complètement différent. En production, vous devez gérer le rate limiting, le retry face aux erreurs, le caching pour réduire les coûts, le monitoring pour suivre la latence et la qualité, le fallback quand un fournisseur est en panne, et des budgets mensuels qui peuvent déraper sans contrôle.
Ce que vous apprendrez dans cet article
- Les APIs d'OpenAI et Anthropic : setup, modèles et prix
- Déploiement de modèles open source avec Ollama et vLLM
- Patterns de production : retry, caching, rate limiting
- Streaming pour une UX réactive
- Stratégies de fallback et multi-fournisseur
- Monitoring, logging et gestion des coûts
API OpenAI : Le Leader du Marché
OpenAI offre l'écosystème d'APIs le plus mature. Les modèles GPT-4 et GPT-4o représentent le standard de facto.
from openai import OpenAI, RateLimitError, APITimeoutError
import time
client = OpenAI(api_key="sk-...", timeout=30.0, max_retries=3)
def call_with_retry(messages, model="gpt-4o", max_retries=3):
for attempt in range(max_retries):
try:
response = client.chat.completions.create(
model=model, messages=messages, temperature=0.7, max_tokens=1000
)
return response.choices[0].message.content
except RateLimitError:
time.sleep(2 ** attempt)
except APITimeoutError:
time.sleep(1)
raise Exception("Max retries exceeded")
API Anthropic : Sécurité et Fiabilité
Anthropic offre la famille Claude avec un accent sur la sécurité et les context windows étendues (200K tokens).
from anthropic import Anthropic
client = Anthropic(api_key="sk-ant-...")
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1000,
system="You are an expert software architect.",
messages=[{"role": "user", "content": "Compare monolith vs microservices"}]
)
print(f"Tokens: {response.usage.input_tokens} in + {response.usage.output_tokens} out")
Modèles Open Source : Liberté et Contrôle
Llama 3 et Mistral offrent contrôle total sur les données et l'infrastructure.
# Ollama avec API compatible OpenAI
from openai import OpenAI
ollama_client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
response = ollama_client.chat.completions.create(
model="llama3.1:8b",
messages=[{"role": "user", "content": "Explain Docker in 3 points"}],
temperature=0.7, max_tokens=500
)
# Cost: $0 (hardware only)
Patterns de Production : Caching
Le caching est la stratégie la plus efficace pour réduire les coûts en production.
Fallback Multi-Fournisseur
Un système de fallback multi-fournisseur garantit la disponibilité même en cas de problème chez un fournisseur.
Monitoring et Gestion des Coûts
Coûts par Fournisseur (par 1M tokens)
| Modèle | Input | Output |
|---|---|---|
| GPT-4o | $2.50 | $10.00 |
| GPT-4o-mini | $0.15 | $0.60 |
| Claude 3.5 Sonnet | $3.00 | $15.00 |
| Llama 3.1 8B (Ollama) | $0 | $0 |
Checklist pour le Déploiement en Production
- Retry avec exponential backoff
- Caching de réponses (30-60 % d'économies)
- Rate limiting interne
- Fallback multi-fournisseur
- Streaming pour UX réactive
- Monitoring de latence, tokens et coûts
- Alertes sur budget quotidien/mensuel
- Logging structuré des entrées/sorties
- Modération de contenu
- Timeouts configurables
Conclusions
Porter un LLM en production nécessite bien plus qu'un simple appel API. Les patterns présentés – retry, caching, fallback multi-fournisseur, monitoring des coûts – sont la base pour construire des applications LLM robustes.
Dans le prochain article, nous explorerons la génération d'images avec Stable Diffusion, DALL-E et Midjourney.







