Skip to main content
Nora 리트리벌은 기본으로 하이브리드 검색을 씁니다. 벡터 검색과 키워드 검색을 따로 돌린 뒤 두 점수를 하나로 결합하는 방식입니다. 한 가지 방식만 쓸 때보다 검색 품질이 일관되게 높습니다.

검색 방식 네 가지

리트리벌 설정의 검색 방식에서 선택합니다.
  • 벡터 뜻이 비슷한 청크를 찾습니다. 표현이 달라도요. 바꿔 쓴 질문, 언어 사이, 개념 매치에 좋습니다. 드물고 정확한 용어(SKU, 에러 코드, 고유명사)에는 약합니다.
  • 키워드 같은 리터럴 용어가 든 청크를 찾습니다. 식별자, 전문 용어, 정확한 문자열 조회에 좋습니다. 동의어와 바꿔 쓰기에는 약합니다.
  • 하이브리드(기본) 벡터와 키워드를 함께 돌리고 점수를 결합합니다. 실제 질문은 대부분 둘 다 필요합니다.
  • KG-루트 인과그래프를 기점으로 검색합니다. 인과추론을 참고하세요.

결합 원리

벡터와 키워드가 각각 점수를 냅니다. 결합 방식은 둘입니다.
  • Weighted(기본) 두 점수를 가중치로 섞습니다. 벡터 가중치(기본 0.60)와 키워드 가중치(기본 0.40)를 슬라이더로 조정합니다.
  • RRF Reciprocal Rank Fusion. 점수 대신 순위로 합칩니다. 두 목록 모두에서 3위인 청크가, 한 목록에서 1위지만 다른 목록에서 100위인 청크보다 높게 잡힙니다. 점수 스케일 차이에 강합니다.
다루는 데이터에 맞춰 가중치를 조절하세요. 고객 지원이나 법률 Q&A처럼 질문이 자연어 문장으로 들어오는 도메인은 벡터 가중치를 높이고, 코드·부품 번호·제품명처럼 정확한 문자열을 찾아야 하는 도메인은 키워드 가중치를 높이는 편이 좋습니다.

HyDE

질문 문장과 답이 적힌 문서 문장은 생김새가 달라서, 질문을 그대로 임베딩하면 정작 답이 든 청크와 유사도가 낮게 나올 때가 있습니다. HyDE를 켜면 채팅 모델이 질문에 대한 그럴듯한 가상 답변을 먼저 만들고, 질문 대신 그 답변을 임베딩해 검색합니다. 답변 문장은 실제 문서 문장과 닮았으니 답이 든 청크가 더 잘 잡힙니다. 가상 답변은 검색에만 쓰고 버립니다. 가상 답변을 만드는 데 700ms쯤 걸려서 기본은 꺼짐입니다. 어느 모델이 가상 답변을 쓸지는 HyDE · 채팅 모델에서 정합니다.

임베딩 모델

임베딩 모델은 인덱싱 때 쓴 모델과 같아야 합니다. 모델이 다르면 벡터 공간이 달라 유사도가 무의미해집니다. 데이터가 다국어면 다국어 임베딩 모델을 쓰고 가중치를 벡터 쪽에 두세요. 벡터 검색은 언어가 달라도 뜻이 같으면 찾아내지만, 키워드 검색은 같은 언어로 적힌 같은 단어만 찾기 때문입니다.

테스트

리트리벌 화면 자체가 테스트 도구입니다. 쿼리를 넣고 Run을 누른 뒤, 검색 방식을 벡터·키워드·하이브리드로 바꿔 가며 결과가 어떻게 달라지는지 견줍니다. 결과마다 유사도 점수가 뜹니다. 테스트 스콥에서 지식 폴더나 인과그래프를 선택해 검색 범위를 좁혀 보세요.

하이브리드가 과할 때

아주 작은 컬렉션(1000 청크 미만)은 키워드만으로 충분하고 추가 비용도 없습니다. 아주 짧고 키워드 위주인 쿼리(SKU 조회)는 키워드만으로 같은 리콜에 더 빠릅니다. 그런 프리셋은 검색 방식을 키워드로 두세요.