🧬 연구 허브

Skill

paper-collect 코드 참조

논문 한 건의 정보를 통째로 확보하는 통합 진입점.

paper_pipeline.collect() 진입점. tier 폴백(api→chrome_rules→browser_capture)으로 PDF를 확보하고 저자 진실위계 병합·사사 파싱까지 통합 레코드로 반환.

사용법

from paper_pipeline import collect, PipelineConfig

cfg = PipelineConfig.from_env()
cfg.publisher_rules = "paper_pipeline/publisher_rules.yaml"

rec = collect("10.1016/j.arr.2021.101398", cfg)

반환 레코드 주요 필드

{
  "identifier": {"doi": "...", "pmid": "..."},
  "metadata":   {"title": "...", "journal": "...", "year": 2022, ...},
  "pdf": {
    "status": "available",     # available | pending | not_supported
    "path":   "./out/...pdf",
    "tier":   "chrome_rules",  # api | chrome_rules | browser_capture
    "verified": True
  },
  "authors": {
    "first": [...], "corresponding": [...], "all": [...],
    "source": "wos",           # human | wos | pdf | pubmed
    "confidence": 0.95         # 0.95/0.7/0.5/0.0
  },
  "funding": [{"agency": "NRF", "number": "2023R1A..."}],
  "trace":   ["tier:api miss", "tier:chrome_rules hit"]
}

배치 수집

from paper_pipeline import collect_batch, PipelineConfig

cfg = PipelineConfig.from_env()
recs = collect_batch(["10.1016/j.arr.2021.101398", "10.1093/brain/awab123"], cfg)

환경변수

변수용도
OPENAI_API_KEYGPT Vision 저자 추출
UNPAYWALL_EMAILUnpaywall API (Tier A OA)
ENTREZ_EMAILPubMed E-utilities (Tier A)

PipelineConfig 주요 옵션

옵션기본값설명
tiers["api", "chrome_rules", "browser_capture"]활성 tier 목록
publisher_rulesNoneYAML 규칙 파일 경로
out_dir"./out"PDF + JSON 출력 디렉토리
pacingTrue페이싱 (publisher 차단 방지)

자세한 의사결정 트리·tier 동작·환경변수·알려진 제약은 GUIDE.md 참조. 운영 시스템(human-click 큐, WoS 동기화 배치, AEX 개선 하네스)은 conv-home-operations.md 참조.