Breaking Changes
-
The entire functional API (i.e.,
init(),sidebar(),server(), etc) has been hard deprecated in favor of a simpler OOP-based API. Namely, the newQueryChat()class is now the main entry point (instead ofinit()) and has methods to replace old functions (e.g.,.sidebar(),.server(), etc). (#101) -
The
.sql()method now returnsNoneinstead of""(empty string) when no query has been set, aligning with the behavior of.title()for consistency. Most code using theoroperator orreq()for falsy checks will continue working without changes. Code that explicitly checkssql() == ""should be updated to use falsy checks (if not sql()) or explicit null checks (if sql() is None). (#146)
New features
-
New
QueryChat.app()method enables quicker/easier chatting with a dataset. (#104) -
Enabled bookmarking by default in both
.app()and.server()methods. In latter case, you'll need to also specify thebookmark_store(either inshiny.App()orshiny.express.app_opts()) for it to take effect. (#104) -
The current SQL query and title can now be programmatically set through the
.sql()and.title()methods ofQueryChat(). (#98, #101) -
New
querychat.datamodule provides sample datasets (titanic()andtips()) to make it easier to get started without external dependencies. (#118) -
Added a
.generate_greeting()method to help you create a greeting message for your querychat bot. (#87) -
Added
querychat_reset_dashboard()tool for easily resetting the dashboard filters when asked by the user. (#81)
Improvements
-
Added rich tool UI support using shinychat development version and chatlas >= 0.11.1. (#67)
-
querychat's system prompt and tool descriptions were rewritten for clarity and future extensibility. (#90)
-
Tool detail cards can now be expanded or collapsed by default when querychat runs a query or updates the dashboard via the
QUERYCHAT_TOOL_DETAILSenvironment variable. Valid values are"expanded","collapsed", or"default". (#137)