Files
hyungi_document_server/tests/search_eval/queries_order_baseline.yaml
T
Hyungi Ahn 51a6f7c9af feat(eval): 발주건 단위 baseline 평가 경로 추가
- run_eval.py: --queries-order / --order-groups / --output-order / --debug
  옵션 추가. 기존 legacy CSV 스키마/값 불변 (출력 소비자 보호).
- Tier 1A/1B/2 지표 구현: cross_format_link_success (top-10 공식 +
  top-5 보조, eligible/success 분수), top_5_document_match (guardrail +
  절대 건수), manual_refind_flag (v0 heuristic), chunk_idx_stddev,
  range/page_citation_available capability flags.
- order_groups.yaml: 발주건 3건 매핑 (TKP-26-0114/0132/0112, 10 docs).
- queries_order_baseline.yaml: 12개 질문 (A:4 B:4 C:3 D:1).

plan: ~/.claude/plans/merry-yawning-owl.md
2026-04-20 15:04:39 +09:00

267 lines
9.2 KiB
YAML

version: "0.1"
created_at: "2026-04-20"
notes: |
Phase 0 발주건 단위 baseline 질문셋. 12개, 분포 A:B:C:D = 4:4:3:1.
카테고리:
A. 발주서 내부 찾기 (품목명/수량·단가·금액/납기/공급처)
B. 발주서 PDF 변환본 대응 (xlsx↔PDF 일치, PDF 페이지 위치)
C. 세금계산서/명세표 연결 (대응 invoice/statement 존재, 금액 일치, 발주건 식별)
D. 포맷 간 일치성 (핵심 필드 일치 or PDF만으로 발주건 식별)
expected_locations 스키마:
- doc_id : order_groups.yaml의 doc_id
- role : order_xlsx | order_pdf | invoice | statement
- location_type : sheet_range | page | document_only
- location_value : xlsx는 A1 notation 예) "발주서!F9", PDF는 "p1"
document_only일 때는 null
- is_primary : 해당 role이 이 질문의 1차 정답 포맷인가
document_only 허용 규칙:
- 원칙: 가능한 경우 sheet_range 또는 page로 라벨링
- 예외: 근거 위치를 안정적으로 특정할 수 없을 때 또는 여러 문서 간 "일치성" 자체가 질문일 때
- 규칙: document_only 사용 시 notes 필드에 이유 필수 기재
2026-04-20 초안 (Claude 자동 draft, 사용자 검수 대기):
- 발주서 xlsx의 핵심 셀 매핑 (전 발주건 공통):
D5 ORDER DATE, D6 PO NO, F9 공급처, F11 주소, F13 전화, W9 납기일,
W12 프로젝트, W13 담당자, B17~ 품목 행, V17~ 수량, X17~ 단가, AB17~ 금액, AB23 TOTAL
- PDF는 모두 1페이지 분량 → p1 고정
- 실제 오라벨 가능성 있으니 사용자 확인 필요 (sheet range 특히)
questions:
# ─────────────────────────────
# A. 발주서 내부 찾기 (4)
# ─────────────────────────────
- id: Q-A-001
query: "TKP-26-0114 발주의 공급처는 어디인가?"
category: A
order_group_id: TKP-26-0114
intent: fact_lookup
expected_locations:
- doc_id: 8853
role: order_xlsx
location_type: sheet_range
location_value: "발주서!F9"
is_primary: true
- doc_id: 8854
role: order_pdf
location_type: page
location_value: "p1"
is_primary: false
notes: "정답: (주)대연기업. xlsx F9."
- id: Q-A-002
query: "TKP-26-0132 발주의 납기일은?"
category: A
order_group_id: TKP-26-0132
intent: fact_lookup
expected_locations:
- doc_id: 8856
role: order_xlsx
location_type: sheet_range
location_value: "발주서!W9"
is_primary: true
- doc_id: 8857
role: order_pdf
location_type: page
location_value: "p1"
is_primary: false
notes: "정답: 2026-02-23. xlsx W9."
- id: Q-A-003
query: "TKP-26-0112 plate 절단 단가는 얼마인가?"
category: A
order_group_id: TKP-26-0112
intent: fact_lookup
expected_locations:
- doc_id: 8851
role: order_xlsx
location_type: sheet_range
location_value: "발주서!X17"
is_primary: true
- doc_id: 8852
role: order_pdf
location_type: page
location_value: "p1"
is_primary: false
notes: "정답: 650,000원 (1개 항목). xlsx X17."
- id: Q-A-004
query: "TKP-26-0114 발주의 총 금액은?"
category: A
order_group_id: TKP-26-0114
intent: fact_lookup
expected_locations:
- doc_id: 8853
role: order_xlsx
location_type: sheet_range
location_value: "발주서!AB23"
is_primary: true
- doc_id: 8854
role: order_pdf
location_type: page
location_value: "p1"
is_primary: false
notes: "정답: 845,000원 (부가세 별도). xlsx AB23."
# ─────────────────────────────
# B. 발주서 PDF 변환본 대응 (4)
# ─────────────────────────────
- id: Q-B-001
query: "TKP-26-0114에서 2:1 HEAD SA516-70 품목의 수량은?"
category: B
order_group_id: TKP-26-0114
intent: fact_lookup
expected_locations:
- doc_id: 8853
role: order_xlsx
location_type: sheet_range
location_value: "발주서!V17"
is_primary: true
- doc_id: 8854
role: order_pdf
location_type: page
location_value: "p1"
is_primary: false
notes: "정답: 2 EA. xlsx V17 / PDF p1 품목표. B 카테고리 = xlsx↔PDF 대응 확인."
- id: Q-B-002
query: "TKP-26-0132 발주서 총액은 얼마이고 PDF 변환본에서도 확인 가능한가?"
category: B
order_group_id: TKP-26-0132
intent: fact_lookup
expected_locations:
- doc_id: 8856
role: order_xlsx
location_type: sheet_range
location_value: "발주서!AB20"
is_primary: true
- doc_id: 8857
role: order_pdf
location_type: page
location_value: "p1"
is_primary: false
notes: "정답: 74,290원. xlsx AB20 / PDF p1 TOTAL. 두 포맷 모두 일치해야 함."
- id: Q-B-003
query: "TKP-26-0112 PO 번호를 PDF 변환본에서 확인"
category: B
order_group_id: TKP-26-0112
intent: fact_lookup
expected_locations:
- doc_id: 8852
role: order_pdf
location_type: page
location_value: "p1"
is_primary: true
- doc_id: 8851
role: order_xlsx
location_type: sheet_range
location_value: "발주서!D6"
is_primary: false
notes: "정답: TKP-26-0112. PDF만으로도 식별 가능한지 확인 (primary=order_pdf)."
- id: Q-B-004
query: "TKP-26-0114 발주서 담당자는 누구인가?"
category: B
order_group_id: TKP-26-0114
intent: fact_lookup
expected_locations:
- doc_id: 8853
role: order_xlsx
location_type: sheet_range
location_value: "발주서!W13"
is_primary: true
- doc_id: 8854
role: order_pdf
location_type: page
location_value: "p1"
is_primary: false
notes: "정답: 안현기(Hyunki,Ahn). xlsx W13 (PREPAIRED BY) / PDF p1."
# ─────────────────────────────
# C. 세금계산서/명세표 연결 (3)
# ─────────────────────────────
- id: Q-C-001
query: "TKP-26-0132 세금계산서의 공급가액은?"
category: C
order_group_id: TKP-26-0132
intent: fact_lookup
expected_locations:
- doc_id: 8858
role: invoice
location_type: page
location_value: "p1"
is_primary: true
notes: "정답: 74,290원. invoice p1 공급가액 칸. 발주서 총액과 일치 확인용."
- id: Q-C-002
query: "TKP-26-0114 발주금액과 세금계산서 공급가액이 일치하는가?"
category: C
order_group_id: TKP-26-0114
intent: comparison
expected_locations:
- doc_id: 8855
role: invoice
location_type: page
location_value: "p1"
is_primary: true
- doc_id: 8853
role: order_xlsx
location_type: sheet_range
location_value: "발주서!AB23"
is_primary: false
notes: |
정답: 일치 (양쪽 845,000원). invoice 공급가액 + xlsx TOTAL 비교 필요 —
cross-format retrieval 특성 강조. C 카테고리지만 order_xlsx도 근거로 필요.
- id: Q-C-003
query: "TKP-26-0132 거래명세표에 기재된 품목은 무엇인가?"
category: C
order_group_id: TKP-26-0132
intent: fact_lookup
expected_locations:
- doc_id: 8859
role: statement
location_type: page
location_value: "p1"
is_primary: true
notes: |
정답: "레이져 A516-70 가공비 12t x 1197 x 1197" 외 1건.
statement p1 품목 테이블.
# ─────────────────────────────
# D. 포맷 간 일치성 (1)
# ─────────────────────────────
- id: Q-D-001
query: "TKP-26-0132 발주번호가 발주서·PDF·세금계산서·거래명세표 4개 문서에 모두 나오는가?"
category: D
order_group_id: TKP-26-0132
intent: comparison
expected_locations:
- doc_id: 8856
role: order_xlsx
location_type: document_only
location_value: null
is_primary: true
- doc_id: 8857
role: order_pdf
location_type: document_only
location_value: null
is_primary: false
- doc_id: 8858
role: invoice
location_type: document_only
location_value: null
is_primary: false
- doc_id: 8859
role: statement
location_type: document_only
location_value: null
is_primary: false
notes: |
정답: 모두 나옴 — order_xlsx(D6), order_pdf(PO NO), invoice(<안현기님-TKP-26-0132>),
statement(<안현기님-TKP-26-0132>). D 카테고리는 "여러 문서 간 일치성" 자체가
질문이라 document_only 사용 — 위치보다 "같은 발주건에 속하는가"가 본질.