niieani/gpt-tokenizer

The fastest JavaScript BPE Tokenizer Encoder Decoder for OpenAI's GPT models (gpt-5, gpt-o*, gpt-4o, etc.). Port of OpenAI's tiktoken with additional features.

해결하는 문제

gpt-tokenizer는 OpenAI 모델에서 사용하는 Byte Pair Encoding (BPE) 알고리즘의 고성능 TypeScript 구현을 제공합니다. JavaScript 및 TypeScript 환경에서 토큰을 정확히 세고, 텍스트를 정수로 인코딩하며, 토큰을 다시 텍스트로 디코딩할 수 있게 해주며, tiktoken과 같은 외부 Python 기반 도구에 의존할 필요가 없습니다.

작동 방식

이 라이브러리는 OpenAI의 tiktoken을 포트한 것으로, 현재 모든 OpenAI 모델 패밀리(예: GPT-4o, o-시리즈, 레거시 모델 포함)를 지원합니다. cl100k_baseo200k_base와 같은 다양한 인코딩을 구현하고, 유사한 문자열의 인코딩을 가속화하기 위해 LRU(최근에 사용한 적이 없는) 병합 캐시를 제공하며, 스트리밍 데이터용 제너레이터 함수도 제공합니다.

대상 사용자

TypeScript 또는 JavaScript로 LLM 기반 애플리케이션을 개발하면서 토큰 제한을 관리하거나, API 비용을 추정하거나 브라우저 또는 Node.js에서 토큰 스트림을 처리해야 하는 개발자들.

주요 특징

  • 포괄적인 모델 지원: GPT-5, GPT-4o, o-시리즈 추론 모델을 포함한 현재 모든 OpenAI 모델 패밀리 지원.
  • 성능: NPM에서 가장 빠르고 최소한의 메모리 사용량을 자랑하며, WASM/node 바인딩 구현보다 우수합니다.
  • 채팅 전용 도구: 채팅 메시지의 특수한 토크나이제이션을 처리하는 encodeChat 함수 포함.
  • 비용 추정: 가격 데이터를 포함한 전체 OpenAI 모델 카탈로그 기반의 내장 estimateCost 함수.
  • 제한 확인: 전체 입력을 인코딩하지 않고도 텍스트가 제한을 초과했는지 빠르게 확인하는 고성능 isWithinTokenLimit 함수.
  • 환경 독립성: 브라우저와 Node.js 환경 모두에서 즉시 사용 가능.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch