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.
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 :
- Python : tiktoken-python (opens in a new tab)
- .NET/C# : tiktoken-dotnet (opens in a new tab)
- Java : tiktoken-java (opens in a new tab)
- Golang : tiktoken-go (opens in a new tab)
- Rust : tiktoken-rs (opens in a new tab)
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.
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 :
-
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)
-
Initialiser le tokenizer Tiktoken avec l'encodage chargé.
tokenizer = tiktoken.Tiktoken(encodage)
-
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)
-
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.