Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -337,17 +337,17 @@ def chat_response(message, history, model_name, direct_mode, thinking_depth=1.0,
|
|
| 337 |
|
| 338 |
ВАЖНО: Строго соблюдай формат ответа. Каждый тег должен быть на новой строке:
|
| 339 |
|
| 340 |
-
[THINKING_STEP
|
| 341 |
Текст первого шага...
|
| 342 |
-
[/THINKING_STEP
|
| 343 |
|
| 344 |
-
[THINKING_STEP
|
| 345 |
Текст второго шага...
|
| 346 |
-
[/THINKING_STEP
|
| 347 |
|
| 348 |
-
[FINAL_ANSWER
|
| 349 |
Итоговый ответ...
|
| 350 |
-
[/FINAL_ANSWER
|
| 351 |
|
| 352 |
Вопрос: {message}
|
| 353 |
"""
|
|
@@ -367,8 +367,7 @@ def chat_response(message, history, model_name, direct_mode, thinking_depth=1.0,
|
|
| 367 |
response = g4f.ChatCompletion.create(
|
| 368 |
model="gpt-4o",
|
| 369 |
messages=[{"role": "system", "content": thinking_prompt}],
|
| 370 |
-
stream=True
|
| 371 |
-
# timeout=30
|
| 372 |
)
|
| 373 |
|
| 374 |
# Флаг для отслеживания получения первого чанка
|
|
@@ -396,42 +395,42 @@ def chat_response(message, history, model_name, direct_mode, thinking_depth=1.0,
|
|
| 396 |
)
|
| 397 |
# ... существующий код ...
|
| 398 |
|
| 399 |
-
# Проверяем начало блоков
|
| 400 |
if "[THINKING_STEP]" in current_block:
|
| 401 |
in_thinking_step = True
|
| 402 |
current_block = current_block.replace("[THINKING_STEP]", "")
|
| 403 |
-
|
| 404 |
if "[THINKING_STEP" in current_block:
|
| 405 |
in_thinking_step = True
|
| 406 |
current_block = current_block.replace("[THINKING_STEP", "")
|
| 407 |
-
|
| 408 |
if "[FINAL_ANSWER]" in current_block:
|
| 409 |
in_final_answer = True
|
| 410 |
current_block = current_block.replace("[FINAL_ANSWER]", "")
|
| 411 |
-
|
| 412 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 413 |
if "[/THINKING_STEP]" in current_block and in_thinking_step:
|
| 414 |
block_content = current_block[:current_block.find("[/THINKING_STEP]")]
|
| 415 |
formatted_block = f'<div class="thinking-step-block">{block_content}</div>'
|
| 416 |
partial_message += formatted_block
|
| 417 |
current_block = current_block[current_block.find("[/THINKING_STEP]") + len("[/THINKING_STEP]"):]
|
| 418 |
in_thinking_step = False
|
| 419 |
-
|
| 420 |
if "[/THINKING_STEP" in current_block and in_thinking_step:
|
| 421 |
block_content = current_block[:current_block.find("[/THINKING_STEP")]
|
| 422 |
formatted_block = f'<div class="thinking-step-block">{block_content}</div>'
|
| 423 |
partial_message += formatted_block
|
| 424 |
current_block = current_block[current_block.find("[/THINKING_STEP") + len("[/THINKING_STEP"):]
|
| 425 |
in_thinking_step = False
|
| 426 |
-
|
| 427 |
-
|
| 428 |
block_content = current_block[:current_block.find("[/FINAL_ANSWER]")]
|
| 429 |
formatted_block = f'<div class="final-answer-block">{block_content}</div>'
|
| 430 |
partial_message += formatted_block
|
| 431 |
-
current_block = current_block[current_block.find("[/FINAL_ANSWER
|
| 432 |
in_final_answer = False
|
| 433 |
-
|
| 434 |
-
if "[/FINAL_ANSWER" in current_block and in_final_answer:
|
| 435 |
block_content = current_block[:current_block.find("[/FINAL_ANSWER")]
|
| 436 |
formatted_block = f'<div class="final-answer-block">{block_content}</div>'
|
| 437 |
partial_message += formatted_block
|
|
|
|
| 337 |
|
| 338 |
ВАЖНО: Строго соблюдай формат ответа. Каждый тег должен быть на новой строке:
|
| 339 |
|
| 340 |
+
[THINKING_STEP
|
| 341 |
Текст первого шага...
|
| 342 |
+
[/THINKING_STEP
|
| 343 |
|
| 344 |
+
[THINKING_STEP
|
| 345 |
Текст второго шага...
|
| 346 |
+
[/THINKING_STEP
|
| 347 |
|
| 348 |
+
[FINAL_ANSWER
|
| 349 |
Итоговый ответ...
|
| 350 |
+
[/FINAL_ANSWER
|
| 351 |
|
| 352 |
Вопрос: {message}
|
| 353 |
"""
|
|
|
|
| 367 |
response = g4f.ChatCompletion.create(
|
| 368 |
model="gpt-4o",
|
| 369 |
messages=[{"role": "system", "content": thinking_prompt}],
|
| 370 |
+
stream=True
|
|
|
|
| 371 |
)
|
| 372 |
|
| 373 |
# Флаг для отслеживания получения первого чанка
|
|
|
|
| 395 |
)
|
| 396 |
# ... существующий код ...
|
| 397 |
|
|
|
|
| 398 |
if "[THINKING_STEP]" in current_block:
|
| 399 |
in_thinking_step = True
|
| 400 |
current_block = current_block.replace("[THINKING_STEP]", "")
|
|
|
|
| 401 |
if "[THINKING_STEP" in current_block:
|
| 402 |
in_thinking_step = True
|
| 403 |
current_block = current_block.replace("[THINKING_STEP", "")
|
| 404 |
+
|
| 405 |
if "[FINAL_ANSWER]" in current_block:
|
| 406 |
in_final_answer = True
|
| 407 |
current_block = current_block.replace("[FINAL_ANSWER]", "")
|
| 408 |
+
if "[FINAL_ANSWER" in current_block:
|
| 409 |
+
in_final_answer = True
|
| 410 |
+
|
| 411 |
+
current_block = current_block.replace("[FINAL_ANSWER", "")
|
| 412 |
+
|
| 413 |
+
# Проверяем завершение блоков
|
| 414 |
if "[/THINKING_STEP]" in current_block and in_thinking_step:
|
| 415 |
block_content = current_block[:current_block.find("[/THINKING_STEP]")]
|
| 416 |
formatted_block = f'<div class="thinking-step-block">{block_content}</div>'
|
| 417 |
partial_message += formatted_block
|
| 418 |
current_block = current_block[current_block.find("[/THINKING_STEP]") + len("[/THINKING_STEP]"):]
|
| 419 |
in_thinking_step = False
|
|
|
|
| 420 |
if "[/THINKING_STEP" in current_block and in_thinking_step:
|
| 421 |
block_content = current_block[:current_block.find("[/THINKING_STEP")]
|
| 422 |
formatted_block = f'<div class="thinking-step-block">{block_content}</div>'
|
| 423 |
partial_message += formatted_block
|
| 424 |
current_block = current_block[current_block.find("[/THINKING_STEP") + len("[/THINKING_STEP"):]
|
| 425 |
in_thinking_step = False
|
| 426 |
+
|
| 427 |
+
elif "[/FINAL_ANSWER]" in current_block and in_final_answer:
|
| 428 |
block_content = current_block[:current_block.find("[/FINAL_ANSWER]")]
|
| 429 |
formatted_block = f'<div class="final-answer-block">{block_content}</div>'
|
| 430 |
partial_message += formatted_block
|
| 431 |
+
current_block = current_block[current_block.find("[/FINAL_ANSWER") + len("[/FINAL_ANSWER]"):]
|
| 432 |
in_final_answer = False
|
| 433 |
+
elif "[/FINAL_ANSWER" in current_block and in_final_answer:
|
|
|
|
| 434 |
block_content = current_block[:current_block.find("[/FINAL_ANSWER")]
|
| 435 |
formatted_block = f'<div class="final-answer-block">{block_content}</div>'
|
| 436 |
partial_message += formatted_block
|