P

Tiktoken : Définition et Exemples

Tiktoken est la bibliothèque open source de tokenisation développée par OpenAI, utilisée pour découper du texte en tokens avant de l'envoyer à des modèles de langage comme GPT-4.

Définition complète

Tiktoken est une bibliothèque de tokenisation rapide développée et maintenue par OpenAI. Son rôle principal est de convertir du texte brut en une séquence de tokens — les unités élémentaires que les modèles de langage traitent réellement. Contrairement à une simple découpe par mots ou caractères, Tiktoken utilise l'algorithme Byte Pair Encoding (BPE) pour produire un découpage optimal qui équilibre efficacité et couverture linguistique.

En pratique, Tiktoken permet aux développeurs de compter précisément le nombre de tokens contenus dans un texte avant de l'envoyer à l'API d'OpenAI. Cette fonctionnalité est essentielle car les modèles GPT ont des limites de contexte exprimées en tokens (par exemple 128 000 tokens pour GPT-4 Turbo), et la facturation est également calculée au token. Sans outil de comptage fiable, il est impossible d'optimiser ses coûts ou d'éviter les erreurs de dépassement de fenêtre de contexte.

La bibliothèque est écrite en Rust pour des raisons de performance, avec des bindings Python qui la rendent simple à utiliser. Elle supporte plusieurs encodages correspondant aux différents modèles d'OpenAI : cl100k_base pour GPT-4 et GPT-3.5 Turbo, o200k_base pour GPT-4o, et p50k_base pour les anciens modèles. Chaque encodage possède son propre vocabulaire et ses propres règles de découpage.

Tiktoken est devenu un outil de référence dans l'écosystème du prompt engineering, car il permet de concevoir des prompts qui exploitent au maximum la fenêtre de contexte disponible sans la dépasser. Il est aussi utilisé pour estimer les coûts d'utilisation des API avant exécution, ce qui en fait un composant indispensable de tout pipeline de production utilisant les modèles OpenAI.

Étymologie

Le nom « Tiktoken » est un jeu de mots combinant « tik » (évoquant le décompte ou le tic-tac d'une horloge) et « token » (l'unité fondamentale de traitement des LLM). Il reflète la fonction première de la bibliothèque : compter les tokens avec précision.

Exemples concrets

Compter les tokens d'un prompt avant envoi à l'API

import tiktoken
enc = tiktoken.encoding_for_model('gpt-4')
tokens = enc.encode('Explique-moi le prompt engineering')
print(len(tokens))  # Affiche le nombre de tokens

Tronquer un texte long pour respecter la limite de contexte

Utilise tiktoken pour découper ton document en chunks de 4 000 tokens maximum avant de les envoyer un par un au modèle avec un résumé intermédiaire.

Estimer le coût d'un appel API avant exécution

Avant d'envoyer ce corpus de 500 articles à GPT-4, utilise tiktoken pour calculer le nombre total de tokens et estimer le coût à 0,03 $/1K tokens en entrée.

Usage pratique

En prompt engineering, Tiktoken sert à vérifier que vos prompts et documents tiennent dans la fenêtre de contexte du modèle cible. Installez-le via pip (pip install tiktoken), puis utilisez encoding_for_model() pour obtenir l'encodeur adapté à votre modèle et encode() pour compter les tokens. C'est un réflexe indispensable dès que vous travaillez avec des textes longs ou que vous cherchez à optimiser vos coûts d'API.

Concepts liés

TokenisationByte Pair Encoding (BPE)Fenêtre de contexteToken

FAQ

Tiktoken fonctionne-t-il avec les modèles Claude d'Anthropic ?
Non, Tiktoken est spécifique aux modèles d'OpenAI. Claude utilise son propre tokeniseur. Pour estimer les tokens avec Claude, vous pouvez utiliser l'API de comptage de tokens d'Anthropic ou des outils tiers. Les vocabulaires et les règles de découpage diffèrent d'un fournisseur à l'autre.
Pourquoi le nombre de tokens est-il différent du nombre de mots ?
Un token ne correspond pas à un mot. Selon la langue et le vocabulaire du modèle, un mot courant en anglais peut être un seul token, tandis qu'un mot rare ou un mot en français peut être découpé en 2 à 4 tokens. Les chiffres, la ponctuation et les espaces consomment aussi des tokens. En moyenne, un token représente environ 0,75 mot en anglais et 0,5 mot en français.
Quel encodage Tiktoken utiliser pour quel modèle ?
Utilisez o200k_base pour GPT-4o et ses variantes, cl100k_base pour GPT-4, GPT-4 Turbo et GPT-3.5 Turbo, et p50k_base pour les anciens modèles comme text-davinci-003. La méthode tiktoken.encoding_for_model() sélectionne automatiquement le bon encodage à partir du nom du modèle.

Voir aussi

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.