Pakete, Repositories und App-Kategorien suchen

Paketdetailsv1.0.3

tiktoken

Tiktoken ist ein BPE-Tokenizer für die Verwendung mit OpenAI-Modellen. Er bietet APIs, die zum Verarbeiten von Text mithilfe von Tokens verwendet werden.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
931
Likes
22
Pub-Punkte
160

Paket installieren

flutter pub add tiktoken

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Tiktoken ist ein BPE-Tokenizer (Byte-Pair-Encoding), der für Sprachmodelle von OpenAI entwickelt wurde und eine effiziente Textverarbeitung ermöglicht, indem roher Text in Tokens umgewandelt wird. Er bietet APIs zur Berechnung der Tokenanzahl und zum Management der Textsegmentierung, was entscheidend für die Optimierung der Eingabelänge bei Interaktionen mit LLMs ist. Das Paket unterstützt mehrere Plattformen wie Android, iOS, Web, macOS, Windows und Linux und eignet sich daher für plattformübergreifende Anwendungen, die mit OpenAI-Modellen integriert sind. Auf Dart basierend, gewährleistet es eine konsistente Tokenisierung über verschiedene Umgebungen hinweg.

Anwendungsfälle

  • Schätzung der Textlänge für LLM-Prompts
  • Tokenbewusste Textkürzung
  • Integration mit OpenAI-API-Clients
  • Plattformübergreifende KI-Anwendungen
  • Prompt-Engineering und Optimierung

Hauptmerkmale

  • BPE-basierte Tokenisierung
  • plattformunabhängige Implementierung
  • Unterstützung für OpenAI-Modell-Tokenizer
  • Genau zählende Token
  • Leicht und schnell

Geeignet für

  • Entwickler, die künstliche Intelligenz-basierte Apps erstellen
  • Anwendungen, die eine schnelle Verwaltung erfordern
  • Projekte, die OpenAI-Modelle auf mehreren Plattformen verwenden
  • Benutzer, die eine präzise Tokensteuerung benötigen

Hinweise

  • Erfordert Verständnis von Tokenisierungskonzepten
  • Abhängig von modellspezifischen Vokabularen der OpenAI
  • Nicht geeignet für nicht-OpenAI-Modelle
  • Beschränkt auf Textvorverarbeitungsaufgaben
  • Kann Aktualisierungen erfordern, wenn neue Modelle veröffentlicht werden

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

⏳ tiktoken

tiktoken is a BPE tokeniser for use with OpenAI's models.

Splitting text strings into tokens is useful because GPT models see text in the form of tokens. Knowing how many tokens are in a text string can tell you a) whether the string is too long for a text model to process and b) how much an OpenAI API call costs (as usage is priced by token). Different models use different encodings.

Features

The main Tiktoken class exposes APIs that allow you to process text using tokens, which are common sequences of character found in text. Some of the things you can do with tiktoken package are:

  • Encode text into tokens
  • Decode tokens into text
  • Compare different encodings
  • Count tokens for chat API calls

Usage

For more examples, see the /example folder.

import 'package:tiktoken/tiktoken.dart';

// Load an encoding
final encoding = encodingForModel("gpt-4");

// Tokenize text
print(encoding.encode("tiktoken is great!")); // [83, 1609, 5963, 374, 2294, 0]

// Decode tokens
print(encoding.decode([83, 1609, 5963, 374, 2294, 0])); // "tiktoken is great!"

// Alternatively, get the tokenizer by specifying encoding name:
final encoding = getEncoding("cl100k_base");
assert(enc.decode(enc.encode("hello world")) == "hello world");

Extending tiktoken

You may wish to extend Tiktoken to support new encodings. You can do this by passing around the existing model:

import 'package:tiktoken/tiktoken.dart';

// Create a base
final cl100kBase = encodingForModel("cl100k_base");

// Instantiate a new encoding and extend the base params
final encoding = Tiktoken(
  name: "cl100k_im",
  patStr: cl100kBase.patStr,
  mergeableRanks: cl100kBase.mergeableRanks,
  specialTokens: {
    ...cl100kBase.specialTokens,
    "<|im_start|>": 100264,
    "<|im_end|>": 100265,
  },
);

Additional information

This is a Dart port from the original tiktoken library written in Rust/Python.

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden