검색 테스트
Knowledge 상세 화면의 Search 탭에서는 수집된 문서 청크를 직접 검색하여 Knowledge의 품질을 검증할 수 있습니다. AI Chat과 달리 LLM을 사용하지 않으므로, 순수한 검색 엔진의 결과만 확인할 수 있습니다. 이를 통해 청킹 전략이 적절한지, 원하는 정보가 올바르게 검색되는지를 사전에 점검할 수 있습니다.
검색 테스트는 AI 채팅의 답변 품질을 간접적으로 결정합니다. RAG 파이프라인에서 검색 단계의 결과가 좋아야 LLM이 정확한 답변을 생성할 수 있기 때문입니다. 따라서 문서를 수집한 후 AI 채팅을 사용하기 전에, 검색 테스트를 먼저 수행하는 것을 권장합니다.
검색 모드
세 가지 검색 모드를 지원하며, 각 모드는 서로 다른 검색 알고리즘을 사용합니다.
| 모드 | 엔진 | 설명 | 적합한 상황 |
|---|---|---|---|
| VECTOR | 벡터 DB | 임베딩 벡터 간의 코사인 유사도를 기반으로 의미적으로 유사한 청크를 검색합니다. | 개념적 질문, 동의어/유사 표현이 많은 경우 |
| TEXT | 텍스트 검색 엔진 (BM25) | 키워드 빈도와 문서 빈도를 기반으로 정확한 키워드 매칭 결과를 반환합니다. | 고유명사, 코드명, 정확한 용어 검색 |
| HYBRID | 벡터 DB + 텍스트 검색 | VECTOR와 TEXT 검색을 병렬 수행한 뒤 Reciprocal Rank Fusion(RRF)으로 결과를 병합합니다. | 대부분의 일반적인 검색 |
사용 가능한 검색 모드는 Knowledge 생성 시 설정한 저장소 타겟에 따라 달라집니다. VECTOR 타겟만 설정된 Knowledge에서는 TEXT 모드를 사용할 수 없으며, 반대의 경우도 마찬가지입니다. HYBRID 모드를 사용하려면 VECTOR와 TEXT 타겟이 모두 활성화되어 있어야 합니다.
검색 파라미터
검색 쿼리와 함께 다음 파라미터를 조정하여 결과를 세밀하게 제어할 수 있습니다.
Top-K
반환할 최대 결과 수를 지정합니다.
| 항목 | 값 |
|---|---|
| 기본값 | 10 |
| 범위 | 1 ~ 100 |
값이 클수록 더 많은 결과를 확인할 수 있지만, 하위 결과의 관련도는 낮아질 수 있습니다.
Score Threshold
결과에 포함할 최소 유사도 점수(0.0 ~ 1.0)를 설정합니다. 이 점수 미만의 결과는 필터링되어 표시되지 않습니다.
| 항목 | 값 |
|---|---|
| 기본값 | 0.5 |
| 범위 | 0.0 ~ 1.0 |
Score Threshold를 너무 높게 설정하면 관련 결과도 필터링될 수 있습니다. 0.3~0.5 범위로 시작하여, 불필요한 결과가 많으면 점차 높이는 방식을 권장합니다.
문서 필터
특정 문서만 대상으로 검색 범위를 제한합니다. 체크박스로 원하는 문서를 선택하면 해당 문서의 청크만 검색됩니다. 필터를 설정하지 않으면 Knowledge 내 전체 문서를 대상으로 검색합니다.
검색 결과 화면
검색을 실행하면 결과가 관련도 순으로 정렬되어 표시됩니다. 각 결과 항목에는 다음 정보가 포함됩니다.
결과 항목 구성
| 항목 | 설명 |
|---|---|
| 순위 번호 | 관련도 기준 순위 (1부터 시작) |
| 문서명 | 해당 청크가 속한 원본 문서의 이름 |
| 타입 태그 | 문서의 소스 유형 (웹 크롤링, 파일 업로드, 수동 입력) |
| 유사도 점수 | 검색 쿼리와의 관련도 점수 (백분율 형식, %) |
| 청크 내용 | 매칭된 청크의 텍스트 내용 (검색어가 하이라이트 표시) |
| 메타데이터 | Section 이름, Chunk ID 등의 부가 정보 |
결과 요약
검색 결과 상단에는 총 결과 수가 표시됩니다. Score Threshold에 의해 필터링된 결과는 총 수에 포함되지 않습니다.
검색 품질 개선 가이드
검색 테스트 결과가 기대에 미치지 못할 때 시도할 수 있는 접근 방법입니다.
기대한 결과가 나오지 않는 경우
| 원인 | 해결 방법 |
|---|---|
| 청크가 너무 큼 | 청크 크기(chunk size)를 줄여 더 세밀한 단위로 분할 |
| 청크가 너무 작음 | 청크 크기를 늘려 충분한 컨텍스트를 포함 |
| 키워드 매칭 부족 | TEXT 모드로 전환하여 정확한 키워드 검색 수행 |
| 의미적 유사도 부족 | VECTOR 모드로 전환하여 동의어/유사 표현 검색 |
| 관련 문서가 미수집 | 해당 내용이 포함된 문서를 추가로 수집 |
검색 모드별 비교 방법
동일한 쿼리를 세 가지 모드로 각각 실행하여 결과를 비교하면 현재 Knowledge의 검색 특성을 파악할 수 있습니다.
- VECTOR 모드: 의미적으로 관련된 청크가 올바르게 검색되는지 확인
- TEXT 모드: 핵심 키워드가 포함된 청크가 빠짐없이 검색되는지 확인
- HYBRID 모드: 두 모드의 결과가 적절히 병합되어 최상의 순위를 보이는지 확인
검색 테스트를 통해 청킹 전략이 적절한지 확인하세요. 기대한 결과가 나오지 않으면 청킹 및 옵션 문서를 참고하여 청킹 설정을 조정해 보세요.
Score Threshold를 너무 높게 설정하면 관련 결과도 필터링될 수 있습니다. 0.3~0.5 범위로 시작하는 것을 권장합니다. VECTOR 모드는 코사인 유사도 특성상 점수 분포가 0.5~0.9에 집중되는 경향이 있고, TEXT 모드는 BM25 정규화 점수로 분포가 다를 수 있으므로, 모드별로 적절한 임계값이 다를 수 있습니다.
검색 테스트와 AI 채팅의 관계
검색 테스트의 결과는 AI 채팅의 답변 품질과 직접적으로 연결됩니다.
| 검색 테스트 결과 | AI 채팅에 미치는 영향 |
|---|---|
| 관련 청크가 상위에 랭크됨 | LLM이 정확한 컨텍스트를 받아 양질의 답변 생성 |
| 관련 청크가 검색되지 않음 | LLM이 컨텍스트 없이 답변하여 부정확하거나 "정보를 찾을 수 없습니다" 응답 |
| 무관한 청크가 상위에 랭크됨 | LLM이 잘못된 컨텍스트를 참조하여 오답 생성 가능 |
AI 채팅에서 답변 품질이 좋지 않다면, LLM 설정을 변경하기 전에 먼저 검색 테스트로 검색 단계의 결과가 적절한지 확인하세요. 대부분의 RAG 품질 문제는 검색 단계에서 발생합니다.