Want to Become a Sponsor? Contact Us Now!🎉

langchain-tutorials
Maîtriser le décompte des jetons avec Tiktoken pour les modèles OpenAI

Maîtriser le décompte des jetons avec Tiktoken pour les modèles OpenAI

Published on

Tiktoken : la comptabilisation des jetons facilitée

Résumé de l'article :

  • Tiktoken est un tokenizer open source développé par OpenAI qui vous permet de découper une chaîne de texte en jetons, ce qui le rend utile pour des tâches telles que le décompte des jetons ou l'estimation des coûts d'appels API.
  • Il prend en charge trois encodages : cl100k_base, p50k_base et r50k_base, que vous pouvez récupérer à l'aide de la fonction tiktoken.encoding_for_model().
  • Tiktoken est disponible dans différents langages de programmation, notamment Python, .NET/C#, Java, Golang et Rust.
Anakin AI - The Ultimate No-Code AI App Builder

Vous êtes-vous déjà demandé combien de jetons se trouvent dans une chaîne de texte ? Ou peut-être êtes-vous intéressé par l'estimation du coût d'utilisation de l'API OpenAI pour une tâche particulière. Compter avec précision les jetons est crucial pour ces utilisations et c'est là que Tiktoken intervient. Ce tokenizer open source, développé par OpenAI, vous permet de découper facilement une chaîne de texte en jetons, fournissant un outil utile pour diverses applications.

Introduction à Tiktoken

Tiktoken est un puissant tokenizer open source qui peut être utilisé pour compter les jetons dans une chaîne de texte ou estimer le coût d'un appel à l'API OpenAI. Les jetons sont les unités individuelles qui composent un texte, allant de simples caractères à des mots entiers. En comprenant le nombre de jetons, vous pouvez mieux gérer votre utilisation et optimiser vos interactions avec les modèles OpenAI.

Encodages pris en charge par Tiktoken

Tiktoken prend en charge trois encodages utilisés par les modèles OpenAI : cl100k_base, p50k_base et r50k_base. Ces encodages déterminent la façon dont le tokenizer découpe le texte d'entrée en jetons. Selon l'encodage, les mots peuvent être découpés différemment, les espaces peuvent être regroupés différemment et les caractères non-anglais peuvent être traités de manière distincte.

Pour déterminer l'encodage d'un modèle OpenAI spécifique, vous pouvez utiliser la fonction tiktoken.encoding_for_model(), qui récupère l'encodage approprié pour le modèle avec lequel vous travaillez.

Bibliothèques de tokenisation Tiktoken

Tiktoken est disponible dans différents langages de programmation, ce qui le rend accessible aux développeurs, quel que soit leur langage de programmation préféré. Les bibliothèques suivantes sont disponibles pour différents langages de programmation :

Vous pouvez trouver les liens nécessaires vers les bibliothèques respectives de tokenizer ci-dessus, ce qui vous permet d'intégrer Tiktoken de manière transparente dans votre langage de programmation préféré.

Découpage en jetons avec Tiktoken

En anglais, Tiktoken découpe les chaînes de texte en jetons en tenant compte de jetons de longueur variable, allant d'un seul caractère à un mot entier. Les espaces sont généralement regroupés avec les débuts des mots. Pour visualiser le processus de découpage en jetons, vous pouvez utiliser l'application web OpenAI Tokenizer ou l'application web Tiktokenizer, où vous pouvez saisir votre texte et observer comment il est découpé en jetons.

À l'aide de Tiktoken, vous pouvez également découper les chaînes de texte directement dans votre code. Voyons comment installer et importer Tiktoken en Python.

Installation et importation

Pour installer Tiktoken en Python, vous pouvez utiliser la commande suivante :

pip install tiktoken

Une fois installé, vous pouvez importer la bibliothèque tiktoken dans votre code Python en utilisant l'instruction d'importation suivante :

import tiktoken

Maintenant que nous avons installé et importé Tiktoken, voyons comment charger un encodage.

Chargement d'un encodage dans Tiktoken

Avant de pouvoir découper une chaîne de texte en jetons, vous devez charger l'encodage approprié. Vous pouvez le faire en utilisant la fonction get_encoding() de Tiktoken. Spécifiez le nom de l'encodage, tel que cl100k_base, en tant qu'argument de la fonction. Voici un exemple :

encodage = tiktoken.get_encoding("cl100k_base")

Une fois l'encodage chargé, vous pouvez l'utiliser pour découper les chaînes de texte en jetons.

tiktoken

Conversion du texte en jetons avec Tiktoken

Maintenant que nous avons installé Tiktoken et exploré d'autres tokenizers, plongeons plus en profondeur dans l'utilisation de Tiktoken pour convertir du texte en jetons.

Pour convertir une chaîne de texte en jetons à l'aide de Tiktoken, nous devons suivre ces étapes :

  1. Charger l'encodage souhaité dans Tiktoken à l'aide de la fonction tiktoken.get_encoding(). Cette étape garantit que le processus de découpage en jetons est aligné sur le modèle OpenAI spécifique que nous prévoyons d'utiliser.

    import tiktoken
     
    nom_encodage = "cl100k_base"  # ou "p50k_base" ou "r50k_base"
    encodage = tiktoken.get_encoding(nom_encodage)
  2. Initialiser le tokenizer Tiktoken avec l'encodage chargé.

    tokenizer = tiktoken.Tiktoken(encodage)
  3. Passer la chaîne de texte à la méthode tokenize() du tokenizer Tiktoken pour la convertir en jetons.

    texte = "Ceci est une phrase d'exemple."
    jetons = tokenizer.tokenize(texte)
  4. La méthode tokenize() renvoie une liste de jetons. Nous pouvons afficher les jetons pour voir la sortie.

    print(jetons)

    Sortie :

    ['Ceci', ' est', ' une', ' phrase', " d'exemple", '.']

    Notez que les jetons sont séparés par des espaces et que les signes de ponctuation sont traités comme des jetons individuels. En suivant ces étapes, vous pouvez facilement convertir n'importe quelle chaîne de texte en jetons à l'aide de Tiktoken. Cela peut être particulièrement utile lorsque vous travaillez avec des modèles OpenAI, car cela permet d'estimer le nombre de jetons utilisés et peut être utilisé pour estimer le coût d'un appel API.

Conclusion

Dans cet article, nous avons exploré le tokenizer open-source Tiktoken développé par OpenAI. Nous avons discuté de l'utilité de Tiktoken pour déterminer le nombre de jetons dans un texte et estimer le coût d'un appel API OpenAI. Nous avons également appris les encodages pris en charge par Tiktoken et comment récupérer l'encodage pour un modèle OpenAI spécifique. De plus, nous avons découvert la disponibilité de Tiktoken pour différents langages de programmation et exploré le processus de tokenisation des chaînes de texte à l'aide de Tiktoken. Enfin, nous avons appris comment installer Tiktoken, importer la bibliothèque, charger un encodage et convertir du texte en jetons à l'aide de Tiktoken.

Tiktoken est un outil puissant qui peut grandement aider à travailler avec les modèles OpenAI et à optimiser l'utilisation des jetons. En exploitant les capacités de Tiktoken, les développeurs peuvent mieux gérer les limites de tokens et les coûts associés aux appels API OpenAI.

Anakin AI - The Ultimate No-Code AI App Builder