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_baseo200k_baser50k_basep50k_basep50k_editのエンコーディングをサポート。
  • 統合CLIツール: エンコード、デコード、トークン数の計算に使えるコマンドラインツールを備えています。
  • コンパイル済み語彙: 語彙はマップとして埋め込まれており、パフォーマンスと起動速度が向上します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト