Package dev.langchain4j.model.openai
Class OpenAiTokenizer
java.lang.Object
dev.langchain4j.model.openai.OpenAiTokenizer
- All Implemented Interfaces:
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 Summary
ConstructorsConstructorDescriptionOpenAiTokenizer(OpenAiChatModelName modelName) Creates an instance of theOpenAiTokenizerfor a givenOpenAiChatModelName.OpenAiTokenizer(OpenAiEmbeddingModelName modelName) Creates an instance of theOpenAiTokenizerfor a givenOpenAiEmbeddingModelName.OpenAiTokenizer(OpenAiLanguageModelName modelName) Creates an instance of theOpenAiTokenizerfor a givenOpenAiLanguageModelName.OpenAiTokenizer(String modelName) Creates an instance of theOpenAiTokenizerfor a given model name. -
Method Summary
Modifier and TypeMethodDescriptionintestimateTokenCountInMessage(dev.langchain4j.data.message.ChatMessage message) intestimateTokenCountInMessages(Iterable<dev.langchain4j.data.message.ChatMessage> messages) int
-
Constructor Details
-
OpenAiTokenizer
Creates an instance of theOpenAiTokenizerfor a givenOpenAiChatModelName. -
OpenAiTokenizer
Creates an instance of theOpenAiTokenizerfor a givenOpenAiEmbeddingModelName. -
OpenAiTokenizer
Creates an instance of theOpenAiTokenizerfor a givenOpenAiLanguageModelName. -
OpenAiTokenizer
Creates an instance of theOpenAiTokenizerfor a given model name.
-
-
Method Details
-
estimateTokenCountInText
- Specified by:
estimateTokenCountInTextin interfacedev.langchain4j.model.Tokenizer
-
estimateTokenCountInMessage
public int estimateTokenCountInMessage(dev.langchain4j.data.message.ChatMessage message) - Specified by:
estimateTokenCountInMessagein interfacedev.langchain4j.model.Tokenizer
-
estimateTokenCountInMessages
public int estimateTokenCountInMessages(Iterable<dev.langchain4j.data.message.ChatMessage> messages) - Specified by:
estimateTokenCountInMessagesin interfacedev.langchain4j.model.Tokenizer
-
encode
-
encode
-
decode
-