RetrievalQA
문서검색
LLMChain을 이용하여 검색이 가능하지만 이는 Legacy 이므로 LCEL 형태로 검색하는것을 추천
검색방식
Stuff[문서 전체 요약]: 단순히 모든 문서를 단일 프롬프트로 "넣는" 방식입니다. 이는 가장 간단한 접근 방식입니다.
Map-reduce[문서 분할-병합 요약]: 각 문서를 "map" 단계에서 개별적으로 요약한 다음, "reduce" 단계에서 요약본들을 최종 요약본으로 합치는 방식입니다.
Refine[문서 분할-병합 요약]: 입력 문서를 순회하며 반복적으로 답변을 업데이트하여 응답을 구성합니다. 각 문서에 대해, 모든 비문서 입력, 현재 문서, 그리고 최신 중간 답변을 LLM chain에 전달하여 새로운 답변을 얻습니다.
Map-ReRank:각 맵 리랭크 문서 체인은 각 문서에 대해 초기 프롬프트를 실행하여, 작업을 완료하려고 시도할 뿐만 아니라 답변에 대한 확신도를 나타내는 점수도 제공합니다. 가장 높은 점수를 받은 응답이 반환됩니다.
[결과]
'Winston lives in Victory Mansions, which is a building in London, the chief city of Airstrip One, a province of Oceania.'
Refine Documents Chain [문서 분할-병합 요약]
chain_type="refine"
MapReduce Chain [문서 분할-병합 요약]
chain_type="map_reduce"
MapReRank Chain [문서 분할-병합 요약]
chain_type="map_rerank"
으로 변경하면됨
'python' 카테고리의 다른 글
[GPT] Map Reduce LCEL Chain (0) | 2024.04.04 |
---|---|
[GPT] Stuff LCEL Chain (0) | 2024.04.04 |
[GPT] Vector Store (0) | 2024.04.03 |
[GPT] LangChain 한국어 튜터리얼 (0) | 2024.04.03 |
[GPT] Vectors (0) | 2024.04.03 |