Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -45,17 +45,22 @@ async def initialize(file_path, question):
|
|
45 |
# Identify key sentences or phrases
|
46 |
key_phrases = answer.split(". ") # Split answer into sentences for more precise matching
|
47 |
|
48 |
-
|
|
|
49 |
for i, page in enumerate(pages):
|
50 |
for phrase in key_phrases:
|
51 |
if phrase.lower() in page.page_content.lower():
|
52 |
-
|
53 |
-
|
|
|
|
|
|
|
|
|
54 |
if relevant_pages:
|
55 |
page_numbers = ', '.join(str(p) for p in sorted(relevant_pages))
|
56 |
-
source_str = f"Relevant
|
57 |
else:
|
58 |
-
source_str = "Relevant
|
59 |
|
60 |
# Create a clickable link for the document
|
61 |
file_name = os.path.basename(file_path)
|
|
|
45 |
# Identify key sentences or phrases
|
46 |
key_phrases = answer.split(". ") # Split answer into sentences for more precise matching
|
47 |
|
48 |
+
# Score each page based on the presence of key phrases
|
49 |
+
page_scores = [0] * len(pages)
|
50 |
for i, page in enumerate(pages):
|
51 |
for phrase in key_phrases:
|
52 |
if phrase.lower() in page.page_content.lower():
|
53 |
+
page_scores[i] += 1
|
54 |
+
|
55 |
+
# Determine the page with the highest score
|
56 |
+
max_score = max(page_scores)
|
57 |
+
relevant_pages = [i+1 for i, score in enumerate(page_scores) if score == max_score]
|
58 |
+
|
59 |
if relevant_pages:
|
60 |
page_numbers = ', '.join(str(p) for p in sorted(relevant_pages))
|
61 |
+
source_str = f"Relevant page(s): {page_numbers}"
|
62 |
else:
|
63 |
+
source_str = "Relevant page(s): Not found in specific page"
|
64 |
|
65 |
# Create a clickable link for the document
|
66 |
file_name = os.path.basename(file_path)
|