완료된 파일만 RAG 검색 근거로 공개하기
0회 조회약 1분 읽기
완료된 파일만 RAG 검색 근거로 공개하기
파일 업로드와 검색 가능은 같은 상태가 아닙니다. 파싱·임베딩·저장이 끝나고 processed = TRUE가 된 검색 사본만 사용자 답변의 근거가 될 수 있습니다.
조회 경계
vector similarity와 trigram 검색 모두 파일 테이블의 완료 조건을 join 안에서 확인해야 합니다. 최신판을 고르는 쿼리도 준비 중인 이전/새 버전을 섞지 않아야 합니다. HIRA ebook·QA pair처럼 nullable vector file을 조인하는 테이블에는 실제 OR 경로를 돕는 partial index를 따로 둡니다.
... JOIN vector_files f ON f.id = e.vector_file_id
WHERE f.store_id = $1
AND f.processed = TRUE;
운영과 UX
처리 중 파일은 “검색되지 않음”이 아니라 현재 상태와 재처리 가능성을 Admin에서 보여 줍니다. 실패 파일을 빈 검색 결과로 숨기면 운영자는 누락을 발견할 수 없습니다. 원본 문서·owner scope·embedding model·dimension도 함께 기록해 재임베딩과 reconciliation을 가능하게 합니다.
완료 파일 조건은 정확성뿐 아니라 성능 경계입니다. partial index는 처리 완료 행만 읽는 대표 경로를 작게 만들지만, staging에서 EXPLAIN (ANALYZE, BUFFERS)로 확인한 뒤 운영에 반영합니다.
관련 강좌: AI Provider와 RAG 경계