tiktoken-go/tokenizer

Pure Go implementation of OpenAI's tiktoken tokenizer

해결하는 문제

이 프로젝트는 OpenAI 토크나이저의 순수 Go 구현을 제공하여 Go 개발자가 OpenAI 모델과 호환되는 토큰으로 텍스트를 인코딩하고 디코딩할 수 있도록 합니다. 이로 인해 LLM 입력을 처리할 때 외부 종속성이나 JavaScript 래퍼에 의존할 필요가 사라집니다.

작동 방식

라이브러리는 텍스트를 토큰 ID(인코딩)로 변환하고, 해당 ID를 다시 원래 텍스트로 변환(디코딩)합니다. OpenAI의 어휘는 Go 맵으로 내장되어 바이너리에 직접 컴파일됩니다. 이는 Python 버전의 tiktoken이 런타임에 사전을 다운로드하는 것과 다릅니다. 컴파일 시 어휘를 포함함으로써 빠른 시작 시간과 성능을 달성합니다.

대상 사용자

Go 생태계를 벗어나지 않고 OpenAI 모델용 텍스트를 준비하거나 토큰 수를 계산하고 싶은 Go 개발자.

주요 특징

  • 순수 Go 포트: 외부 C 또는 JavaScript 종속성 없음.
  • 다중 인코딩 지원: cl100k_base, o200k_base, r50k_base, p50k_base, p50k_edit 인코딩을 지원.
  • 통합 CLI: 인코딩, 디코딩, 토큰 수 계산을 위한 명령줄 도구 포함.
  • 컴파일된 어휘: 어휘가 맵으로 내장되어 성능과 시작 속도가 향상됨.

관련

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