Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.0.3

tiktoken

Tiktoken é um tokenizador BPE para uso com modelos da OpenAI. Ele expõe APIs usadas para processar texto usando tokens.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
931
Curtidas
22
Pontos Pub
160

Instalar pacote

flutter pub add tiktoken

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O Tiktoken é um tokenizador BPE (Codificação de Pares de Bytes) projetado para modelos de linguagem da OpenAI, permitindo o processamento eficiente de texto ao converter texto bruto em tokens. Ele fornece APIs para calcular contagens de tokens e gerenciar segmentação de texto, essenciais para otimizar o comprimento de entrada nas interações com modelos de linguagem grandes. O pacote suporta múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux, tornando-o adequado para aplicações multiplataforma que integram modelos da OpenAI. Construído com Dart, garante uma tokenização consistente em diferentes ambientes.

Casos de uso

  • Estimativa de comprimento de texto para prompts de LLM
  • Truncagem de texto consciente de tokens
  • Integração com clientes da API do OpenAI
  • Aplicações de IA multiplataforma
  • Engenharia e otimização de prompts

Principais recursos

  • tokenização baseada em BPE
  • Implementação independente de plataforma
  • Suporte para tokenizadores de modelo da OpenAI
  • Contagem precisa de tokens
  • Leve e rápido

Indicado para

  • Desenvolvedores construindo aplicativos com inteligência artificial
  • Aplicações que exigem gerenciamento rápido
  • Projetos usando modelos da OpenAI em múltiplas plataformas
  • Usuários que precisam de controle preciso de token

Considerações

  • Requer compreensão dos conceitos de tokenização
  • Depende de vocabulários específicos do modelo da OpenAI
  • Não adequado para modelos não da OpenAI
  • Limitado a tarefas de pré-processamento de texto
  • Pode exigir atualizações quando novos modelos forem lançados

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

⏳ 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.

Categorias

Repositório-fonte

Projetos que usam este pacote