Cache automatique de l'API
Le cache comme levier de réduction des coûts
Le cache automatique de l’API Grok est l’un des mécanismes les plus puissants pour réduire vos coûts en production. Contrairement à d’autres fournisseurs qui nécessitent une configuration explicite du cache, xAI applique le cache automatiquement sur toutes les requêtes. Avec une réduction pouvant atteindre 90 % sur grok-4.20, il est crucial de comprendre comment maximiser son efficacité.
Comment fonctionne le cache
Le cache de l’API Grok fonctionne au niveau des tokens d’entrée. Lorsque vous envoyez une requête dont le début du prompt correspond exactement à une requête précédente, les tokens identiques sont servis depuis le cache au tarif réduit.
Ce mécanisme est particulièrement efficace pour :
- Les conversations : le system prompt et les premiers messages sont identiques d’un tour à l’autre
- Les prompts avec contexte fixe : un long document de référence suivi d’une question variable
- Les pipelines RAG : les instructions système restent constantes, seul le contexte récupéré change
Tarifs cachés vs standard
Le gain est substantiel sur les deux familles de modèles :
- grok-4.20 : $0.20/M tokens cachés au lieu de $2.00/M (90 % de réduction)
- grok-4-1-fast : $0.05/M tokens cachés au lieu de $0.20/M (75 % de réduction)
Le header x-grok-conv-id
Pour maximiser le taux de cache, l’API Grok propose un header spécifique qui regroupe les requêtes liées :
curl -X POST "https://api.x.ai/v1/chat/completions" \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "x-grok-conv-id: 550e8400-e29b-41d4-a716-446655440000" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4.20",
"messages": [...]
}'
Le header x-grok-conv-id accepte un UUID v4. Utilisez le même UUID pour toutes les requêtes d’une même conversation ou d’un même flux de traitement. Cela indique à l’infrastructure de xAI que ces requêtes sont liées et augmente la probabilité de réutilisation du cache.
Générer un UUID par conversation
import uuid
# Un UUID par conversation
conv_id = str(uuid.uuid4())
# Utiliser le meme UUID pour tous les tours de la conversation
headers = {
"Authorization": f"Bearer {api_key}",
"x-grok-conv-id": conv_id,
"Content-Type": "application/json"
}
Vérifier l’efficacité du cache
Le nombre de tokens cachés apparaît dans l’objet usage de chaque réponse :
{
"usage": {
"prompt_tokens": 5000,
"cached_tokens": 4200,
"completion_tokens": 300
}
}
Dans cet exemple, 4 200 tokens sur 5 000 en entrée ont été servis depuis le cache, soit un taux de cache de 84 %. Seuls 800 tokens ont été facturés au tarif standard.
Points clés à retenir
- Le cache est automatique : aucune configuration nécessaire
- Utilisez le header
x-grok-conv-idavec un UUID v4 pour regrouper les requêtes liées - Le champ
cached_tokensdans l’objetusageindique le nombre de tokens servis depuis le cache - La réduction atteint 90 % sur grok-4.20 et 75 % sur grok-4-1-fast
- Plus votre prompt est stable en début de séquence, plus le taux de cache sera élevé