New Component: Streamlit-chat, a new way to create chatbots

Hi @yashppawar great work is there a way we can download the user chatbot conversations and messages

it does not support editing, I am not sure if it will work, but you can try using something like stateful button https://youtu.be/L0u1oD0he3k?t=75 (which will be edit button, which will display the message component or text box for editingā€¦ )

Unfortunately no, you can download the source code and make changes accordingly, but my current repo does not support editing the placement.
check out the Components - Streamlit Docs if you want to edit the source code for yourself

Thanks!, the download option is not something which this UI element handles, you (as a developer) can give the option to download the messages which you will store in session_state (or database) (probably dumping the json and use st.download_button - Streamlit Docs )

Hope that helps
Thank you :slight_smile:

@anbang @Max @jincandeng sorry for the mention, but with the latest update it does support ā€˜\nā€™, thanks to @0toshigami

Thank you for this! It is one of the hottest solutions everyone is looking to do along with using OpenAI and, in my case, Pinecone to create quick and easy demos for ChatGPT-style apps to show the true power of Generative Q&A. Keep up the great work!

My input text area keeps going down and I need to scroll it up. Any fixes on how to fix the input text area and the messages can be scrolled up and down instead of page? @yashppawar

2 Likes

You have to use state management to maintain values across calls.

Hi @yashppawar, thanks for the awesome component.
Iā€™m just wondering, could you please make it so that we can upload our own chatbot avatars instead of having to choose from the (outdated) selection on DiceBear? If we could simply insert our own 50x50 or however many pixel-avatar svg from a local directory, thatā€™d be so awesome. Thanks!

1 Like

how did you manage to get the user input at the baseā€¦please some code snippet or links. Looking forward for your help.

I canā€™t seem to change the avatar - I downloaded the original source code and have found the location where the avatar is changed, even, and yet I cannot get it the .tsx and init.py files to work together to update the avatar.

Please, is there an easier way? This seems to be such a desired feature.

Is there any way to add hyperlinks to content in st_chat.message? It looks like urls, markdown, html, etc. are interpreted as plain text.

Hi! I want to change the bot and user logos to images to be uploaded. I checked the source code and the logo parameter in message() supports this function, but when I try to use the logo parameter in my code it doesnā€™t work. Any fixes for this problem? Thanks!

Iā€™m facing the same issue! I want to include links in the chatbot answer, and I want some text to be bold and highlighted. I canā€™t seem to be able to format the text in the message :frowning:

Are you using the package from pypi? If so, it has not been updated yet and that feature isnā€™t available.

I am using the pypi package. where should I install it from so that I can use this feature? thanks for your reply :slight_smile:

Is it possible to add audioplay to message?

pip install git+https://github.com/0toshigami/st-chat.git#egg=streamlit-chat
this is the pip command to install the fork of st-chat by @0toshigmi, which has the support for markdown

I am really sorry guys that itā€™s not in the mainstream, but unfortunately I am not able to build it in my laptop (the version supporting HTML & markdown), whenever I get free time, I try to do something, but the server starts time is close to 15 minutes, that even after some change, it takes me a lot of time to just check if something is working or not

Try with the new streamlit 1.25 chat options. I think you can format markdown and add links to the output now.

Hi @yashppawar,

Thanks so much for this component its great! Iā€™m working on a chatbot but I want to customize the avatars. I have made use of the ā€œavatar=ā€ but using the dicebear avatars isnā€™t quite what I want for every use case. Iā€™m wondering if there is an easy way to use a .png or if thats not possible, if I create a custom avatar on dicebear will that new avatar be available in your repo? Thanks in advance.

1 Like

I noticed a weird issue, streamlit-chat was working before but now itā€™s failing to load the component, I have no idea why. I attempted to re-install streamlit latest version and streamlit-chat but still running into issues. Any ideas why? I have the same libs on another windows machine (same setup) and it works fine, no clue what happened.

Windows OS
streamlit==1.27.1
streamlit-chat==0.1.1

Have you currently implemented any feature for responding to messages in a way that during the conversation, one can refer back to previous information, similar to typical WhatsApp or Instagram conversations?