What is RAG?

Seoyeon·2025년 11월 10일

AI

목록 보기
1/3

RAG (Retrieval-Augmented Generation)

1. RAG란 무엇인가?

RAG는 Retrieval-Augmented Generation의 약자로, 검색(Retrieval)생성(Generation)을 결합한 AI 기술
기존의 LLM(Large Language Model)은 학습 시점 이전의 정보만을 기반으로 동작하지만, RAG는 외부 지식 저장소에서 관련 정보를 검색하여 이를 바탕으로 응답을 생성함으로써 보다 정확하고 신뢰성 높은 결과를 제공

이 접근법은 LLM이 가진 한계인 Hallucination(환각)Knowledge Cutoff(지식 한계)를 완화할 수 있는 대표적인 방법론으로 주목받는중!

RAG는 크게 세 단계로 구성

  1. Retrieval (검색)
    외부 데이터베이스(벡터 DB, 키워드 검색, 그래프 등)에서 관련 정보를 검색

  2. Augmentation (증강)
    검색된 정보를 LLM 입력에 추가하여 문맥을 보완

  3. Generation (생성)
    LLM이 증강된 정보를 바탕으로 응답을 생성
    주요 활용 예로는 질의응답(QA), 요약(Summarization), 분류(Classification) 등


2. RAG의 중요성: Augmentation of Knowledge

RAG의 핵심 가치: 지식의 증강(Augmentation of Knowledge)

(1) Expansion of Knowledge — 지식의 확장

LLM 학습 이후에 생성된 최신 정보를 반영하거나,
실시간으로 변화하는 데이터를 다루고자 할 때 활용

  • 예시

    • 2023년에 학습된 LLM은 2025년에 출시된 노트북의 정보를 알 수 없음
      그러나 RAG를 통해 외부 웹사이트나 제품 설명서를 연결하면 최신 사양에 대한 설명이 가능
    • EX) 부동산 시세, 환율 등 실시간 변동 정보 반영에도 활용

(2) Concentration of Knowledge — 지식의 집중

범용 LLM이 학습한 일반 지식 외에, 특정 도메인의 전문 지식을 반영하고자 할 때 사용

  • 예시

    • 기업 내부 매뉴얼, 정책 문서를 기반으로 직원 질의응답 챗봇 제작
    • 법률 문서나 판례를 활용한 법률 상담 요약 생성

즉, RAG는 지식의 최신성정확성을 동시에 확보할 수 있는 핵심 기술


3. RAG 구현 단계

(1) Planning (기획 단계)

RAG 시스템을 구축하기 전에 다음 사항들을 명확히 정의

  • 문제 정의
    무엇을 해결하기 위한 RAG인지 명확히 하기
    단순한 챗봇 제작이 아니라, 해결하고자 하는 구체적 가치 세우기

  • 데이터 기획
    어떤 문서를 사용할지, 데이터 형식과 최신성을 어떻게 관리할지 설계

  • 보안 및 권한 설계
    사용자별 접근 권한이 다르다면 접근 제어 및 관리 정책이 필요

  • 평가 계획 수립
    답변의 정확성을 평가할 기준을 마련
    예: 정답셋 구축, 사용자 피드백 수집

  • UI/UX 설계
    문제 해결에 가장 적합한 인터페이스를 고려
    (챗봇 UI가 항상 최선은 아니며, 요약이나 분석 결과는 카드형 UI가 더 적절할수도?)


(2) Ingestion Pipeline (데이터 준비 단계)

LLM이 이해할 수 있는 형태로 외부 문서를 가공하는 단계

  • Data Loading
    PDF, Word, 웹페이지 등 다양한 형식의 문서를 불러오기
    데이터의 형태에 맞는 로딩 방식을 선택해야 하며,
    문서 구조까지 인식할 수 있는 파서(예: Upstage Document Parse)를 활용가능
  • Chunking (청킹)
    긴 문서를 일정한 크기의 조각(chunk)으로 나누어 저장
    청크가 너무 작으면 문맥이 손실되고, 너무 크면 비용이 증가할 수 있으므로 적절한 균형 필요
    문서 유형에 따라 최적의 청킹 전략을 선택!

  • Embedding
    텍스트를 벡터 형태로 변환하여 질문과 문서 간 유사도를 계산할수 있게 함
    예: Upstage Solar Embedding 등의 임베딩 API 활용

  • Indexing
    임베딩된 데이터를 벡터 데이터베이스(VectorStore)에 저장하고 인덱싱
    이를 통해 질문이 들어올 때 유사도가 높은 문서를 빠르게 검색 가능


(3) Querying Pipeline (질문 처리 단계)

사용자의 질문이 들어오면 다음 과정을 통해 응답을 생성

  • Prompt Engineering
    검색된 문서를 기반으로 LLM에게 어떻게 질문할지를 설계하는 과정
    예시 제공, 페르소나 설정, 구분자 삽입 등으로 원하는 응답을 유도

  • Workflow Engineering
    “질문 입력 → 관련 문서 검색 → 프롬프트 생성 → 응답 생성”의 전 과정을 자동화
    단순한 흐름을 넘어, 에이전트(Agent) 워크플로우를 설계하여 더 정교한 답변을 생성
    예를 들어, “오늘 날씨 어때?”라는 질문이 들어오면 날씨 API를 호출해 결과를 요약하여 응답


(4) Demo

구축한 RAG 파이프라인을 실제 사용자가 활용할 수 있도록 인터페이스를 구현가능
특히 Gradio, Streamlit 등의 도구를 사용하면 손쉽게 챗봇 UI를 구현 가능


0개의 댓글