fix: remove 'over-reaching' python Chat
features
#62
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 PR removes the python
Chat
features that were deprecated in #91Removing these features will bring the chat feature-set of the R and Python packages closer together, and significantly simplifies the Python implementation.
For context, this
Chat
class predatesellmer
,chatlas
, andshinychat
. Since then, it's become more clear that these features "over-reach" into responsibilities of the AI framework (i.e., chatlas, LangChain, etc), and too tightly coupled UI with LLM state.For reference, here is the list:
Chat(messages=...)
was removed. Usechat.ui(messages=...)
instead.Chat(tokenizer=...)
was removed. This was only relevant for.messages(token_limits=...)
which was also removed..messages()
were removed. This reflects an overall change philosophy for maintaining the conversation history sent to the LLM --Chat
should no longer be responsible for maintaining it -- another stateful object (perhaps the one provided by chatlas, LangChain, etc.) should be used instead. That said,.messages()
is still useful if you want to access UI message state.transform_user_input
andtransform_assistant_response
decorators were removed. Instead, transformation of input/responses should be done manually and independently ofChat
..user_input(transform=...)
was also removed..set_user_message()
method was officially removed (in favor of.update_user_input()
)TODO