RAG (검색 증강 생성)
LLM이 학습하지 않은 부분을 외부 데이터에서 검색해 답변하는 기술
기존의 Foundation Model의 한계
- 환각 현상
- 답변할 내용이 없는 경우, 허위 정보를 제공하거나 신뢰할 수 없는 출처로부터 응답을 생성함
- 지식 단절 현상
RAG의 이점
- 비용 효율적
- 파운데이션 모델을 업데이트 하는데 드는 비용과 시간을 절약할 수 있음
- 최신 정보
- RAG를 통해 최신 연구나 통계, 뉴스 등을 제공할 수 있고, 소셜 미디어 피드나 자주 업데이트 되는 정보 소스에 직접 접근할 수 있음
- 이를 통해 사용자에게 최신 정보 제공 가능
RAG 동작 방식
1. 외부 데이터 생성 (준비)
- 사용자 질문에 답변할 수 있는 지식 베이스를 구축하는 단계
-
문서 분할: 방대한 정보를 적절한 크기의 chunk로 분리
-
벡터 임베딩: 각 텍스트의 의미적 맥락을 파악하여 숫자(Vector)로 변환하는 과정
ex. ‘강아지’와 ‘고양이’는 ‘자전거’보다 가까운 위치의 vector로 표현
-
벡터 스토어: 생성된 벡터 임베딩과 원본 텍스트(chunk)를 함께 저장하는 저장소
2. 사용자의 질문을 벡터로 변환
- 준비 단계에서 사용했던 동일한 임베딩 모델을 사용해 질문을 벡터로 변환
3. 벡터 스토어 검색