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)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.