작성자: 이소윤
1. 오늘의 목표 (Plan)
- [x] 텍스트 + 표 텍스트 + 이미지 캡션 → 하나의 chunk 포맷으로 통합
- [x] doc_id / page / section 정보 유지
- [x] csv 메타데이터 조인
- [x] chunk 단위 결정
2. 오늘 내가 한 일 (Work Done)
- main, dev 브런치 위주로 디코봇 수정, 깃허브 rulesets 설정
- rag_answer.py 신규 작성
- 단일 쿼리/배치 쿼리 모두에서 retrieve -> rerank -> answer generation 흐름 실행 가능하게 구성
- 리트리버(tfidf/dense/hybrid), 재정렬(none/rule/llm), 생성(gpt-5-nano) 옵션화
- 노드 분리 진단용 지표 출력 추가
: retrieve_recall@10, rerank_recall@10, retrieve_mrr, rerank_mrr, answer_status
- 스모크 실행으로 컨텍스트 출력 정상 확인
- 사용자 질의(한국농어촌공사 입찰 보증금 비율)에서 not_found 결과 확인 및 원인 점검
- notebooks/data_chunks_rich 내 한국농어촌공사 문서에서 해당 키워드 근거 청크 존재 여부 확인(직접 검색)
- rag_answer 생성 노드에 규칙 기반 값 추출(비율/금액/날짜/기간)과 ok/partial/not_found 상태 체계를 적용해 answer_not_found를 15/20에서 0/20으로 개선
- 배치 검증 결과 rerank=rule은 recall@10과 mrr를 낮춰 성능 저하를 확인했으며, 운영 기본값을 rerank=none으로 확정
- 최종 베이스라인 실행을 hybrid + rerank none + topk 50 + context-k 20으로 고정하고 결과 파일(node_report_rag_final.csv) 생성까지 완료