Accéder au contenu principal

Tutoriel Tiktoken : la bibliothèque Python d’OpenAI pour la tokenisation de texte

Tiktoken est un tokenizer BPE rapide développé par OpenAI, principalement utilisé pour compter les jetons de leurs grands modèles de langage et garantir un traitement de texte efficace dans des limites définies.
Actualisé 19 sept. 2026  · 5 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

La tokenisation est une tâche fondamentale en traitement du langage naturel (NLP). Elle consiste à découper un texte en unités plus petites, appelées jetons (tokens), qui peuvent être des mots, des sous-mots ou des caractères.

Une tokenisation efficace est cruciale pour les performances des modèles de langage. C’est une étape indispensable pour de nombreuses tâches de NLP, comme la génération de texte, la traduction et le résumé.

Tiktoken est une bibliothèque de tokenisation rapide et efficace développée par OpenAI. Elle offre une solution robuste pour convertir du texte en jetons, et inversement. Sa vitesse et son efficacité en font un excellent choix pour les développeurs et data scientists qui travaillent avec de grands jeux de données et des modèles complexes.

Ce guide s’adresse aux développeurs, aux data scientists et à toute personne souhaitant utiliser Tiktoken et recherchant un guide pratique avec des exemples.

Principes fondamentaux de l'OpenAI

Commencez à utiliser l'API OpenAI et plus encore !

Commencez Maintenant

Bien démarrer avec Tiktoken

Pour commencer à utiliser Tiktoken, nous devons l’installer dans notre environnement Python (Tiktoken est aussi disponible pour d’autres langages). Cela se fait avec la commande suivante :

pip install tiktoken

Vous pouvez consulter le code de la version open source Python de Tiktoken dans ce dépôt GitHub.

Pour importer la bibliothèque, exécutez :

import tiktoken

Modèles d’encodage

Les modèles d’encodage dans Tiktoken définissent les règles de découpage du texte en jetons. Ils sont déterminants, car ils précisent comment le texte est segmenté et encodé, ce qui impacte l’efficacité et la précision des tâches de traitement du langage. Différents modèles OpenAI reposent sur des encodages différents.

Tiktoken propose trois modèles d’encodage optimisés selon les usages :

  • o200k_base : encodage pour le tout dernier modèle GPT-4o-Mini.
  • cl100k_base : modèle d’encodage pour les modèles OpenAI plus récents, comme GPT-4 et GPT-3.5-Turbo.
  • p50k_base : encodage pour les modèles Codex, utilisés pour les applications de code.
  • r50k_base : ancien encodage pour différentes versions de GPT-3.

Tous ces modèles sont disponibles via l’API d’OpenAI. Notez que l’API donne accès à bien plus de modèles que ceux listés ici. Heureusement, la bibliothèque Tiktoken fournit un moyen simple d’identifier quel encodage utiliser avec chaque modèle.

Par exemple, si je dois savoir quel modèle d’encodage utilise le modèle text-embedding-3-small, je peux exécuter la commande suivante et obtenir la réponse en sortie :

print(tiktoken.encoding_for_model('text-embedding-3-small'))

La sortie renvoie <Encoding 'cl100k_base'>. Avant de passer à la pratique avec Tiktoken, je souhaite mentionner qu’OpenAI propose une application web de tokenisation pour visualiser la tokenisation de différentes chaînes : vous pouvez y accéder ici. Il existe aussi un tokenizer en ligne tiers, Tiktokenizer, qui prend en charge des modèles non OpenAI.

Encoder un texte en jetons

Pour encoder un texte en jetons avec Tiktoken, vous devez d’abord obtenir un objet d’encodage. Deux méthodes permettent de l’initialiser. D’abord, via le nom du tokenizer :

encoding = tiktoken.get_encoding("[name of the tokenizer]")

Ou bien, vous pouvez utiliser la fonction encoding_for_model mentionnée plus haut pour obtenir l’encodeur d’un modèle spécifique :

encoding = tiktoken.encoding_for_model("[name of the model]")

Nous pouvons maintenant appeler la méthode encode de notre objet encoding pour encoder une chaîne. Par exemple, nous pouvons encoder la chaîne « I love DataCamp » comme suit — ici, j’utilise l’encodeur cl100k_base :

print(encoding.encode("I love DataCamp"))

La sortie est [40, 3021, 2956, 34955].

Décoder des jetons en texte

Pour décoder des jetons vers du texte, utilisez la méthode .decode() de l’objet encoding.

Décodons les jetons suivants [40, 4048, 264, 2763, 505, 2956, 34955] :

print(encoding.decode([40, 4048, 264, 2763, 505, 2956, 34955]))

Les jetons se décodent en « I learn a lot from DataCamp. »

Cas d’usage et conseils pratiques

Au-delà de l’encodage et du décodage, deux autres cas d’usage méritent d’être cités.

Estimation et gestion des coûts

Connaître le nombre de jetons avant d’envoyer une requête à l’API OpenAI vous aide à gérer vos coûts. Comme la facturation d’OpenAI repose sur le nombre de jetons traités, pré-tokeniser votre texte permet d’estimer le coût de votre usage de l’API. Voici comment compter les jetons d’un texte avec Tiktoken :

tokens = encoding.encode(text)
print(len(tokens))

Il suffit d’examiner la longueur du tableau pour connaître le nombre de jetons. En le sachant à l’avance, vous pouvez décider de raccourcir le texte ou d’ajuster votre usage pour rester dans votre budget.

Vous pouvez en lire davantage dans ce tutoriel : Estimating The Cost of GPT Using The tiktoken Library in Python.

Validation de la longueur d’entrée

Lorsque vous utilisez les modèles OpenAI via l’API, vous êtes contraint par un nombre maximal de jetons pour les entrées et les sorties. Dépasser ces limites peut entraîner des erreurs ou des sorties tronquées. Avec Tiktoken, vous pouvez valider la longueur d’entrée et vous assurer qu’elle respecte les limites de jetons.

Conclusion

Tiktoken est une bibliothèque open source de tokenisation offrant vitesse et efficacité, conçue pour les modèles de langage d’OpenAI.

Comprendre comment encoder et décoder du texte avec Tiktoken, ainsi que ses différents modèles d’encodage, peut considérablement améliorer votre travail avec les grands modèles de langage.

Obtenez une certification de haut niveau en matière d'IA

Démontrez que vous pouvez utiliser l'IA de manière efficace et responsable.

Dimitri Didmanidze's photo
Author
Dimitri Didmanidze
LinkedIn
Je suis Dimitri Didmanidze, un data scientist qui poursuit actuellement un master en mathématiques avec une spécialisation en apprentissage automatique. Mon parcours académique a également inclus des recherches sur les capacités des modèles basés sur les transformateurs et l'enseignement au niveau universitaire, ce qui a enrichi ma compréhension de concepts théoriques complexes. J'ai également travaillé dans le secteur bancaire, où j'ai appliqué ces principes pour relever des défis concrets en matière de données.
Sujets
Intelligence artificielle

Apprenez l’IA avec ces cours !

Cours

Introduction aux embeddings avec l’API OpenAI

3 h
23.3K
Débloquez des applications d'IA plus avancées, comme la recherche sémantique et les moteurs de recommandation, en utilisant le modèle d'intégration d'OpenAI !
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow