검색 증강 생성(RAG)
검색 증강 생성(RAG)은 외부 지식 기반에서 관련 문서나 데이터를 먼저 검색하고 그 컨텍스트를 모델 프롬프트에 주입하여, LLM 응답을 더욱 향상시키는 기법입니다.
이해하기 검색 증강 생성(RAG)
LLM은 훈련 시점의 정보만을 알고 있고, 컨텍스트 윈도우 크기에도 제한이 있습니다. RAG는 생성 전에 검색 단계를 추가해 이 두 가지 한계를 해결합니다. 쿼리가 들어오면, 검색 시스템이 외부 지식 기반에서 관련 콘텐츠를 찾아 문서를 LLM 프롬프트의 컨텍스트로 주입합니다. 이렇게 하면 LLM은 검색된 정보를 바탕으로 답변을 생성할 수 있습니다. 검색 단계는 보통 벡터 데이터베이스를 활용한 시맨틱 검색으로 이루어집니다. 쿼리를 임베딩한 후, 벡터 데이터베이스가 저장된 임베딩 중에서 가장 비슷한 결과를 찾아 원본 문서를 반환합니다. 이를 통해 LLM은 학습하지 않은 특정 이메일, 회사 문서, 최신 데이터 등의 질문에도 대응할 수 있습니다. RAG는 지식이 필요한 작업에서 환각 발생을 크게 줄입니다. 모델이 저장 문서를 실제로 참고하도록 제공하므로, 외운 정보에만 의존하지 않기 때문입니다. 또 답변에 근거 자료를 인용할 수 있어 검증도 가능합니다. 고급 RAG 기법에는 벡터 유사도와 키워드 검색을 결합한 하이브리드 검색, 검색한 문서의 적합도를 기준으로 재정렬하기, 여러 단계를 거쳐 정보에 도달하는 멀티홉 검색 등이 있습니다. 이런 기법들은 복잡한 질문의 정확도를 크게 향상시킵니다.
GAIA 활용 방법 검색 증강 생성(RAG)
GAIA는 응답을 실제 데이터에 근거하도록 RAG를 도입했습니다. 질문을 하거나 GAIA가 작업 맥락이 필요할 때, ChromaDB에서 관련 이메일, 할 일, 문서를 검색한 뒤 답변을 생성합니다. 즉, "프로젝트 일정에 대해 우리는 무엇을 결정했지?"와 같은 질문을 할 때 일반적인 지식에 의존하지 않고 실제 이메일과 회의록을 찾아 정확한 답을 줄 수 있습니다.
관련 개념
벡터 데이터베이스
벡터 데이터베이스는 대용량의 고차원 벡터 임베딩을 저장, 색인, 질의할 수 있도록 설계된 데이터베이스 시스템으로, 방대한 임베딩 데이터에서 유사성 검색을 빠르게 실행할 수 있습니다.
임베딩
임베딩은 텍스트, 이미지, 오디오 등 데이터를 의미와 관계를 표현하는 고차원, 밀집 수치 벡터로 변환한 것입니다.
의미 기반 검색
의미 기반 검색은 검색 쿼리의 의미와 의도를 이해하여, 단순히 키워드 일치가 아닌 개념 상의 연관성에 따라 결과를 제공하는 검색 기술입니다.
컨텍스트 윈도우
컨텍스트 윈도우는 시스템 프롬프트, 대화 내역, 검색 문서, 생성 결과를 포함하여 한 번의 추론 호출에서 언어 모델이 처리할 수 있는 최대 토큰 수를 의미합니다.
대형 언어 모델 (LLM)
대형 언어 모델(LLM)은 방대한 텍스트 데이터를 학습해 인간의 언어를 놀라울 정도로 자연스럽게 이해하고 생성하며 추론할 수 있는 인공지능 모델입니다.


