Package dev.langchain4j.model.openai
Class OpenAiTokenCountEstimator
java.lang.Object
dev.langchain4j.model.openai.OpenAiTokenCountEstimator
- All Implemented Interfaces:
dev.langchain4j.model.TokenCountEstimator
public class OpenAiTokenCountEstimator
extends Object
implements dev.langchain4j.model.TokenCountEstimator
This class can be used to estimate the cost (in tokens) before calling OpenAI.
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
ConstructorsConstructorDescriptionOpenAiTokenCountEstimator
(OpenAiChatModelName modelName) Creates an instance of theOpenAiTokenCountEstimator
for a givenOpenAiChatModelName
.Creates an instance of theOpenAiTokenCountEstimator
for a givenOpenAiEmbeddingModelName
.OpenAiTokenCountEstimator
(OpenAiLanguageModelName modelName) Creates an instance of theOpenAiTokenCountEstimator
for a givenOpenAiLanguageModelName
.OpenAiTokenCountEstimator
(String modelName) Creates an instance of theOpenAiTokenCountEstimator
for a given model name. -
Method Summary
Modifier and TypeMethodDescriptionint
estimateTokenCountInMessage
(dev.langchain4j.data.message.ChatMessage message) int
estimateTokenCountInMessages
(Iterable<dev.langchain4j.data.message.ChatMessage> messages) int
-
Constructor Details
-
OpenAiTokenCountEstimator
Creates an instance of theOpenAiTokenCountEstimator
for a givenOpenAiChatModelName
. -
OpenAiTokenCountEstimator
Creates an instance of theOpenAiTokenCountEstimator
for a givenOpenAiEmbeddingModelName
. -
OpenAiTokenCountEstimator
Creates an instance of theOpenAiTokenCountEstimator
for a givenOpenAiLanguageModelName
. -
OpenAiTokenCountEstimator
Creates an instance of theOpenAiTokenCountEstimator
for a given model name.
-
-
Method Details
-
estimateTokenCountInText
- Specified by:
estimateTokenCountInText
in interfacedev.langchain4j.model.TokenCountEstimator
-
estimateTokenCountInMessage
public int estimateTokenCountInMessage(dev.langchain4j.data.message.ChatMessage message) - Specified by:
estimateTokenCountInMessage
in interfacedev.langchain4j.model.TokenCountEstimator
-
estimateTokenCountInMessages
public int estimateTokenCountInMessages(Iterable<dev.langchain4j.data.message.ChatMessage> messages) - Specified by:
estimateTokenCountInMessages
in interfacedev.langchain4j.model.TokenCountEstimator
-
encode
-
encode
-
decode
-