MCPcopy Create free account
hub / github.com/OpenRaiser/PaperFlow / build_pending_report

Function build_pending_report

agents/reading-agent/main.py:4889–4947  ·  view source on GitHub ↗
(display_index: int, target_index: int, raw_paper: Dict[str, Any])

Source from the content-addressed store, hash-verified

4887 print(f"Reusing {reused_count} existing reading report(s); generating only missing ones.")
4888
4889 def build_pending_report(display_index: int, target_index: int, raw_paper: Dict[str, Any]) -> Dict[str, Any]:
4890 try:
4891 print(
4892 f"\n[{display_index}/{len(pending_entries)}] Processing: "
4893 f"{str(raw_paper.get('title', 'Unknown'))[:60]}"
4894 )
4895 enriched_paper, parsed_pdf, pdf_error = _enrich_paper_for_reading_report_compat(
4896 raw_paper,
4897 user_id=user_id,
4898 )
4899 heuristic_payload = build_heuristic_report_payload(
4900 enriched_paper,
4901 profile,
4902 parsed_pdf=parsed_pdf,
4903 pdf_error=pdf_error,
4904 response_language=response_language,
4905 )
4906 llm_payload = _synthesize_report_with_llm(
4907 enriched_paper,
4908 profile,
4909 parsed_pdf=parsed_pdf,
4910 heuristic_payload=heuristic_payload,
4911 response_language=response_language,
4912 )
4913 report_payload = _merge_report_payload(heuristic_payload, llm_payload)
4914 proposed_label = report_payload.get("recommendation_label")
4915 report_payload["recommendation_label"] = calibrate_recommendation_label(
4916 enriched_paper,
4917 proposed_label,
4918 report_payload.get("analysis_source"),
4919 )
4920 report_payload["recommendation_calibration"] = build_recommendation_calibration_metadata(
4921 enriched_paper,
4922 proposed_label,
4923 report_payload.get("recommendation_label"),
4924 report_payload.get("analysis_source"),
4925 )
4926 report_payload["report_style"] = report_style
4927 report_payload["response_language"] = response_language
4928 report_content = generate_reading_report(
4929 enriched_paper,
4930 profile,
4931 report_payload=report_payload,
4932 response_language=response_language,
4933 )
4934
4935 doc_prefix = "[Reading]" if response_language == "en" else "[精读]"
4936 doc_title = f"{doc_prefix} {enriched_paper.get('title', 'Unknown')[:80]}"
4937 return {
4938 "target_index": target_index,
4939 "enriched_paper": enriched_paper,
4940 "parsed_pdf": parsed_pdf,
4941 "report_payload": report_payload,
4942 "report_content": report_content,
4943 "doc_title": doc_title,
4944 }
4945 except Exception as exc:
4946 print(f" Error creating reading report: {exc}")

Callers 1

create_reading_reportFunction · 0.85

Tested by

no test coverage detected