The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
chat_mod_server() now returns a list of reactives for
last_input and last_turn, as well functions to
update_user_input(), append() and
clear() the chat. (#130, #143, #145)Added chat_restore() which adds Shiny bookmarking
hooks to save and restore the {ellmer} chat client. (#28,
#82)
Added update_chat_user_input() for programmatically
updating the user input of a chat UI element. (#78)
shinychat now shows tool call request and results in the UI, and
the feature is enabled by default in chat_app() and the
chat module (chat_mod_server()). When using
chat_append() with chat_ui(), set
stream = "content" when you call the
$stream_async() method on the ellmer::Chat
client to ensure tool calls are included in the chat stream output.
Learn more in the tool
calling UI article. (#52)
Added chat_append(icon=...) and
chat_ui(icon_assistant=...) for customizing the icon that
appears next to assistant responses. (#88)
chat_app() now correctly restores the chat client
state when refreshing the app, e.g. by reloading the page.
(#71)
External links in chat messages in chat_ui() now
open in a new tab by default, with a confirmation dialog.
(#120)
We consolidated the <shiny-chat-message> and
<shiny-user-message> components into a single
<shiny-chat-message> component with a
data-role attribute to indicate whether it’s an “assistant”
or “user” message. This likely has minimal impact on your apps, other
than custom styles. You should update any
shiny-user-message rules to use
shiny-chat-message[data-role="user"]. (#101)
The chat UI’s send input button is now identified by the class
.shiny-chat-btn-send. (@DeepanshKhurana, #138)
Added new output_markdown_stream() and
markdown_stream() functions to allow for streaming markdown
content to the client. This is useful for showing Generative AI
responses in real-time in a Shiny app, outside of a chat interface.
(#23)
Both chat_ui() and
output_markdown_stream() now support arbitrary Shiny UI
elements inside of messages. This allows for gathering input from the
user (e.g., selectInput()), displaying of rich output
(e.g., {htmlwidgets} like {plotly}), and more.
(#29)
Added a new chat_clear() function to clear the chat
of all messages. (#25)
Added chat_app(), chat_mod_ui() and
chat_mod_server(). chat_app() takes an
{ellmer} chat client and launches a simple Shiny app
interface with the chat. chat_mod_ui() and
chat_mod_server() replicate the interface as a Shiny
module, for easily adding a simple chat interface connected to a
specific {ellmer} chat client. (#36)
The promise returned by chat_append() now resolves
to the content streamed into the chat. (#49)
chat_append(), chat_append_message()
and chat_clear() now all work in Shiny modules without
needing to namespace the id of the Chat component.
(#37)
chat_append() now logs and throws a silent error if
the stream errors for any reason. This prevents the app from crashing if
the stream is interrupted. You can still use
promises::catch() to handle the error in your app code if
desired. (#46)
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.