Skip to content

Retriever 노드

Retriever는 선택한 Knowledge Base의 하나 이상의 컬렉션에서 쿼리와 관련된 문서를 검색하는 노드입니다. 검색된 본문, 점수, 문서 메타데이터를 LLM이나 조건 분기에 전달할 수 있습니다.

언제 사용하나요?

  • 사내 문서나 등록된 지식에서 질문과 관련된 내용을 찾을 때
  • LLM 답변을 실제 문서 근거에 연결할 때
  • 검색 결과 수나 점수에 따라 후속 실행을 분기할 때
  • 여러 컬렉션을 한 번에 검색하고 상위 결과만 사용할 때

입력

Query에 검색 문구를 작성합니다. 입력란에서 /를 사용하면 이전 노드의 출력값을 검색어에 포함할 수 있습니다.

text
다음 질문에 답할 수 있는 내부 문서를 찾으세요: /INPUT.question

실행 시 Query가 최종 문자열로 변환되며, 빈 쿼리는 실행할 수 없습니다.

주요 설정

설정설명
이름캔버스와 실행 이력에 표시할 고유한 노드 이름입니다.
설명무엇을 검색하고 결과를 어디에 사용할지 기록합니다.
Knowledge Base검색할 Knowledge Base를 선택합니다. 변경하면 기존 컬렉션 선택이 초기화됩니다.
Collection선택한 Knowledge Base 안에서 검색할 컬렉션을 하나 이상 선택합니다. 여러 컬렉션을 함께 선택할 수 있습니다.
Top K1차 검색에서 가져올 최대 결과 수입니다. 편집기에서는 1에서 50 사이로 설정합니다. 기본값은 5입니다.
Search TypeDENSE, SPARSE, HYBRID 중 하나를 선택합니다.
Score Threshold활성화하면 설정한 최소 점수보다 낮은 결과를 제외합니다. 값 범위는 0에서 1입니다.
Semantic WeightHYBRID 검색에서 의미 검색의 가중치를 설정합니다. 값 범위는 0에서 1이며 기본값은 0.7입니다.
Rerank검색 결과를 선택한 재정렬 모델로 다시 정렬합니다.
Rerank ModelRerank를 켰을 때 사용할 모델입니다. 반드시 선택해야 합니다.
Top NRerank 후 남길 결과 수입니다. 1 이상이고 Top K 이하여야 합니다.
Query실제 검색 문구입니다. 일반 텍스트와 이전 노드 변수 참조를 함께 사용할 수 있습니다.

검색 유형은 다음 기준으로 선택합니다.

유형적합한 상황
DENSE표현이 달라도 의미가 비슷한 문서를 찾고 싶을 때
SPARSE제품명, 코드, 고유 용어처럼 정확한 단어 일치가 중요할 때
HYBRID의미 유사도와 키워드 일치를 함께 반영하고 싶을 때

컬렉션을 새로 선택하면 그 컬렉션에 저장된 검색 설정이 Top K, Search Type, Threshold, Semantic Weight, Rerank 설정에 반영됩니다. 여러 컬렉션을 사용할 때는 최종 설정을 다시 확인하세요.

출력

필드타입설명
queryString실행에 사용된 최종 검색어입니다.
totalNumber검색에서 확인된 전체 일치 건수입니다.
documentsArray상위 검색 문서 목록입니다.

documents의 각 항목은 다음 필드를 제공합니다.

필드타입설명
contentString검색된 문서 조각의 본문입니다.
scoreNumber검색 관련도 점수입니다.
documentIdString원본 문서 식별자입니다.
titleString문서 제목입니다.
fullPathString문서의 전체 경로입니다.
collectionNameString결과가 속한 컬렉션 이름입니다.
metadataObject문서에 저장된 추가 메타데이터입니다.

연결과 배치 제약

  • Knowledge Base와 하나 이상의 Collection을 선택해야 합니다.
  • Query가 설정되어 있어야 하며 실행 시 빈 문자열이어서는 안 됩니다.
  • Top K는 양수여야 합니다. 편집기에서 입력할 수 있는 범위는 1에서 50입니다.
  • HYBRID를 선택하면 Semantic Weight가 0에서 1 사이여야 합니다.
  • Score Threshold를 사용한다면 값은 0에서 1 사이여야 합니다.
  • Rerank를 켜면 Rerank Model과 양수인 Top N이 필요하며 Top N은 Top K를 넘을 수 없습니다.
  • Retriever는 루트 워크플로우뿐 아니라 Loop와 Iteration 내부에도 배치할 수 있지만 컨테이너 경계를 가로질러 연결할 수 없습니다.

예시

내부 정책 문서를 근거로 질문에 답하는 흐름은 다음과 같이 구성합니다.

  1. Input에 필수 String 필드 question을 추가합니다.
  2. Retriever에서 정책 Knowledge Base와 검색할 컬렉션을 선택합니다.
  3. Query에 “다음 질문에 답할 문서를 찾으세요:”를 쓰고 /INPUT.question을 삽입합니다.
  4. HYBRID, Top K 5, Semantic Weight 0.7로 시작하고 테스트 결과를 확인합니다.
  5. Condition에서 RETRIEVER.total이 0보다 큰지 검사합니다.
  6. 결과가 있으면 LLM에 RETRIEVER.documentsINPUT.question을 전달하고, 없으면 안내 메시지 경로로 분기합니다.

주의사항

  • Top K를 크게 하면 더 많은 후보를 얻지만 후속 LLM에 전달하는 데이터와 처리 시간이 늘어날 수 있습니다.
  • Score Threshold를 너무 높게 설정하면 관련 문서가 있어도 결과가 비어 있을 수 있습니다. 실제 질문으로 점수를 확인하며 조정하세요.
  • 여러 컬렉션을 선택하면 새로 선택한 컬렉션의 검색 설정이 적용될 수 있으므로 Top K와 Rerank 값을 다시 확인하세요.
  • documents를 LLM에 전달할 때는 문서에 없는 내용을 만들지 말고 제목이나 경로를 근거로 표시하도록 메시지에 지시하세요.
  • Knowledge Base나 컬렉션이 삭제되거나 접근 권한이 바뀌면 실행할 수 없습니다.

관련 노드