Class OpenAiTokenizer

java.lang.Object
dev.langchain4j.model.openai.OpenAiTokenizer
All Implemented Interfaces:
dev.langchain4j.model.Tokenizer

public class OpenAiTokenizer extends Object implements dev.langchain4j.model.Tokenizer
This class can be used to estimate the cost (in tokens) before calling OpenAI or when using streaming. Magic numbers present in this class were found empirically while testing. There are integration tests in place that are making sure that the calculations here are very close to that of OpenAI.
  • Constructor Details

  • Method Details

    • estimateTokenCountInText

      public int estimateTokenCountInText(String text)
      Specified by:
      estimateTokenCountInText in interface dev.langchain4j.model.Tokenizer
    • estimateTokenCountInMessage

      public int estimateTokenCountInMessage(dev.langchain4j.data.message.ChatMessage message)
      Specified by:
      estimateTokenCountInMessage in interface dev.langchain4j.model.Tokenizer
    • estimateTokenCountInMessages

      public int estimateTokenCountInMessages(Iterable<dev.langchain4j.data.message.ChatMessage> messages)
      Specified by:
      estimateTokenCountInMessages in interface dev.langchain4j.model.Tokenizer
    • encode

      public List<Integer> encode(String text)
    • encode

      public List<Integer> encode(String text, int maxTokensToEncode)
    • decode

      public String decode(List<Integer> tokens)