Update app.py
Browse files
app.py
CHANGED
|
@@ -530,16 +530,16 @@ def generate_answer_langchain(
|
|
| 530 |
llm_answer = generate_llm_answer(query, retrieved_docs, llm_client, attempt)
|
| 531 |
|
| 532 |
if llm_answer:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 533 |
# Step 3: Fallback if all attempts fail
|
| 534 |
if not llm_answer:
|
| 535 |
logger.error(f" β All 4 LLM attempts failed - using enhanced fallback")
|
| 536 |
llm_answer = synthesize_direct_answer(query, retrieved_docs)
|
| 537 |
|
| 538 |
-
return llm_answerk if all attempts fail
|
| 539 |
-
if not llm_answer:
|
| 540 |
-
logger.error(f" β All 4 LLM attempts failed - using fallback")
|
| 541 |
-
llm_answer = synthesize_direct_answer(query, retrieved_docs)
|
| 542 |
-
|
| 543 |
return llm_answer
|
| 544 |
|
| 545 |
# ============================================================================
|
|
@@ -576,6 +576,11 @@ def fashion_chatbot(message: str, history: List[List[str]]):
|
|
| 576 |
llm_answer = None
|
| 577 |
for attempt in range(1, 5):
|
| 578 |
logger.info(f"\n π€ LLM Generation Attempt {attempt}/4")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 579 |
# Fallback if needed
|
| 580 |
if not llm_answer:
|
| 581 |
logger.error(f" β All LLM attempts failed - using enhanced fallback")
|
|
@@ -583,11 +588,6 @@ def fashion_chatbot(message: str, history: List[List[str]]):
|
|
| 583 |
# Notify user about the issue
|
| 584 |
yield "β οΈ LLM temporarily unavailable, providing knowledge-based answer...\n\n"
|
| 585 |
|
| 586 |
-
# Fallback if needed
|
| 587 |
-
if not llm_answer:
|
| 588 |
-
logger.error(f" β All LLM attempts failed - using fallback")
|
| 589 |
-
llm_answer = synthesize_direct_answer(message.strip(), retrieved_docs)
|
| 590 |
-
|
| 591 |
# Stream the answer word by word for natural flow
|
| 592 |
import time
|
| 593 |
words = llm_answer.split()
|
|
|
|
| 530 |
llm_answer = generate_llm_answer(query, retrieved_docs, llm_client, attempt)
|
| 531 |
|
| 532 |
if llm_answer:
|
| 533 |
+
logger.info(f" β
LLM answer generated successfully")
|
| 534 |
+
break
|
| 535 |
+
else:
|
| 536 |
+
logger.warning(f" β Attempt {attempt}/4 failed, retrying...")
|
| 537 |
+
|
| 538 |
# Step 3: Fallback if all attempts fail
|
| 539 |
if not llm_answer:
|
| 540 |
logger.error(f" β All 4 LLM attempts failed - using enhanced fallback")
|
| 541 |
llm_answer = synthesize_direct_answer(query, retrieved_docs)
|
| 542 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 543 |
return llm_answer
|
| 544 |
|
| 545 |
# ============================================================================
|
|
|
|
| 576 |
llm_answer = None
|
| 577 |
for attempt in range(1, 5):
|
| 578 |
logger.info(f"\n π€ LLM Generation Attempt {attempt}/4")
|
| 579 |
+
llm_answer = generate_llm_answer(message.strip(), retrieved_docs, llm_client, attempt)
|
| 580 |
+
|
| 581 |
+
if llm_answer:
|
| 582 |
+
break
|
| 583 |
+
|
| 584 |
# Fallback if needed
|
| 585 |
if not llm_answer:
|
| 586 |
logger.error(f" β All LLM attempts failed - using enhanced fallback")
|
|
|
|
| 588 |
# Notify user about the issue
|
| 589 |
yield "β οΈ LLM temporarily unavailable, providing knowledge-based answer...\n\n"
|
| 590 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 591 |
# Stream the answer word by word for natural flow
|
| 592 |
import time
|
| 593 |
words = llm_answer.split()
|