lib/tiktoken/cl100k.ex

defmodule Tiktoken.CL100K do
  @behaviour Tiktoken.Encoding

  @impl Tiktoken.Encoding
  def encode_ordinary(text) do
    Tiktoken.Native.cl100k_encode_ordinary(text)
  end

  @impl Tiktoken.Encoding
  def encode(text, allowed_special \\ []) do
    Tiktoken.Native.cl100k_encode(text, allowed_special)
  end

  @impl Tiktoken.Encoding
  def encode_with_special_tokens(text) do
    Tiktoken.Native.cl100k_encode_with_special_tokens(text)
  end

  @impl Tiktoken.Encoding
  def decode(ids) do
    Tiktoken.Native.cl100k_decode(ids)
  end
end