uumerrr684 commited on
Commit
f127ccc
Β·
verified Β·
1 Parent(s): 91099df

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -12
app.py CHANGED
@@ -378,12 +378,27 @@ Please provide a thorough, well-structured answer that directly addresses the qu
378
  if response.status_code == 200:
379
  ai_response = response.json()['choices'][0]['message']['content'].strip()
380
  ai_answer = ai_response if len(ai_response) > 10 else extracted_answer
381
- elif response.status_code == 402:
382
- st.warning("πŸ’³ OpenRouter credits exhausted. Using extracted answers only.")
383
- elif response.status_code == 429:
384
- st.warning("⏱️ Rate limit reached. Using extracted answers only.")
385
  else:
386
- st.warning(f"API Error {response.status_code}. Using extracted answers only.")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
387
 
388
  except requests.exceptions.Timeout:
389
  st.warning("⏱️ API timeout. Using extracted answers only.")
@@ -435,12 +450,24 @@ def get_general_ai_response(query, unlimited_tokens=False):
435
 
436
  if response.status_code == 200:
437
  return response.json()['choices'][0]['message']['content'].strip()
438
- elif response.status_code == 402:
439
- return "Sorry, OpenRouter credits exhausted. Please add more credits or ask document-specific questions."
440
- elif response.status_code == 429:
441
- return "Rate limit reached. Please try again in a moment."
442
  else:
443
- return f"API error (Status: {response.status_code}). Try asking about documents instead."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
444
 
445
  except requests.exceptions.Timeout:
446
  return "Request timeout. Please try again."
@@ -721,8 +748,8 @@ if prompt := st.chat_input("Ask questions about your documents..."):
721
  # Search documents first
722
  search_results = rag_system.search(prompt, n_results=3)
723
 
724
- # Check if we found relevant documents (much lower threshold)
725
- if search_results and search_results[0]['similarity'] > 0.01: # Very low threshold
726
  # Generate document-based answer
727
  result = rag_system.generate_answer(
728
  prompt,
@@ -735,9 +762,18 @@ if prompt := st.chat_input("Ask questions about your documents..."):
735
  if use_ai_enhancement and result['has_both']:
736
  answer_text = result['ai_answer']
737
  st.markdown(f"πŸ€– **AI Enhanced Answer:** {answer_text}")
 
 
 
 
 
738
  else:
739
  answer_text = result['extracted_answer']
740
  st.markdown(f"πŸ“„ **Document Answer:** {answer_text}")
 
 
 
 
741
 
742
  # Show RAG info
743
  if show_sources and result['sources']:
 
378
  if response.status_code == 200:
379
  ai_response = response.json()['choices'][0]['message']['content'].strip()
380
  ai_answer = ai_response if len(ai_response) > 10 else extracted_answer
 
 
 
 
381
  else:
382
+ # Log the actual error for debugging
383
+ error_detail = ""
384
+ try:
385
+ error_detail = response.json().get('error', {}).get('message', '')
386
+ except:
387
+ pass
388
+
389
+ if response.status_code == 402:
390
+ st.warning("πŸ’³ OpenRouter credits exhausted. Using extracted answers only.")
391
+ elif response.status_code == 429:
392
+ st.warning("⏱️ Rate limit reached. Using extracted answers only.")
393
+ elif response.status_code == 401:
394
+ st.error("πŸ”‘ Invalid API key. Check your OpenRouter key.")
395
+ elif response.status_code == 400:
396
+ st.error(f"❌ Bad request: {error_detail}")
397
+ else:
398
+ st.warning(f"API Error {response.status_code}: {error_detail}. Using extracted answers only.")
399
+
400
+ # Debug info for troubleshooting
401
+ st.info(f"Debug: Status {response.status_code}, Error: {error_detail}")
402
 
403
  except requests.exceptions.Timeout:
404
  st.warning("⏱️ API timeout. Using extracted answers only.")
 
450
 
451
  if response.status_code == 200:
452
  return response.json()['choices'][0]['message']['content'].strip()
 
 
 
 
453
  else:
454
+ # Get detailed error information
455
+ error_detail = ""
456
+ try:
457
+ error_detail = response.json().get('error', {}).get('message', '')
458
+ except:
459
+ pass
460
+
461
+ if response.status_code == 402:
462
+ return "Sorry, OpenRouter credits exhausted. Please add more credits or top up your account."
463
+ elif response.status_code == 429:
464
+ return "Rate limit reached. Please try again in a moment."
465
+ elif response.status_code == 401:
466
+ return "Invalid API key. Please check your OpenRouter API key configuration."
467
+ elif response.status_code == 400:
468
+ return f"Bad request: {error_detail}. Please try rephrasing your question."
469
+ else:
470
+ return f"API error (Status: {response.status_code}): {error_detail}. Please try again."
471
 
472
  except requests.exceptions.Timeout:
473
  return "Request timeout. Please try again."
 
748
  # Search documents first
749
  search_results = rag_system.search(prompt, n_results=3)
750
 
751
+ # Check if we found relevant documents (lower threshold for better coverage)
752
+ if search_results and search_results[0]['similarity'] > 0.005: # Even lower threshold
753
  # Generate document-based answer
754
  result = rag_system.generate_answer(
755
  prompt,
 
762
  if use_ai_enhancement and result['has_both']:
763
  answer_text = result['ai_answer']
764
  st.markdown(f"πŸ€– **AI Enhanced Answer:** {answer_text}")
765
+
766
+ # Also show extracted answer for comparison if different
767
+ if result['extracted_answer'] != answer_text:
768
+ with st.expander("πŸ“„ View Extracted Answer"):
769
+ st.markdown(result['extracted_answer'])
770
  else:
771
  answer_text = result['extracted_answer']
772
  st.markdown(f"πŸ“„ **Document Answer:** {answer_text}")
773
+
774
+ # Show why AI enhancement wasn't used
775
+ if use_ai_enhancement and not result['has_both']:
776
+ st.info("πŸ’‘ AI enhancement failed - showing extracted answer from documents")
777
 
778
  # Show RAG info
779
  if show_sources and result['sources']: