LangChaing Retrieval-Retriever

Jae·2024년 11월 3일

Retriever

  • 비정형 쿼리가 주어지면 문서를 반환하는 인터페이스로 문서를 반환한다.
  • 벡터 저장소에서 사용자가 작성한 쿼리와 프롬프트에 따라 답변한다.

Chain

Stuff document

  • 분할된 텍스트 청크를 Context에 그대로 주입
  • 컨텍스트 청크가 너무 길면 그대로 주입하는 특성상 토큰 이슈가 발생할 수 있다.

Map-reduce

  • Map : 문서 내 텍스트 청크 각각에 대해 요약을 수행, 병렬 수행 가능
  • Reduce : 최종 요약을 생성
  • 전체 과정을 통해 여러개의 문장을 llm에게 전달이 가능하다.
  • 토큰 이슈를 만회할 수 있지만, 여러번 호출하는 비용 이슈 및 시간적으로 레이턴시 발생

Refine

  • 고품질의 답변을 얻기 위함.
  • 누적을 통해 고품질의 답변을 얻을 수 있다.
  • 프롬프트에 질문과 컨텍스트로 첫번째 텍스트 청크를 넣어주고 이에 대한 답변을 llm이 하면 남긴 answer로 답변을 남기고 이전의 llm이 남긴 답변을 토대로 중간 답변을 넣어 고품질의 답변을 가질 수 있다.
  • 하나씩 답변하기에 병렬 처리가 불가능하고 순서가 정해져있어 오랜 시간이 걸려서 자주 사용하는 편이 아님.

Map-rerank

  • 사용자가 질문한 것에 대한 각각의 질문을 하나씩 답변을 생성하고 답변과 사용자의 질문과 모델의 답변에 대한 연관성 score를 받는다.

출처

0개의 댓글