Package dev.langchain4j.model.openai
Class OpenAiTokenizer
java.lang.Object
dev.langchain4j.model.openai.OpenAiTokenizer
- All Implemented Interfaces:
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
ConstructorsConstructorDescriptionDeprecated, for removal: This API element is subject to removal in a future version.Please use other constructors and specify the model name explicitly.OpenAiTokenizer
(OpenAiChatModelName modelName) Creates an instance of theOpenAiTokenizer
for a givenOpenAiChatModelName
.OpenAiTokenizer
(OpenAiEmbeddingModelName modelName) Creates an instance of theOpenAiTokenizer
for a givenOpenAiEmbeddingModelName
.OpenAiTokenizer
(OpenAiLanguageModelName modelName) Creates an instance of theOpenAiTokenizer
for a givenOpenAiLanguageModelName
.OpenAiTokenizer
(String modelName) Creates an instance of theOpenAiTokenizer
for a given model name. -
Method Summary
Modifier and TypeMethodDescriptionint
estimateTokenCountInMessage
(ChatMessage message) Estimates the count of tokens in the given message.int
estimateTokenCountInMessages
(Iterable<ChatMessage> messages) Estimates the count of tokens in the given messages.int
Estimates the count of tokens in the given text.
-
Constructor Details
-
OpenAiTokenizer
Deprecated, for removal: This API element is subject to removal in a future version.Please use other constructors and specify the model name explicitly.Creates an instance of theOpenAiTokenizer
for the "gpt-3.5-turbo" model.It should be suitable for all current OpenAI models, as they all use the same cl100k_base encoding. -
OpenAiTokenizer
Creates an instance of theOpenAiTokenizer
for a givenOpenAiChatModelName
. -
OpenAiTokenizer
Creates an instance of theOpenAiTokenizer
for a givenOpenAiEmbeddingModelName
. -
OpenAiTokenizer
Creates an instance of theOpenAiTokenizer
for a givenOpenAiLanguageModelName
. -
OpenAiTokenizer
Creates an instance of theOpenAiTokenizer
for a given model name.
-
-
Method Details
-
estimateTokenCountInText
Description copied from interface:Tokenizer
Estimates the count of tokens in the given text.- Specified by:
estimateTokenCountInText
in interfaceTokenizer
- Parameters:
text
- the text.- Returns:
- the estimated count of tokens.
-
estimateTokenCountInMessage
Description copied from interface:Tokenizer
Estimates the count of tokens in the given message.- Specified by:
estimateTokenCountInMessage
in interfaceTokenizer
- Parameters:
message
- the message.- Returns:
- the estimated count of tokens.
-
estimateTokenCountInMessages
Description copied from interface:Tokenizer
Estimates the count of tokens in the given messages.- Specified by:
estimateTokenCountInMessages
in interfaceTokenizer
- Parameters:
messages
- the messages.- Returns:
- the estimated count of tokens.
-
encode
-
encode
-
decode
-