Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -106,9 +106,12 @@ def stream_gemini_response(user_message: str, messages: list) -> Iterator[list]:
|
|
| 106 |
thinking_complete = True
|
| 107 |
|
| 108 |
for chunk in response:
|
|
|
|
| 109 |
parts = chunk.candidates[0].content.parts
|
| 110 |
current_chunk = parts[0].text
|
| 111 |
|
|
|
|
|
|
|
| 112 |
if len(parts) == 2 and not thinking_complete:
|
| 113 |
# Complete thought and start response
|
| 114 |
thought_buffer += current_chunk
|
|
@@ -202,7 +205,15 @@ with gr.Blocks(theme=gr.themes.Soft(primary_hue="teal", secondary_hue="slate", n
|
|
| 202 |
scale=4
|
| 203 |
)
|
| 204 |
|
| 205 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 206 |
|
| 207 |
# Add example prompts - removed file upload examples. Kept text focused examples.
|
| 208 |
example_prompts = [
|
|
@@ -220,7 +231,28 @@ with gr.Blocks(theme=gr.themes.Soft(primary_hue="teal", secondary_hue="slate", n
|
|
| 220 |
examples_per_page=5 # Adjust as needed
|
| 221 |
)
|
| 222 |
|
| 223 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 224 |
# Set up event handlers
|
| 225 |
msg_store = gr.State("") # Store for preserving user message
|
| 226 |
|
|
@@ -240,6 +272,22 @@ with gr.Blocks(theme=gr.themes.Soft(primary_hue="teal", secondary_hue="slate", n
|
|
| 240 |
outputs=chatbot
|
| 241 |
)
|
| 242 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 243 |
clear_button.click(
|
| 244 |
lambda: ([], "", ""),
|
| 245 |
outputs=[chatbot, input_box, msg_store],
|
|
|
|
| 106 |
thinking_complete = True
|
| 107 |
|
| 108 |
for chunk in response:
|
| 109 |
+
print("chunk start")
|
| 110 |
parts = chunk.candidates[0].content.parts
|
| 111 |
current_chunk = parts[0].text
|
| 112 |
|
| 113 |
+
print(f"\n=========\nparts len: {len(parts)}\n\nparts: {parts}\n\ncurrent chunk: {current_chunk}\n=========\n")
|
| 114 |
+
|
| 115 |
if len(parts) == 2 and not thinking_complete:
|
| 116 |
# Complete thought and start response
|
| 117 |
thought_buffer += current_chunk
|
|
|
|
| 205 |
scale=4
|
| 206 |
)
|
| 207 |
|
| 208 |
+
with gr.Column(scale=1):
|
| 209 |
+
submit_button = gr.Button("Submit", scale=1)
|
| 210 |
+
clear_button = gr.Button("Clear Chat", scale=1)
|
| 211 |
+
|
| 212 |
+
with gr.Row(equal_height=True):
|
| 213 |
+
test_button = gr.Button("test", scale=1)
|
| 214 |
+
test1_button = gr.Button("test1", scale=1)
|
| 215 |
+
test2_button = gr.Button("test2", scale=1)
|
| 216 |
+
test3_button = gr.Button("test3", scale=1)
|
| 217 |
|
| 218 |
# Add example prompts - removed file upload examples. Kept text focused examples.
|
| 219 |
example_prompts = [
|
|
|
|
| 231 |
examples_per_page=5 # Adjust as needed
|
| 232 |
)
|
| 233 |
|
| 234 |
+
# Created by gemini-2.5-pro-exp-03-25
|
| 235 |
+
#def process_message(msg):
|
| 236 |
+
# """Обрабатывает сообщение пользователя: сохраняет, отображает и генерирует ответ."""
|
| 237 |
+
# msg_store_val, _, _ = lambda msg: (msg, msg, "")(msg) # Store message and clear input (inline lambda)
|
| 238 |
+
# input_box_val, chatbot_val = user_message(msg_store_val, chatbot) # Add user message to chat
|
| 239 |
+
# chatbot_val_final = stream_gemini_response(msg_store_val, chatbot_val) # Generate and stream response
|
| 240 |
+
# return msg_store_val, input_box_val, chatbot_val_final
|
| 241 |
+
#
|
| 242 |
+
#input_box.submit(
|
| 243 |
+
# process_message,
|
| 244 |
+
# inputs=[input_box],
|
| 245 |
+
# outputs=[msg_store, input_box, chatbot], # Исправлены outputs, чтобы включать chatbot
|
| 246 |
+
# queue=False
|
| 247 |
+
#)
|
| 248 |
+
|
| 249 |
+
#submit_button.click(
|
| 250 |
+
# process_message,
|
| 251 |
+
# inputs=[input_box],
|
| 252 |
+
# outputs=[msg_store, input_box, chatbot], # Исправлены outputs, чтобы включать chatbot
|
| 253 |
+
# queue=False
|
| 254 |
+
#)
|
| 255 |
+
|
| 256 |
# Set up event handlers
|
| 257 |
msg_store = gr.State("") # Store for preserving user message
|
| 258 |
|
|
|
|
| 272 |
outputs=chatbot
|
| 273 |
)
|
| 274 |
|
| 275 |
+
submit_button.click(
|
| 276 |
+
lambda msg: (msg, msg, ""), # Store message and clear input
|
| 277 |
+
inputs=[input_box],
|
| 278 |
+
outputs=[msg_store, input_box, input_box],
|
| 279 |
+
queue=False
|
| 280 |
+
).then(
|
| 281 |
+
user_message, # Add user message to chat
|
| 282 |
+
inputs=[msg_store, chatbot],
|
| 283 |
+
outputs=[input_box, chatbot],
|
| 284 |
+
queue=False
|
| 285 |
+
).then(
|
| 286 |
+
stream_gemini_response, # Generate and stream response
|
| 287 |
+
inputs=[msg_store, chatbot],
|
| 288 |
+
outputs=chatbot
|
| 289 |
+
)
|
| 290 |
+
|
| 291 |
clear_button.click(
|
| 292 |
lambda: ([], "", ""),
|
| 293 |
outputs=[chatbot, input_box, msg_store],
|