LangChain 챗봇6장 · 문서 기반 챗봇1 / 21← 이전목차다음 →MetaContents

6장. 문서 기반 챗봇

먼저 큰 그림부터

오픈북 시험을 떠올려 보세요. 책을 펴 놓고 보는 시험이라도 아무 쪽이나 넘겨서는 시간 안에 답을 못 씁니다. 잘 보는 학생은 시험 전에 책을 읽고, 조항마다 쪽지를 붙이고, 쪽지에 찾아보기 쉬운 표시를 해서 책상에 모아 둡니다. 시험지를 받으면 문제의 낱말로 쪽지를 찾아 그 쪽만 펴고, 거기 적힌 내용으로 답을 씁니다. 이 장에서 만드는 문서 기반 챗봇이 이 학생입니다. 책은 구름다리여행의 여행 약관 PDF 이고, 쪽지를 붙이고 찾아보는 일을 LangChain 의 부품이 합니다.

책 읽기, 쪽지 붙이기, 표시하기, 모아 두기, 찾아 답하기의 다섯 걸음을 RAG 파이프라인의 단계에 견준 흐름도

이 장에서는 RAG(검색해서 답하기) 파이프라인을 처음부터 끝까지 손으로 짭니다. PDF 를 읽고(PyPDFLoader), 알맞은 크기로 나누고(청킹), 조각마다 숫자 목록을 만들고(임베딩), 그 숫자들을 벡터DB(FAISS)에 넣어 검색합니다. 검색한 조각을 프롬프트에 넣어 답을 받는 일은 옛 방식(RetrievalQA)과 3장에서 배운 LCEL 로 함께 짜 봅니다. 키 없이 도는 연습용 임베딩으로 원리를 먼저 보고, 그 임베딩이 놓치는 질문을 진짜 임베딩(OpenAI)이 찾는지 견줍니다. 마지막에 근거 조항을 함께 보여 주고, 약관에 없는 것은 모른다고 답하는 여행 약관 챗봇을 만듭니다.

← 이전5장 · 확인문제와 해답다음 절 →6장 · 용어 짚고 가기