How to avoid reruning when using chat_input component

Hi, this is Gild, also it’s my first question in this community.
I am try to adapt Autogen in my streamlit chatbot app
However, one problem suffers me a lot.
Everytime I enter the prompt from chat_input, the whole app will rerun again.
Although I check the previous discuss, it seems like that there is no way to bypass this situation, even I try @fragment to avoid that but fail.

Is there any new suggestion to my situation? Thanks for your help.
I really love streamlit framework, easy to develop and for POC.

Sincerely Gildshen.

@fragment works for me.

1 Like

Hi Goyo, thanks for your swift response.
Could you share how do you do using @fragement in chat_input.
So many thanks for your kindly sharing.

As explained in the docs.

@st.fragment
def prompt():
    st.chat_input("Input")

prompt()

Dear Goyo
Sorry for my late response.
Thanks for your instant reply, I try it and it works.
However, the chat_input will not be fixed it the bottom of page.
Is there any points I need to take care of ?
Thanks for your reply again.

I didn’t notice that before. It looks like a bug in Streamlit. The only workaround I can think of is not putting the chat_input in a fragment, hence allowing the main script to rerun on each interaction. Whatever issues it creates can most likely be solved in a different way.

Thank you Goyo, late thanks again. Now 1.39 has come out, maybe I can use st.html to fix this problem.