sniro23 commited on
Commit
9b4f6f0
Β·
1 Parent(s): 9a21ee7

Fix: Adjust document count to 10-12 to balance context and API limits

Browse files
Files changed (1) hide show
  1. src/enhanced_groq_medical_rag.py +9 -5
src/enhanced_groq_medical_rag.py CHANGED
@@ -396,15 +396,19 @@ class EnhancedGroqMedicalRAG:
396
  # Step 3: Advanced multi-criteria re-ranking
397
  reranked_docs = self._advanced_medical_reranking(query_analysis, all_documents)
398
 
399
- # Step 4: Select optimal number of documents (increased from 5 to 10-15)
400
- optimal_doc_count = min(15, max(10, query_analysis['complexity_score'] + 5))
401
- final_docs = reranked_docs[:optimal_doc_count]
402
 
403
- # Step 5: Verify coverage and add missing context if needed
 
404
  coverage_score = self._verify_query_coverage(query_analysis, final_docs)
405
  if coverage_score < 0.7: # Less than 70% coverage
 
406
  additional_docs = self._retrieve_missing_context(query_analysis, final_docs, seen_content)
407
- final_docs.extend(additional_docs[:5]) # Add up to 5 more docs
 
 
408
 
409
  self.logger.info(f"πŸ“š Final retrieval: {len(final_docs)} documents, Coverage: {coverage_score:.1%}")
410
 
 
396
  # Step 3: Advanced multi-criteria re-ranking
397
  reranked_docs = self._advanced_medical_reranking(query_analysis, all_documents)
398
 
399
+ # Step 4: Select an initial set of documents, respecting the user's preference for more context.
400
+ initial_doc_count = 10
401
+ final_docs = reranked_docs[:initial_doc_count]
402
 
403
+ # Step 5: Verify coverage and add missing context if needed, up to a hard limit to avoid API errors.
404
+ MAX_FINAL_DOCS = 12
405
  coverage_score = self._verify_query_coverage(query_analysis, final_docs)
406
  if coverage_score < 0.7: # Less than 70% coverage
407
+ self.logger.info(f"⚠️ Low coverage score ({coverage_score:.1%}). Retrieving additional context...")
408
  additional_docs = self._retrieve_missing_context(query_analysis, final_docs, seen_content)
409
+ remaining_capacity = MAX_FINAL_DOCS - len(final_docs)
410
+ if remaining_capacity > 0:
411
+ final_docs.extend(additional_docs[:remaining_capacity])
412
 
413
  self.logger.info(f"πŸ“š Final retrieval: {len(final_docs)} documents, Coverage: {coverage_score:.1%}")
414