| import re | |
| def format_answer_bullets(answer_text): | |
| sentences = answer_text.split(". ") | |
| bullets = "\n".join([f"- {s.strip()}." for s in sentences if s.strip()]) | |
| return bullets | |
| def extract_page_numbers(evidence_chunks): | |
| pages = set() | |
| for chunk in evidence_chunks: | |
| matches = re.findall(r"--- Page (\d+) ---", chunk) | |
| for m in matches: | |
| pages.add(int(m)) | |
| return sorted(list(pages)) | |
| def format_evidence(evidence_chunks): | |
| page_numbers = [] | |
| for chunk in evidence_chunks: | |
| if "--- Page" in chunk: | |
| try: | |
| page = chunk.split("--- Page ")[1].split(" ---")[0] | |
| page_numbers.append(page) | |
| except: | |
| continue | |
| page_text = ", ".join(page_numbers) if page_numbers else "Not detected" | |
| preview = "\n\n".join(evidence_chunks[:3]) | |
| return f"### ๐ Evidence (Pages: {page_text})\n\n{preview}" | |