Package dev.langchain4j.model.azure
Class AzureOpenAiTokenizer
java.lang.Object
dev.langchain4j.model.azure.AzureOpenAiTokenizer
- 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
ConstructorsConstructorDescriptionCreates an instance of theAzureOpenAiTokenizerfor the "gpt-3.5-turbo" model.AzureOpenAiTokenizer(AzureOpenAiChatModelName modelName) Creates an instance of theAzureOpenAiTokenizerfor a givenAzureOpenAiChatModelName.Creates an instance of theAzureOpenAiTokenizerfor a givenAzureOpenAiEmbeddingModelName.AzureOpenAiTokenizer(AzureOpenAiLanguageModelName modelName) Creates an instance of theAzureOpenAiTokenizerfor a givenAzureOpenAiLanguageModelName.AzureOpenAiTokenizer(String modelName) Creates an instance of theAzureOpenAiTokenizerfor a given model name. -
Method Summary
Modifier and TypeMethodDescriptionintestimateTokenCountInForcefulToolExecutionRequest(dev.langchain4j.agent.tool.ToolExecutionRequest toolExecutionRequest) intestimateTokenCountInForcefulToolSpecification(dev.langchain4j.agent.tool.ToolSpecification toolSpecification) intestimateTokenCountInMessage(dev.langchain4j.data.message.ChatMessage message) intestimateTokenCountInMessages(Iterable<dev.langchain4j.data.message.ChatMessage> messages) intintestimateTokenCountInToolExecutionRequests(Iterable<dev.langchain4j.agent.tool.ToolExecutionRequest> toolExecutionRequests) intestimateTokenCountInToolSpecifications(Iterable<dev.langchain4j.agent.tool.ToolSpecification> toolSpecifications) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dev.langchain4j.model.Tokenizer
estimateTokenCountInTools, estimateTokenCountInTools
-
Constructor Details
-
AzureOpenAiTokenizer
public AzureOpenAiTokenizer()Creates an instance of theAzureOpenAiTokenizerfor the "gpt-3.5-turbo" model. It should be suitable for most OpenAI models, as most of them use the same cl100k_base encoding (except for GPT-4o). -
AzureOpenAiTokenizer
Creates an instance of theAzureOpenAiTokenizerfor a givenAzureOpenAiChatModelName. -
AzureOpenAiTokenizer
Creates an instance of theAzureOpenAiTokenizerfor a givenAzureOpenAiEmbeddingModelName. -
AzureOpenAiTokenizer
Creates an instance of theAzureOpenAiTokenizerfor a givenAzureOpenAiLanguageModelName. -
AzureOpenAiTokenizer
Creates an instance of theAzureOpenAiTokenizerfor 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
-
estimateTokenCountInToolSpecifications
public int estimateTokenCountInToolSpecifications(Iterable<dev.langchain4j.agent.tool.ToolSpecification> toolSpecifications) - Specified by:
estimateTokenCountInToolSpecificationsin interfacedev.langchain4j.model.Tokenizer
-
estimateTokenCountInForcefulToolSpecification
public int estimateTokenCountInForcefulToolSpecification(dev.langchain4j.agent.tool.ToolSpecification toolSpecification) - Specified by:
estimateTokenCountInForcefulToolSpecificationin interfacedev.langchain4j.model.Tokenizer
-
encode
-
encode
-
decode
-
estimateTokenCountInToolExecutionRequests
public int estimateTokenCountInToolExecutionRequests(Iterable<dev.langchain4j.agent.tool.ToolExecutionRequest> toolExecutionRequests) - Specified by:
estimateTokenCountInToolExecutionRequestsin interfacedev.langchain4j.model.Tokenizer
-
estimateTokenCountInForcefulToolExecutionRequest
public int estimateTokenCountInForcefulToolExecutionRequest(dev.langchain4j.agent.tool.ToolExecutionRequest toolExecutionRequest) - Specified by:
estimateTokenCountInForcefulToolExecutionRequestin interfacedev.langchain4j.model.Tokenizer
-