2.7 KiB
2.7 KiB
type, tags, status, closed_date, closed_reason, research_target
| type | tags | status | closed_date | closed_reason | research_target | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| research |
|
closed | 2026-03-22 | 원인 3건 확정 + 조치 완료. A1 chunk_text 교정, A3 추가 인덱싱, 파일명 보조 검색. 17/17 전수 통과. B 유형(대화 맥락)은 후속 과제. | A1/A3 검색 미적중 원인과 B 유형 대화 맥락 미연결 원인 확정 |
260322 검색 미적중·PDF 바이너리 청크 품질·대화 맥락 리서치
목적
- 테스트셋 A1(고유번호증), A3(오늘전통 사업계획서) 검색 실패의 직접 원인을 확정한다.
- B 유형(대화 맥락 미연결)의 구조적 원인을 확인한다.
사실 (Facts)
1. A1: 고유번호증 검색 미적중
- 파일
고유번호증_컴퍼니엑스 IP 투자조합 9호.pdf는 인덱싱 완료 (doc_id4aa6f0e8) - 검색 "컴퍼니엑스 IP 투자조합 9호 고유번호증"으로 top-5에 미등장
- chunk_text 내용: OCR 깨진 문자열 (
단 제 & 대표자 성명 er 피 발 급 사 유...) - 원인: PDF 바이너리 임베딩 경로에서
_build_preview_text()가 텍스트 추출 결과를 chunk_text에 넣는데, 이미지 PDF의 경우 OCR이 없어서 깨진 문자열이 들어감. 키워드 "고유번호증"이 tsv 토큰에 정상으로 안 들어가고, 임베딩도 깨진 텍스트 기반이라 쿼리와 거리가 멂.
2. A3: 오늘전통 사업계획서 검색 실패
companyx_todaytradition.pdf가 검색 1위로 잡히지만, 이 파일이 "오늘전통 6기 2차년도 사업계획서"인지 불명1_원차_사업계획서(예산수정)_260317.pdf가 5위에 잡히지만 파일명에 "오늘전통 6기"가 없음- 원인: 200개 파일에 "오늘전통 6기 사업계획서" 제목의 문서가 없거나, 있어도 파일명·내용이 다르게 인덱싱됨
3. B 유형: 대화 맥락 미연결
try_companyx_grounding(user_id, message)는 매번message만 받음- 이전 대화의 검색 결과, 문서명, 답변 내용을 후속 호출에 전달하는 경로 없음
message_service.py에서save_message_conversation()으로 대화를 저장하지만, 다음 grounding 호출에서 이전 대화를 읽지 않음
원인 요약
| 유형 | 직접 원인 | 해결 방향 |
|---|---|---|
| A1 (검색 미적중) | 이미지 PDF의 chunk_text가 OCR 깨진 문자열 | OCR 보강 또는 파일명 기반 키워드 보조 검색 |
| A3 (내용 불일치) | 200개에 해당 문서 미포함 또는 파일명 불일치 | 인덱싱 범위 문제 (200개 한계) |
| B (맥락 미연결) | grounding이 매번 독립 검색, 이전 대화 미참조 | 이전 grounding 결과를 후속 호출에 컨텍스트로 전달 |