Update app.py
Browse files
app.py
CHANGED
@@ -119,18 +119,6 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
|
119 |
current_convo_id = gr.State(generate_conversation_id())
|
120 |
history_state = gr.State([])
|
121 |
|
122 |
-
def send_message(user_message, max_tokens, temperature, top_p, convo_id, history):
|
123 |
-
if convo_id not in conversations:
|
124 |
-
#title = user_message.strip().split("\n")[0][:40]
|
125 |
-
title = " ".join(user_message.strip().split()[:5])
|
126 |
-
conversations[convo_id] = {"title": title, "messages": history}
|
127 |
-
if conversations[convo_id]["title"].startswith("New Conversation"):
|
128 |
-
#conversations[convo_id]["title"] = user_message.strip().split("\n")[0][:40]
|
129 |
-
conversations[convo_id]["title"] = " ".join(user_message.strip().split()[:5])
|
130 |
-
for updated_history, new_history in generate_response(user_message, max_tokens, temperature, top_p, history):
|
131 |
-
conversations[convo_id]["messages"] = new_history
|
132 |
-
yield updated_history, new_history, gr.update(choices=update_conversation_list(), value=conversations[convo_id]["title"])
|
133 |
-
|
134 |
with gr.Row():
|
135 |
with gr.Column(scale=1):
|
136 |
# INTRO TEXT MOVED HERE
|
@@ -161,30 +149,12 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
|
161 |
|
162 |
with gr.Column(scale=4):
|
163 |
#chatbot = gr.Chatbot(label="Chat", type="messages")
|
164 |
-
chatbot = gr.Chatbot(label="Chat", type="messages", height=
|
165 |
with gr.Row():
|
166 |
-
user_input = gr.Textbox(label="User Input", placeholder="Type your question here...", lines=
|
167 |
with gr.Column():
|
168 |
submit_button = gr.Button("Send", variant="primary", scale=1)
|
169 |
-
stop_button = gr.Button("⏹ Stop", variant="secondary", scale=1)
|
170 |
clear_button = gr.Button("Clear", scale=1)
|
171 |
-
|
172 |
-
# ① build the streaming event and save its handle -----------------
|
173 |
-
stream_event = submit_button.click(
|
174 |
-
fn = send_message,
|
175 |
-
inputs = [user_input, max_tokens_slider, temperature_slider,
|
176 |
-
top_p_slider, current_convo_id, history_state],
|
177 |
-
outputs= [chatbot, history_state, conversation_selector]
|
178 |
-
)
|
179 |
-
|
180 |
-
# ③ stop button cancels the real streaming event ------------------
|
181 |
-
stop_button.click(
|
182 |
-
fn = None,
|
183 |
-
inputs = None,
|
184 |
-
outputs = None,
|
185 |
-
cancels = [stream_event] # <-- correct event to cancel
|
186 |
-
)
|
187 |
-
|
188 |
gr.Markdown("**Try these examples:**")
|
189 |
with gr.Row():
|
190 |
example1_button = gr.Button("JEE Main 2025\nCombinatorics")
|
@@ -206,6 +176,17 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
|
206 |
return cid, convo["messages"], convo["messages"]
|
207 |
return current_convo_id.value, history_state.value, history_state.value
|
208 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
209 |
|
210 |
submit_button.click(
|
211 |
fn=send_message,
|
@@ -244,4 +225,4 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
|
244 |
|
245 |
if __name__ == "__main__":
|
246 |
# first positional argument = concurrency_count
|
247 |
-
demo.queue(
|
|
|
119 |
current_convo_id = gr.State(generate_conversation_id())
|
120 |
history_state = gr.State([])
|
121 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
with gr.Row():
|
123 |
with gr.Column(scale=1):
|
124 |
# INTRO TEXT MOVED HERE
|
|
|
149 |
|
150 |
with gr.Column(scale=4):
|
151 |
#chatbot = gr.Chatbot(label="Chat", type="messages")
|
152 |
+
chatbot = gr.Chatbot(label="Chat", type="messages", height=520)
|
153 |
with gr.Row():
|
154 |
+
user_input = gr.Textbox(label="User Input", placeholder="Type your question here...", lines=3, scale=8)
|
155 |
with gr.Column():
|
156 |
submit_button = gr.Button("Send", variant="primary", scale=1)
|
|
|
157 |
clear_button = gr.Button("Clear", scale=1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
gr.Markdown("**Try these examples:**")
|
159 |
with gr.Row():
|
160 |
example1_button = gr.Button("JEE Main 2025\nCombinatorics")
|
|
|
176 |
return cid, convo["messages"], convo["messages"]
|
177 |
return current_convo_id.value, history_state.value, history_state.value
|
178 |
|
179 |
+
def send_message(user_message, max_tokens, temperature, top_p, convo_id, history):
|
180 |
+
if convo_id not in conversations:
|
181 |
+
#title = user_message.strip().split("\n")[0][:40]
|
182 |
+
title = " ".join(user_message.strip().split()[:5])
|
183 |
+
conversations[convo_id] = {"title": title, "messages": history}
|
184 |
+
if conversations[convo_id]["title"].startswith("New Conversation"):
|
185 |
+
#conversations[convo_id]["title"] = user_message.strip().split("\n")[0][:40]
|
186 |
+
conversations[convo_id]["title"] = " ".join(user_message.strip().split()[:5])
|
187 |
+
for updated_history, new_history in generate_response(user_message, max_tokens, temperature, top_p, history):
|
188 |
+
conversations[convo_id]["messages"] = new_history
|
189 |
+
yield updated_history, new_history, gr.update(choices=update_conversation_list(), value=conversations[convo_id]["title"])
|
190 |
|
191 |
submit_button.click(
|
192 |
fn=send_message,
|
|
|
225 |
|
226 |
if __name__ == "__main__":
|
227 |
# first positional argument = concurrency_count
|
228 |
+
demo.queue(8).launch(share=True, ssr_mode=False)
|