Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added a new function
resolveTokenEncoder
to obtain and return token encoders based on the model provided. This is an asynchronous function introduced inencoders.ts
file inside thecore
package. 📑Replaced the
estimateTokens
function from thetokens.ts
file in thecore
package withestimateTokens
fromencoders.ts
throughout the codebase. This essentially uses the new encoder for estimating tokens. 🔍Updated
createParsers
function inparsers.ts
to be asynchronous and wait for the token encoder. ⏳Resolving and creating the prompt context in some files is also updated to be asynchronous, to ensure the token encoder is properly resolved. 🔄
In
tokens.ts
, removed theestimateChatTokens
function as its responsibility is now taken up by a new functionestimateChatTokens
introduced in the newly addedchatencoder.ts
. 🆕A new file
chatencoder.ts
has been added to thecore
package that contains its own implementation ofestimateChatTokens
function. 📁The user-facing interface (as defined in the
prompt_template.d.ts
file) has not changed, meaning these changes are mostly internal and do not affect users directly. 👥