Maia Pelletier commited on
Commit
cf1d4c5
·
1 Parent(s): 62ef269

dedup references and URL title correction

Browse files
Files changed (1) hide show
  1. app.py +11 -4
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 i, source_label in context_index_to_source.items():
283
- url = context_index_to_url.get(i)
284
  if url:
285
- ref_lines.append(f"{i}. [{source_label}]({url})")
286
  else:
287
- ref_lines.append(f"{i}. {source_label}")
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")