inference.eu

POST /v1/messages/count_tokens

API count tokens : mesurer un prompt avant de l'envoyer

Le point de terminaison de comptage indique combien de tokens d'entrée une requête consommerait, sans exécuter le modèle. Il accepte le même corps qu'une requête Messages et renvoie un seul nombre. Servez-vous-en pour vérifier qu'un long document tient dans la fenêtre de contexte, découper un travail en lots de bonne taille et estimer un budget avant un gros traitement.

  1. 01Format d'API: Anthropic Messages
  2. 02Centres de données dans l'UE
  3. 03Couvert par un seul DPA
POST /v1/messages/count_tokens
curl https://api.inference.eu/v1/messages/count_tokens \
  -H "x-api-key: $INFERENCE_EU_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-oss-120b",
    "system": "You summarise supplier contracts for a procurement team.",
    "messages": [
      {"role": "user", "content": "Summarise the termination and liability clauses in the contract below.\n\n..."}
    ]
  }'

# {"input_tokens": 2147}

Ce que fait le point de terminaison

POST /v1/messages/count_tokens suit le format de comptage de tokens d'Anthropic. Vous envoyez model, messages et, si vous les utilisez, system et tools. L'API découpe le tout exactement comme pour une vraie requête, avec le tokenizer du modèle indiqué, et renvoie {"input_tokens": N}.

Rien n'est généré : l'appel est rapide et max_tokens n'est pas nécessaire. Le total inclut le prompt système, chaque message, les définitions d'outils et la mise en forme ajoutée par le modèle de chat du modèle. Il est donc plus fiable que de compter des mots ou d'utiliser vous-même un tokenizer générique.

Pourquoi le tokenizer compte

Chaque modèle ouvert découpe le texte à sa façon. Un même contrat peut représenter nettement plus de tokens pour un modèle que pour un autre, surtout en français, en allemand, dans du code ou des tableaux. La fenêtre de contexte comme la facturation au token se mesurent dans les tokens du modèle concerné.

C'est pourquoi le champ model est obligatoire et qu'il faut compter avec le modèle que vous appellerez réellement. Si vous changez de modèle, recomptez. Une estimation tirée d'un autre tokenizer peut suffire à faire dépasser la limite à un long prompt, et l'API refuse alors la requête avec une erreur 400.

Un schéma éprouvé pour les longs documents

Avant d'envoyer un long document, comptez ensemble le prompt système, le document et la question. Si le total, augmenté de la réponse attendue, tient dans la fenêtre de contexte, envoyez une seule requête. Sinon, découpez le document en morceaux qui tiennent chacun, résumez ou extrayez l'information de chaque morceau, puis combinez les résultats dans un dernier appel.

Le même contrôle sert pour les traitements par lots. Comptez un échantillon d'entrées, multipliez par le nombre de lignes et vous obtenez une estimation réaliste du volume avant de soumettre le lot, plutôt que de la découvrir sur la facture.

Erreurs et cas particuliers

Les erreurs suivent le format d'Anthropic. Un model inconnu renvoie not_found_error (404) ; des messages mal formés, par exemple deux tours user consécutifs quand le modèle ne l'accepte pas, renvoient invalid_request_error (400). Une clé invalide renvoie un 401.

Seule l'entrée est comptée. Les tokens de sortie, y compris la réflexion des modèles de raisonnement, s'ajoutent lors de la génération : gardez-leur de la place. Les images sont comptées selon les règles du modèle de vision, qui dépendent de la résolution. Les résultats reflètent le tokenizer et le modèle de chat de la version actuelle ; ne les réutilisez pas d'une version à l'autre.

Count tokens : questions fréquentes

Les questions que nous posent le plus les achats, les développeurs et les juristes. Il en manque une ? Posez-la-nous directement.

Poser une question

Faites passer vos charges IA sur une infrastructure européenne

Dites-nous quels modèles vous utilisez et votre volume approximatif. Nous répondons sous un jour ouvré avec un tarif et la suite.

  • Réponse sous un jour ouvré
  • Tarif adapté à votre volume
  • DPA prêt à signer