Shreyas094 commited on
Commit
0a69d83
·
verified ·
1 Parent(s): f1e2207

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -19
app.py CHANGED
@@ -460,32 +460,25 @@ def get_response_from_pdf(query, model, selected_docs, num_calls=3, temperature=
460
  yield "No documents available. Please upload PDF documents to answer questions."
461
  return
462
 
463
- # Pre-filter the docstore
464
- filtered_docstore = {
465
- k: v for k, v in database.docstore._dict.items()
466
- if v.metadata["source"] in selected_docs
467
- }
468
-
469
- logging.info(f"Number of documents after pre-filtering: {len(filtered_docstore)}")
470
-
471
- if not filtered_docstore:
472
- logging.warning(f"No documents found for the selected sources: {selected_docs}")
473
- yield "No relevant information found in the selected documents. Please try selecting different documents or rephrasing your query."
474
- return
475
-
476
- # Create a new FAISS index with only the selected documents
477
- filtered_db = FAISS(embed.embed_query, filtered_docstore, database.index)
478
-
479
- retriever = filtered_db.as_retriever(search_kwargs={"k": 10})
480
  logging.info(f"Retrieving relevant documents for query: {query}")
481
  relevant_docs = retriever.get_relevant_documents(query)
482
  logging.info(f"Number of relevant documents retrieved: {len(relevant_docs)}")
 
 
 
 
 
 
 
 
 
483
 
484
- for doc in relevant_docs:
485
  logging.info(f"Document source: {doc.metadata['source']}")
486
  logging.info(f"Document content preview: {doc.page_content[:100]}...") # Log first 100 characters of each document
487
 
488
- context_str = "\n".join([doc.page_content for doc in relevant_docs])
489
  logging.info(f"Total context length: {len(context_str)}")
490
 
491
  if model == "@cf/meta/llama-3.1-8b-instruct":
 
460
  yield "No documents available. Please upload PDF documents to answer questions."
461
  return
462
 
463
+ retriever = database.as_retriever(search_kwargs={"k": 20})
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
464
  logging.info(f"Retrieving relevant documents for query: {query}")
465
  relevant_docs = retriever.get_relevant_documents(query)
466
  logging.info(f"Number of relevant documents retrieved: {len(relevant_docs)}")
467
+
468
+ # Filter relevant_docs based on selected documents
469
+ filtered_docs = [doc for doc in relevant_docs if doc.metadata["source"] in selected_docs]
470
+ logging.info(f"Number of filtered documents: {len(filtered_docs)}")
471
+
472
+ if not filtered_docs:
473
+ logging.warning(f"No relevant information found in the selected documents: {selected_docs}")
474
+ yield "No relevant information found in the selected documents. Please try selecting different documents or rephrasing your query."
475
+ return
476
 
477
+ for doc in filtered_docs:
478
  logging.info(f"Document source: {doc.metadata['source']}")
479
  logging.info(f"Document content preview: {doc.page_content[:100]}...") # Log first 100 characters of each document
480
 
481
+ context_str = "\n".join([doc.page_content for doc in filtered_docs])
482
  logging.info(f"Total context length: {len(context_str)}")
483
 
484
  if model == "@cf/meta/llama-3.1-8b-instruct":