// education & ai

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

**RAG(Retrieval-Augmented Generation, 검색 증강 생성)**는 모델을 새로 학습시키지 않고도 사내 보안 문서나 최신 자료를 실시간 검색하여 환각 없이 정밀한 답변을 내놓게 만드는 핵심 Enterprise 아키텍처입니다.


1. RAG 핵심 용어 사전 (Glossary)


2. RAG 아키텍처의 3단계 작동 흐름

[1. Indexing 단계] 
원본 문서 (PDF/Word) ---> 텍스트 분할 (Chunking) ---> Embedding 모델 변환 ---> Vector DB 저장

[2. Retrieval & Generation 단계]
사용자 질문 ---> 질문 Embedding 변환 ---> Vector DB에서 유사 문서 Top-K 검색 ---> Prompt Context 합체 ---> LLM 최종 답변

3. 파이썬 임베딩 생성 및 코사인 유사도 실습 예제

import numpy as np

# 1. OpenAI 임베딩 API 호출 (text-embedding-3-small)
def get_embedding(text):
    res = client.embeddings.create(input=text, model="text-embedding-3-small")
    return res.data[0].embedding

# 2. 코사인 유사도 계산 함수
def cosine_similarity(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

vec1 = get_embedding("아두이노 마이크로컨트롤러 프로그래밍")
vec2 = get_embedding("임베디드 보드 스케치 코딩")
vec3 = get_embedding("맛있는 맛집 삼겹살 레시피")

print("문장 1과 문장 2 유사도 (연관성 높음):", cosine_similarity(vec1, vec2))
print("문장 1과 문장 3 유사도 (연관성 낮음):", cosine_similarity(vec1, vec3))

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

Q. 키워드 검색(BM25)과 벡터 유사도 검색의 차이는? A. 키워드 검색은 정확히 일치하는 단어 문자가 있어야 찾지만, 벡터 검색은 "노트북이 고장 났어요"라고 검색해도 키워드는 없지만 의미가 통하는 "PC 수리 A/S 안내문"을 찾아내는 장점이 있습니다. 최신 RAG 시스템은 둘을 섞어 쓰는 Hybrid Search를 채택합니다.

🎓 DAVHAVE AI & 모바일 개발 마스터링

AI 및 마스터 가이드 수강 중 도움이 필요하시거나 사내 AI 교육 및 에이전트 도입 컨설팅이 필요하신가요?

AI 마스터 문의하기 →
https://davhave.com/education/ai/claude/ch09-embeddings-and-rag-basics
← 이전 레슨에이전트 설계의 기본 다음 레슨 →LLM 에이전트 성능 최적화와 모니터링