이제는 여기저기 기본 구조로 자리잡은 RAG에 대해 정리 겸 글을 작성해보려고 한다.
요즘은 Agent + RAG를 함께 사용하는 듯 하다.
정의
대형 언어 모델(LLM)이 외부 데이터 소스에서 관련 정보를 검색하고, 해당 정보를 활용하여 보다 정확한 답변을 생성하도록 하는 AI 아키텍처
필요성
- 확장성: 최신 정보나 외부 데이터를 실시간으로 검색하여 활용 가능
- 유연성: Vector DB 데이터를 업데이트하여 시스템을 쉽게 확장 가능
- 정확성: 검색된 문서를 기반으로 답변을 생성하기 때문에 Hallucination 최소화
핵심 용어 정리
- Query : 사용자가 시스템에 입력하는 질문 또는 요청을 의미
- Embedding : 텍스트의 의미를 숫자 벡터 형태로 변환한 표현. 이를 통해 의미 기반 검색이 가능함
- Vector DB : Embedding Vector를 저장. 벡터 간 유사도를 기반으로 관련 문서를 검색하는 DB
- Top-K Documents : 검색된 문서(청크) 중 상위 K개를 선택하는 파라미터