Maia Pelletier commited on
Commit ·
9a1fe75
1
Parent(s): 9f9eb0f
generate hyperlink to HTML documents
Browse files
app.py
CHANGED
|
@@ -242,13 +242,16 @@ Question: {query}
|
|
| 242 |
|
| 243 |
Answer:"""
|
| 244 |
|
| 245 |
-
# Build mapping from context index to source label
|
| 246 |
context_index_to_source = {}
|
|
|
|
| 247 |
for i, result in enumerate(results, 1):
|
| 248 |
meta = result.get("metadata") or {}
|
| 249 |
context_index_to_source[i] = (
|
| 250 |
meta.get("document_title") or meta.get("source") or f"Source {i}"
|
| 251 |
)
|
|
|
|
|
|
|
| 252 |
|
| 253 |
# Generate response using chat/comversational API (Mistral instruct uses this)
|
| 254 |
try:
|
|
@@ -267,7 +270,11 @@ Answer:"""
|
|
| 267 |
"**References**",
|
| 268 |
]
|
| 269 |
for i, source_label in context_index_to_source.items():
|
| 270 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 271 |
response_text = response_text.rstrip() + "\n\n" + "\n".join(ref_lines)
|
| 272 |
return response_text
|
| 273 |
raise ValueError("Empty response from model")
|
|
|
|
| 242 |
|
| 243 |
Answer:"""
|
| 244 |
|
| 245 |
+
# Build mapping from context index to source label (and URL if applicable)
|
| 246 |
context_index_to_source = {}
|
| 247 |
+
context_index_to_url = {}
|
| 248 |
for i, result in enumerate(results, 1):
|
| 249 |
meta = result.get("metadata") or {}
|
| 250 |
context_index_to_source[i] = (
|
| 251 |
meta.get("document_title") or meta.get("source") or f"Source {i}"
|
| 252 |
)
|
| 253 |
+
if meta.get("type") == "url" and meta.get("source"):
|
| 254 |
+
context_index_to_url[i] = meta["source"]
|
| 255 |
|
| 256 |
# Generate response using chat/comversational API (Mistral instruct uses this)
|
| 257 |
try:
|
|
|
|
| 270 |
"**References**",
|
| 271 |
]
|
| 272 |
for i, source_label in context_index_to_source.items():
|
| 273 |
+
url = context_index_to_url.get(i)
|
| 274 |
+
if url:
|
| 275 |
+
ref_lines.append(f"{i}. [{source_label}]({url})")
|
| 276 |
+
else:
|
| 277 |
+
ref_lines.append(f"{i}. {source_label}")
|
| 278 |
response_text = response_text.rstrip() + "\n\n" + "\n".join(ref_lines)
|
| 279 |
return response_text
|
| 280 |
raise ValueError("Empty response from model")
|