Tokenzählung mit Tiktoken für OpenAI-Modelle meistern
Published on
Tiktoken: Tokens zählen leicht gemacht
Zusammenfassung des Artikels:
- Tiktoken ist ein Open-Source-Tokenizer, der von OpenAI entwickelt wurde und es Ihnen ermöglicht, einen Text in Tokens aufzuteilen. Dies eignet sich besonders gut für Aufgaben wie das Zählen von Tokens oder das Schätzen der Kosten für API-Aufrufe.
- Es unterstützt drei Enkodierungen: cl100k_base, p50k_base und r50k_base, die Sie mit der Funktion
tiktoken.encoding_for_model()
abrufen können. - Tiktoken ist für verschiedene Programmiersprachen verfügbar, darunter Python, .NET/C#, Java, Golang und Rust.
Haben Sie sich schon einmal gefragt, wie viele Tokens in einem Text enthalten sind? Oder interessieren Sie sich vielleicht für eine Schätzung der Kosten für die Verwendung der OpenAI API für eine bestimmte Aufgabe? Eine genaue Zählung der Tokens ist für diese Zwecke entscheidend, und genau hier kommt Tiktoken ins Spiel. Dieser Open-Source-Tokenizer, entwickelt von OpenAI, ermöglicht es Ihnen, einen Text ganz einfach in Tokens aufzuteilen und bietet ein nützliches Werkzeug für verschiedene Anwendungen.
Einführung in Tiktoken
Tiktoken ist ein leistungsstarker Open-Source-Tokenizer, der verwendet werden kann, um Tokens in einem Text zu zählen oder die Kosten eines OpenAI API-Aufrufs abzuschätzen. Tokens sind einzelne Einheiten, aus denen ein Text besteht und reichen von einzelnen Zeichen bis hin zu ganzen Wörtern. Durch das Verständnis der Anzahl von Tokens können Sie Ihre Nutzung besser verwalten und Ihre Interaktionen mit OpenAI-Modellen optimieren.
Von Tiktoken unterstützte Enkodierungen
Tiktoken unterstützt drei Enkodierungen, die von OpenAI-Modellen verwendet werden: cl100k_base, p50k_base und r50k_base. Diese Enkodierungen bestimmen, wie der Tokenizer den Eingabetext in Tokens aufteilt. Je nach Enkodierung können Wörter unterschiedlich aufgeteilt, Leerzeichen unterschiedlich gruppiert und nicht-englische Zeichen auf verschiedene Weise behandelt werden.
Um die Enkodierung eines bestimmten OpenAI-Modells zu bestimmen, können Sie die Funktion tiktoken.encoding_for_model()
verwenden, um die entsprechende Enkodierung für das Modell abzurufen, mit dem Sie arbeiten.
Tiktoken Tokenizer-Bibliotheken
Tiktoken ist in verschiedenen Programmiersprachen verfügbar und somit für Entwickler unabhängig von ihrer bevorzugten Sprache zugänglich. Die folgenden Bibliotheken stehen für verschiedene Programmiersprachen zur Verfügung:
- 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)
Die oben genannten Links führen zu den entsprechenden Tokenizer-Bibliotheken, die Ihnen ermöglichen, Tiktoken nahtlos in Ihre bevorzugte Programmiersprache zu integrieren.
Textaufteilung mit Tiktoken
In der englischen Sprache unterteilt Tiktoken Texte in Tokens, die von einem einzelnen Zeichen bis hin zu ganzen Wörtern reichen. Leerzeichen werden in der Regel am Anfang von Wörtern gruppiert. Um den Aufteilungsprozess zu visualisieren, können Sie die OpenAI Tokenizer-Web-App oder die Tiktokenizer-Web-App verwenden, in denen Sie Ihren Text eingeben und beobachten können, wie er in Tokens aufgeteilt wird.
Mit Tiktoken können Sie auch direkt in Ihrem Code Texte aufteilen. Schauen wir uns an, wie Sie Tiktoken installieren und in Python importieren können.
Installation und Import
Um Tiktoken in Python zu installieren, können Sie den folgenden Befehl verwenden:
pip install tiktoken
Nach der Installation können Sie die tiktoken
-Bibliothek in Ihrem Python-Code mit dem folgenden Import-Statement importieren:
import tiktoken
Jetzt, da Tiktoken installiert und importiert ist, lernen wir, wie man eine Enkodierung lädt.
Laden einer Enkodierung in Tiktoken
Bevor Sie einen Text in Tokens aufteilen können, müssen Sie die entsprechende Enkodierung laden. Sie können dies mit der Funktion get_encoding()
von Tiktoken tun. Geben Sie den Namen der Enkodierung, z.B. cl100k_base
, als Argument an die Funktion. Hier ist ein Beispiel:
encoding = tiktoken.get_encoding("cl100k_base")
Sobald die Enkodierung geladen ist, können Sie sie verwenden, um Texte in Tokens aufzuteilen.
Konvertieren von Text in Tokens mit Tiktoken
Jetzt, da wir Tiktoken installiert und einige andere Tokenizer erkundet haben, schauen wir uns genauer an, wie man Tiktoken verwendet, um Text in Tokens umzuwandeln.
Um einen Text mithilfe von Tiktoken in Tokens umzuwandeln, müssen wir diese Schritte befolgen:
-
Laden Sie die gewünschte Enkodierung in Tiktoken mithilfe der Funktion
tiktoken.get_encoding()
. Dieser Schritt stellt sicher, dass der Aufteilungsprozess mit dem spezifischen OpenAI-Modell, das wir verwenden möchten, übereinstimmt.import tiktoken encoding_name = "cl100k_base" # oder "p50k_base" oder "r50k_base" encoding = tiktoken.get_encoding(encoding_name)
-
Initialisieren Sie den Tiktoken-Tokenizer mit der geladenen Enkodierung.
tokenizer = tiktoken.Tiktoken(encoding)
-
Geben Sie den Text-String an die
tokenize()
-Methode des Tiktoken-Tokenizers weiter, um ihn in Tokens umzuwandeln.text = "Dies ist ein Beispiel-Satz." tokens = tokenizer.tokenize(text)
-
Die
tokenize()
-Methode gibt eine Liste von Tokens zurück. Wir können die Tokens ausgeben, um das Ergebnis zu sehen.print(tokens)
Ausgabe:
['Dies', ' ist', ' ein', ' Beispiel', '-Satz', '.']
Beachten Sie, dass die Tokens durch Leerzeichen getrennt sind und Satzzeichen als einzelne Tokens behandelt werden. Durch Befolgen dieser Schritte können Sie problemlos jeden Textstring in Token umwandeln, indem Sie Tiktoken verwenden. Dies kann besonders nützlich sein, wenn Sie mit OpenAI-Modellen arbeiten, da es hilft, die Anzahl der verwendeten Tokens zu bestimmen und die Kosten eines API-Aufrufs abzuschätzen.
Schlussfolgerung
In diesem Artikel haben wir den Open-Source-Tokenizer Tiktoken von OpenAI untersucht. Wir haben die Nützlichkeit von Tiktoken bei der Bestimmung der Anzahl der Tokens in einem Text und bei der Schätzung der Kosten eines OpenAI-API-Aufrufs diskutiert. Wir haben auch die von Tiktoken unterstützten Encodings und das Abrufen des Encodings für ein bestimmtes OpenAI-Modell kennengelernt. Zusätzlich haben wir die Verfügbarkeit von Tiktoken für verschiedene Programmiersprachen entdeckt und den Vorgang des Tokenisierens von Strings mit Tiktoken erkundet. Schließlich haben wir gelernt, wie man Tiktoken installiert, die Bibliothek importiert, ein Encoding lädt und Text in Tokens mit Tiktoken umwandelt.
Tiktoken ist ein leistungsstolles Tool, das bei der Arbeit mit OpenAI-Modellen und der Optimierung der Verwendung von Tokens sehr hilfreich sein kann. Indem Sie die Fähigkeiten von Tiktoken nutzen, können Entwickler die Token-Grenzen und die mit OpenAI-API-Aufrufen verbundenen Kosten besser verwalten.