Paper2Lab / scripts /audit_pipeline.py
unknown
Deploy Paper2Lab HF Space
71276a4
Raw
History Blame Contribute Delete
1.7 kB
from pathlib import Path
from paper2lab.inference.pipeline import PaperPipeline
p = PaperPipeline(refinement_mode="nemotron")
total = 0
errors = 0
weak = 0
for pdf in Path("Data/papers").rglob("*.pdf"):
total += 1
try:
r = p.run(str(pdf))
c = r["paper_card_final"]
roadmap = c.get("reproduction_roadmap") or {}
if not isinstance(roadmap, dict):
roadmap = {}
kit = c.get("lab_starter_kit") or {}
if not isinstance(kit, dict):
kit = {}
datasets = c.get("datasets_or_data_sources") or []
findings = c.get("key_findings") or []
roadmap_steps = roadmap.get("experimental_steps") or []
kit_structure = kit.get("project_structure") or []
kit_risks = kit.get("reproducibility_risks") or []
is_weak = (
not c.get("title")
or not c.get("paper_type")
or not roadmap
or not kit
or len(kit_structure) == 0
)
if is_weak:
weak += 1
print("\n---", pdf.name)
print("type:", c.get("paper_type"))
print("datasets:", len(datasets), datasets[:3])
print("findings:", len(findings))
print("roadmap steps:", len(roadmap_steps))
print("lab kit structure:", len(kit_structure))
print("lab risks:", len(kit_risks))
print("refinement:", r["refinement"]["status"])
print("weak:", is_weak)
except Exception as e:
errors += 1
print("\nERROR:", pdf.name)
print(str(e))
print("\n====================")
print("TOTAL:", total)
print("ERRORS:", errors)
print("WEAK:", weak)
print("====================")