def corpus_qa_baseline(question, pdf_paths, *, client=None, top_k=3): rows = [] for pdf in pdf_paths: answer = pdf_qa_baseline(pdf, question, top_k=top_k, client=client) text = answer.answer.strip() rows.append({ "doc_id": Path(pdf).stem, "answer": answer.answer, "start_page": answer.start_page_num, "confidence": answer.confidence, "has_answer": bool(text) and text.upper() != "NA", }) per_doc = pd.DataFrame(rows).sort_values( ["has_answer", "confidence"], ascending=[False, False] ).reset_index(drop=True) return CorpusAnswer(question=question, per_doc=per_doc)