// education

임베딩(Embedding)과 RAG(검색 증강 생성) 기초

**RAG(Retrieval-Augmented Generation, 검색 증강 생성)**는 LLM의 가장 큰 한계인 환각(Hallucination)과 최신/사내 데이터 미비 문제를 해결하기 위해, 관련 문서 검색 시스템과 LLM을 결합하는 최신 표준 기술입니다.


1. 텍스트 임베딩 (Embedding)이란?

단어나 문장의 **"의미적인 유사도"**를 수백~수천 차원의 숫자 벡터(Vector)로 변환하는 기술입니다.

# OpenAI 임베딩 생성 예시
emb_response = client.embeddings.create(
    model="text-embedding-3-small",
    input="DAVHAVE 웹 개발 교육 파이프라인"
)

vector = emb_response.data[0].embedding # 1536 차원의 숫자 리스트

2. RAG 파이프라인 3단계 구조

  1. 문서 색인 (Indexing): 사내 PDF/매뉴얼 텍스트 분할(Chunking) $ ightarrow$ 임베딩 변환 $ ightarrow$ 벡터 데이터베이스(Vector DB)에 저장
  2. 검색 (Retrieval): 사용자 질문 입력 $ ightarrow$ 질문을 임베딩하여 Vector DB에서 가장 유사한 문서 Top-3 추출
  3. 생성 (Generation): 추출된 문서 조각을 프롬프트 맥락(Context)에 넣어 LLM에게 "이 문서를 바탕으로 답변해 줘" 요청

3. RAG 도입 시 얻는 3대 장점

  1. 환각 현상 최소화: AI가 검증된 검색 문서에 기반해서만 답변함.
  2. 사내 보안 문서 학습 비용 절감: 모델을 새로 미세조정(Fine-tuning)하지 않고도 즉시 최신 데이터 반영.
  3. 출처 명시 가능: 답변 끝에 참조한 문서 페이지나 링크를 제공할 수 있음.

4. 자주 묻는 질문 (Q&A)

Q. 파이낸튜닝(Fine-tuning)과 RAG 중 어떤 것을 선택해야 하나요? A. 새로운 지식을 지속적으로 업데이트하고 출처 제공이 필요한 경우 RAG가 훨씬 유리하며, 특정한 말투나 출력 포맷 스타일 자체를 고정시키고 싶을 때 파인튜닝을 선택합니다.

← 이전LLM 외부 도구 연동 (Function Calling과 에이전트) 다음 →실전 프로젝트: 나만의 AI 비서 애플리케이션 구축