index.ts 408 B

1234567891011121314
  1. import { Tiktoken } from 'tiktoken/lite';
  2. import claude from '~/claude.json';
  3. export function countTokens(text: string): number {
  4. const tokenizer = getTokenizer();
  5. const encoded = tokenizer.encode(text.normalize('NFKC'), 'all');
  6. tokenizer.free();
  7. return encoded.length;
  8. }
  9. export function getTokenizer(): Tiktoken {
  10. return new Tiktoken(claude.bpe_ranks, claude.special_tokens, claude.pat_str);
  11. }