검색 증강 생성
RAG (Retrieval-Augmented Generation)
외부 문서를 검색해 모델의 컨텍스트에 넣어 답변을 사실에 근거하게 만드는 기법. 임베딩과 벡터 검색으로 관련 문서 조각을 찾아 프롬프트에 주입합니다.
9
RAG(Retrieval-Augmented Generation, 검색 증강 생성)는 생성 LLM에 별도의 검색 시스템을 결합해, 관련 문서를 찾아 모델의 컨텍스트에 넣음으로써 답변을 모델 파라미터가 아닌 외부 지식에 근거하게 만드는 기법입니다.
어떻게 동작하나
문서를 조각(chunk)으로 나눠 임베딩(embedding)해, 의미가 비슷한 것끼리 가까이 놓이는 벡터 공간에 저장합니다. 사용자 질문도 같은 모델로 임베딩합니다.
의미 기반(최근접 이웃) 벡터 검색으로 가장 관련 있는 조각을 찾습니다. OpenAI 흐름: 질문 임베딩 → 인덱스에서 의미 검색 → 상위 결과를 Chat Completions에 전달해 "검색 증강 생성".
찾은 조각을 프롬프트 컨텍스트에 넣어, 더 사실적인 답을 만들고 최신·비공개 데이터의 공백을 메웁니다.
자주 쓰는 OpenAI 임베딩 모델: text-embedding-3-small / text-embedding-3-large.
이렇게 쓰여요
헬프센터 문서를 검색해 그 내용으로 답하는 고객지원 챗봇
사내 문서를 벡터 DB에서 찾아 답하는 내부 Q&A 시스템
주의할 점
품질은 검색 결과에 좌우됩니다 — 관련 없는 조각을 가져오거나 핵심을 놓치면 여전히 틀린 답이 나옵니다. RAG는 추론 시점에 "지식"을 공급하고, 파인튜닝은 모델의 "행동·문체"를 바꾸는 서로 다른 도구이며, 함께 쓰기도 합니다.