////
Search

RAG의 기본

생성일
2025/12/03 05:37
태그

개요

RAG(Retrieval-Augmented Generation)는 LLM에게 질의하기 전 외부 지식을 검색해 지식을 제공하는 검색증강생성을 의미한다.
자료가 방대하지 않다면 단순히 프롬프트 만으로도 지식을 제공할 수 있겠지만, 엔터프라이즈 급이라면 말이 좀 달라지게 된다.
너무나도 방대한 자료들이 있고, 이를 제공해주는건 일반적인 DB로는 어려움이 있다.
그렇다면 RAG를 구성하는 방법은 뭐가 있는 것일까?

RAG 기술 파해치기

일반적으로 RAG가 가지는 기술은 VectorDB와 Embedding 모델이 주를 이룬다.
원리로 따지자면 간단한데 각종 정형 및 비정형 데이터를 Embedding 모델을 통해 분석/좌표를 확인한 후 이를 토대로 임베딩 데이터에 인덱스화 시키는 것이다.
이미지에서 설명한 것 처럼 벡터 데이터베이스는 인덱스를 저장해주는 역할을 한다.
그리고 저장된 데이터는 사용자의 기준에 따라 다를 수 있다.
일반적으로 하나의 자료는 너무 크기 때문에 청크 단위로 쪼개어 저장하게 되고, 쪼갠 청크를 임베딩 하여 의미가 있는 데이터로서 활용하게 된다.

Embedding Model

그렇다면 임베딩 모델이라는건 뭘까?
간단히 말하자면 트랜스포머 모델이다.
즉, LLM과 같이 인코더와 디코더를 대규모로 붙여놓은 모델이 아닌 단독적으로 이용하는 트랜스포머라고 보면 된다.
최근엔 이런 임베딩 모델도 장족의 발전을 이뤘기 때문에 보다 다양한 모델들이 등장하고 있는것 같다.
임베딩 모델은 기본적으로 인코더의 구조를 하고 있는데 셀프 어텐션을 통해서