개념
검색 증강 생성은 질문과 관련된 자료를 찾아 생성 모델에 함께 제공하는 접근이다. 모델의 매개변수에 담긴 지식과 외부 저장소의 정보를 결합한다. Lewis 등의 원 논문은 신경망 검색기, 문서의 벡터 색인, 텍스트 생성 모델을 결합한 구성을 설명한다.
오늘날 RAG라는 표현은 검색과 생성을 연결하는 더 넓은 설계에도 쓰인다. 모든 구현이 원 논문의 학습 방식이나 같은 데이터베이스를 사용하는 것은 아니다.
검색에서 답변까지
일반적인 구성에서는 문서를 검색할 수 있게 준비하고, 질문에 맞는 일부 자료를 찾아 모델의 입력에 넣는다. 키워드 검색, 벡터 유사도 검색, 두 방식을 결합한 검색 등을 선택할 수 있다. 검색한 자료의 양은 입력 한도와 관련성을 함께 고려한다.
| 단계 | 확인할 내용 |
|---|---|
| 자료 준비 | 원문, 갱신 시점, 접근 권한 |
| 검색 | 질문과 관련된 구절을 찾았는가 |
| 답변 생성 | 설명이 실제 검색 자료에 근거하는가 |
위키에서의 예시
가령 독자가 서버 렌더링과 캐시의 관계를 묻는다고 하자. 검색기는 관련 문서의 설명을 가져오고, 생성기는 차이를 정리할 수 있다. 답변에 원문 링크와 문서 버전을 함께 남기면 독자는 요약의 근거를 직접 살펴볼 수 있다. 이는 이해를 돕기 위한 설계 예시다.
한계와 확인 방법
RAG를 사용해도 오래된 자료나 질문과 무관한 구절이 검색될 수 있다. 모델이 근거보다 넓은 결론을 쓰는 문제도 남는다. 따라서 검색 품질과 답변의 근거 일치 여부를 별도로 평가해야 한다. 비공개 자료는 검색 단계부터 요청자의 접근 권한을 적용해야 한다.