본문 바로가기
Q&A해결2026년 7월 26일1분 읽기

pgvector로 코사인 유사도 검색하는데 관련 없는 청크가 자꾸 상위로 올라옵니다

r
rag_hyerin
조회 672댓글 1

사내 문서 RAG를 pgvector로 붙이고 있습니다. 임베딩은 text-embedding-3-small로 뽑고, 문서를 1000자 단위로 잘라서 넣었고, 검색은 코사인 유사도 top-5로 가져옵니다. 그런데 질문이랑 명백히 관련 있는 문단을 놔두고, 별로 상관없는 청크가 상위에 올라오는 일이 잦아요.

쿼리는 이렇게 날리고 있어요.

SELECT content, embedding <=> $1 AS dist
FROM docs
ORDER BY dist
LIMIT 5;

청크 자체를 눈으로 보면 정답이 담긴 문단이 분명히 테이블에 있는데, 검색 결과에는 안 잡히거나 3~4등으로 밀려요. 임베딩 모델 문제인가 싶기도 하고, 자르는 방식 문제인가 싶기도 한데 어디부터 손대야 할지 모르겠습니다. 인덱스는 만들긴 했는데 이게 정확도에도 영향을 주나요?

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록