Maia Pelletier commited on
Commit ·
cf1d4c5
1
Parent(s): 62ef269
dedup references and URL title correction
Browse files
app.py
CHANGED
|
@@ -274,17 +274,24 @@ Answer:"""
|
|
| 274 |
# Only append references when the model actually answered
|
| 275 |
no_answer_phrase = "The provided context does not contain enough information to answer this question."
|
| 276 |
if no_answer_phrase not in response_text:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 277 |
ref_lines = [
|
| 278 |
"",
|
| 279 |
"---",
|
| 280 |
"**References**",
|
| 281 |
]
|
| 282 |
-
for
|
| 283 |
-
url = context_index_to_url.get(i)
|
| 284 |
if url:
|
| 285 |
-
ref_lines.append(f"{
|
| 286 |
else:
|
| 287 |
-
ref_lines.append(f"{
|
| 288 |
response_text = response_text.rstrip() + "\n\n" + "\n".join(ref_lines)
|
| 289 |
return response_text
|
| 290 |
raise ValueError("Empty response from model")
|
|
|
|
| 274 |
# Only append references when the model actually answered
|
| 275 |
no_answer_phrase = "The provided context does not contain enough information to answer this question."
|
| 276 |
if no_answer_phrase not in response_text:
|
| 277 |
+
# Deduplicate: one entry per unique source URL (or label)
|
| 278 |
+
seen = {}
|
| 279 |
+
for i, source_label in context_index_to_source.items():
|
| 280 |
+
url = context_index_to_url.get(i)
|
| 281 |
+
key = url or source_label
|
| 282 |
+
if key not in seen:
|
| 283 |
+
seen[key] = (source_label, url)
|
| 284 |
+
|
| 285 |
ref_lines = [
|
| 286 |
"",
|
| 287 |
"---",
|
| 288 |
"**References**",
|
| 289 |
]
|
| 290 |
+
for idx, (key, (source_label, url)) in enumerate(seen.items(), 1):
|
|
|
|
| 291 |
if url:
|
| 292 |
+
ref_lines.append(f"{idx}. [{source_label}]({url})")
|
| 293 |
else:
|
| 294 |
+
ref_lines.append(f"{idx}. {source_label}")
|
| 295 |
response_text = response_text.rstrip() + "\n\n" + "\n".join(ref_lines)
|
| 296 |
return response_text
|
| 297 |
raise ValueError("Empty response from model")
|