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 theOpenAiTokenCountEstimatorfor a givenOpenAiChatModelName.Creates an instance of theOpenAiTokenCountEstimatorfor a givenOpenAiEmbeddingModelName.OpenAiTokenCountEstimator(OpenAiLanguageModelName modelName) Creates an instance of theOpenAiTokenCountEstimatorfor a givenOpenAiLanguageModelName.OpenAiTokenCountEstimator(String modelName) Creates an instance of theOpenAiTokenCountEstimatorfor 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
-
OpenAiTokenCountEstimator
Creates an instance of theOpenAiTokenCountEstimatorfor a givenOpenAiChatModelName. -
OpenAiTokenCountEstimator
Creates an instance of theOpenAiTokenCountEstimatorfor a givenOpenAiEmbeddingModelName. -
OpenAiTokenCountEstimator
Creates an instance of theOpenAiTokenCountEstimatorfor a givenOpenAiLanguageModelName. -
OpenAiTokenCountEstimator
Creates an instance of theOpenAiTokenCountEstimatorfor a given model name.
-
-
Method Details
-
estimateTokenCountInText
- Specified by:
estimateTokenCountInTextin interfacedev.langchain4j.model.TokenCountEstimator
-
estimateTokenCountInMessage
public int estimateTokenCountInMessage(dev.langchain4j.data.message.ChatMessage message) - Specified by:
estimateTokenCountInMessagein interfacedev.langchain4j.model.TokenCountEstimator
-
estimateTokenCountInMessages
public int estimateTokenCountInMessages(Iterable<dev.langchain4j.data.message.ChatMessage> messages) - Specified by:
estimateTokenCountInMessagesin interfacedev.langchain4j.model.TokenCountEstimator
-
encode
-
encode
-
decode
-