이 튜토리얼에서는 검색 증강 생성(RAG)이라는 패턴을 사용하는 대규모 언어 모델(LLM) 챗봇을 구축합니다.

RAG로 구축된 챗봇은 ChatGPT와 같은 범용 대화 모델이 가진 몇 가지 한계를 극복할 수 있습니다. 특히 다음 사항에 대해 토론하고 질문에 답할 수 있습니다:
- 조직에 비공개인 정보입니다.
- 트레이닝 데이터 세트에 포함되지 않았거나 LLM이 트레이닝을 마친 후에 발생한 이벤트입니다.
추가적인 이점으로, RAG는 "사실에 근거한" LLM을 지원하여 응답을 꾸며내거나 "환각을 일으킬 가능성을 줄입니다".
이를 달성하기 위한 비결은 2단계 프로세스를 사용하여 LLM으로부터 답변을 얻는 것입니다:
- 먼저 검색 단계에서는 사용자의 쿼리에 대해 하나 이상의 데이터 소스를 검색합니다. 이 검색에서 발견된 관련 문서가 검색됩니다. 키워드, 고밀도 및 희소 벡터 검색 방법 또는 이들의 하이브리드 조합 중에서 선택할 수 있는 Elasticsearch 인덱스를 사용하는 것은 이를 위한 훌륭한 옵션입니다.
- 그런 다음 생성 단계에서는 첫 번째 단계에서 검색된 문서를 포함하도록 사용자 프롬프트가 확장되고, 검색된 정보에서 사용자 질문에 대한 답을 찾도록 LLM에 대한 지침이 추가됩니다. 질문에 대한 추가된 컨텍스트를 포함하여 확장된 프롬프트는 원래 쿼리 대신 LLM에 전송되는 내용입니다.
튜토리얼 구조
이 튜토리얼은 크게 두 부분으로 구성되어 있습니다.
첫 번째 파트에서는 Python 백엔드와 React 프론트엔드를 갖춘 완전한 애플리케이션인 Chatbot RAG 앱 예제를 실행하는 방법을 배웁니다.
예제 애플리케이션을 실행하고 나면 이 튜토리얼의 두 번째 부분에서는 예제 코드를 자신의 필요에 맞게 조정할 수 있도록 RAG 구현의 다양한 구성 요소에 대해 설명합니다.
다음
요건