-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ability to shrink conversation based on cost/budget/importance #228
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
reviewed
Aug 3, 2023
NickHeiner
approved these changes
Aug 3, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This adds a new affordance to
renderToConversation
where a cost function (i.e. a function that measures/estimates how many tokens any given message consumes) and a budget can be provided.If the conversation contains
<Shrinkable>
components, those portions of the conversation will be replaced until the total conversation cost is less than the provided budget.<Shrinkable>
has two props of note:importance
-- the shrinking algorithm replaces the least important sections firstreplacement
-- theAI.Node
with which the section will be replacedA current limitation is that the
<Shrinkable>
components need to wrap the message components entirely and have no effect when used within a message component.Additionally:
js-tiktoken
for compatibility with the OpenAI chat modelsNLRouter
where the unmatched route was using the wrong indexwithContext
so as not to replace an existing binding. (This ensures that components can be memoized multiple times without being re-rendered.)