Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -465,11 +465,14 @@ def get_response_from_pdf(query, model, selected_docs, num_calls=3, temperature=
|
|
465 |
|
466 |
for doc_name in selected_docs:
|
467 |
logging.info(f"Retrieving documents for: {doc_name}")
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
|
|
|
|
|
|
473 |
|
474 |
logging.info(f"Total number of filtered documents: {len(all_filtered_docs)}")
|
475 |
|
@@ -479,10 +482,15 @@ def get_response_from_pdf(query, model, selected_docs, num_calls=3, temperature=
|
|
479 |
return
|
480 |
|
481 |
for doc in all_filtered_docs:
|
482 |
-
|
483 |
-
|
|
|
|
|
|
|
|
|
|
|
484 |
|
485 |
-
context_str = "\n".join([doc.page_content for doc in all_filtered_docs])
|
486 |
logging.info(f"Total context length: {len(context_str)}")
|
487 |
|
488 |
if model == "@cf/meta/llama-3.1-8b-instruct":
|
|
|
465 |
|
466 |
for doc_name in selected_docs:
|
467 |
logging.info(f"Retrieving documents for: {doc_name}")
|
468 |
+
try:
|
469 |
+
doc_filter = lambda doc: isinstance(doc, dict) and doc.get('metadata', {}).get('source') == doc_name
|
470 |
+
doc_retriever = database.as_retriever(search_kwargs={"k": k_per_doc, "filter": doc_filter})
|
471 |
+
relevant_docs = doc_retriever.get_relevant_documents(query)
|
472 |
+
all_filtered_docs.extend(relevant_docs)
|
473 |
+
logging.info(f"Retrieved {len(relevant_docs)} documents for {doc_name}")
|
474 |
+
except Exception as e:
|
475 |
+
logging.error(f"Error retrieving documents for {doc_name}: {str(e)}")
|
476 |
|
477 |
logging.info(f"Total number of filtered documents: {len(all_filtered_docs)}")
|
478 |
|
|
|
482 |
return
|
483 |
|
484 |
for doc in all_filtered_docs:
|
485 |
+
try:
|
486 |
+
source = doc.metadata['source'] if isinstance(doc, Document) else doc.get('metadata', {}).get('source', 'Unknown')
|
487 |
+
content = doc.page_content if isinstance(doc, Document) else doc.get('page_content', '')
|
488 |
+
logging.info(f"Document source: {source}")
|
489 |
+
logging.info(f"Document content preview: {content[:100]}...") # Log first 100 characters of each document
|
490 |
+
except Exception as e:
|
491 |
+
logging.error(f"Error processing document: {str(e)}")
|
492 |
|
493 |
+
context_str = "\n".join([doc.page_content if isinstance(doc, Document) else doc.get('page_content', '') for doc in all_filtered_docs])
|
494 |
logging.info(f"Total context length: {len(context_str)}")
|
495 |
|
496 |
if model == "@cf/meta/llama-3.1-8b-instruct":
|