Update app.py
Browse filesDisable chat_input while generating
app.py
CHANGED
@@ -8,8 +8,10 @@ REPETITION_PENALTY = 1.05
|
|
8 |
MAX_NEW_TOKENS = 500
|
9 |
MODEL_NAME = "ericzzz/falcon-rw-1b-chat"
|
10 |
|
|
|
11 |
st.write("**💬Tiny Chat with [Falcon-RW-1B-Chat](https://huggingface.co/ericzzz/falcon-rw-1b-chat)**" )
|
12 |
|
|
|
13 |
if "chat_history" not in st.session_state:
|
14 |
st.session_state.chat_history = []
|
15 |
|
@@ -103,6 +105,8 @@ class ResponseStreamer:
|
|
103 |
# clean up states (actually not needed as the instance will get recreated)
|
104 |
self.first_call_to_put = True
|
105 |
self.current_response = ""
|
|
|
|
|
106 |
|
107 |
|
108 |
tokenizer, model = load_model()
|
@@ -111,8 +115,13 @@ chat_messages_container = st.container()
|
|
111 |
for msg in st.session_state.chat_history:
|
112 |
show_chat_message(chat_messages_container, msg)
|
113 |
|
114 |
-
|
|
|
|
|
115 |
if user_input:
|
|
|
|
|
|
|
116 |
new_user_message = {"role": "user", "content": user_input}
|
117 |
st.session_state.chat_history.append(new_user_message)
|
118 |
show_chat_message(chat_messages_container, new_user_message)
|
|
|
8 |
MAX_NEW_TOKENS = 500
|
9 |
MODEL_NAME = "ericzzz/falcon-rw-1b-chat"
|
10 |
|
11 |
+
# fmt: off
|
12 |
st.write("**💬Tiny Chat with [Falcon-RW-1B-Chat](https://huggingface.co/ericzzz/falcon-rw-1b-chat)**" )
|
13 |
|
14 |
+
# fmt: on
|
15 |
if "chat_history" not in st.session_state:
|
16 |
st.session_state.chat_history = []
|
17 |
|
|
|
105 |
# clean up states (actually not needed as the instance will get recreated)
|
106 |
self.first_call_to_put = True
|
107 |
self.current_response = ""
|
108 |
+
# rerun to unfreeze the chat_input
|
109 |
+
st.rerun()
|
110 |
|
111 |
|
112 |
tokenizer, model = load_model()
|
|
|
115 |
for msg in st.session_state.chat_history:
|
116 |
show_chat_message(chat_messages_container, msg)
|
117 |
|
118 |
+
input_placeholder = st.empty() # use placeholder as a hack to disable input
|
119 |
+
user_input = input_placeholder.chat_input(key="user_input_original")
|
120 |
+
|
121 |
if user_input:
|
122 |
+
# disable chat_input while generating
|
123 |
+
input_placeholder.chat_input(key="user_input_disabled", disabled=True)
|
124 |
+
|
125 |
new_user_message = {"role": "user", "content": user_input}
|
126 |
st.session_state.chat_history.append(new_user_message)
|
127 |
show_chat_message(chat_messages_container, new_user_message)
|