RAG2026-5일3차시 · RAG 기본 구조 깊이 있게 이해하기6 / 17← 이전목차다음 →MetaContents

3차시. RAG 기본 구조 깊이 있게 이해하기

3. 실행 단계 상세 설명

출처: 원본 PDF 03차시_RAG기본구조깊이있게이해하기.pdf 6~8쪽 · 쪽 그림 6쪽 7쪽 8쪽

준비 단계가 완료되었습니다! 이제 사용자가 질문할 때마다 다음 단계가 실행됩니다.

3-1) 사용자 질문을 벡터로 변환

사용자가 "우리 제품의 색상은 뭐예요?"라고 질문합니다. 이 질문도 같은 Embedding 모델을 사용해서 벡터로 변환합니다.

🔄 변환 과정
입력 — "우리 제품의 색상은 뭐예요?"
출력 — [0.35, 0.22, -0.10, 0.45, …] (같은 차원의 벡터)
중요: 준비 단계에서 사용한 것과 동일한 Embedding 모델을 써야 합니다.

3-2) Similarity Search (유사도 검색)

이제 사용자의 질문 벡터와 저장된 모든 Chunk 벡터를 비교해서, 가장 유사한 것들을 찾습니다.

🔍 검색 메커니즘
1단계: 사용자 질문 벡터 = [0.35, 0.22, -0.10, 0.45, …]
2단계: 저장된 모든 Chunk 벡터와 비교
• Chunk 1 벡터와의 거리: 0.12 (아주 가까움!)
• Chunk 2 벡터와의 거리: 0.45 (먼 편)
• Chunk 3 벡터와의 거리: 0.89 (매우 멀음)
• Chunk 4 벡터와의 거리: 0.34 (중간 정도)
3단계: 거리가 작은 순서대로 상위 3개 선택
→ Chunk 1 (0.12), Chunk 4 (0.34), Chunk 2 (0.45)

📊 구체적인 예시
사용자 질문 — "우리 제품의 색상은 뭐예요?"
검색 결과
1번 문서: "색상은 검은색과 흰색입니다" (유사도 92%)
2번 문서: "배송은 3-5일 소요됩니다" (유사도 45%)
3번 문서: "가로 100cm, 세로 50cm입니다" (유사도 38%)
이 중 상위 1-3개를 선택해서 AI에게 제공합니다!

3-3) Context 생성

출처: 원본 PDF 7~8쪽

검색된 상위 3개 Chunk를 모아서 하나의 Context를 만듭니다. 이것이 AI에게 전달될 "배경 정보"가 됩니다.

📝 Context 생성 예시
찾은 3개 Chunk
​1. "제품 기술 사양: 색상은 검은색과 흰색입니다. 무게는 20kg입니다."
​2. "배송 정보: 3-5일 소요됩니다. 배송비는 5,000원입니다."
​3. "기술 사양 계속: 가로 100cm, 세로 50cm, 높이 30cm."
이를 하나로 합쳐서 만든 Context
"제품 기술 사양: 색상은 검은색과 흰색입니다. 무게는 20kg입니다. 가로 100cm, 세로 50cm, 높이
30cm. 배송 정보: 3-5일 소요됩니다. 배송비는 5,000원입니다."

3-4) 프롬프트 조합

출처: 원본 PDF 8쪽

마지막으로 다음과 같은 형태의 최종 프롬프트를 만듭니다.

출력
"다음 정보를 읽고 사용자의 질문에 답해주세요.
정보에 없는 내용은 '모릅니다'라고 답해주세요.

[정보 시작]
{Context 내용 여기}
[정보 끝]

사용자의 질문: 우리 제품의 색상은 뭐예요?

답변:"

3-5) LLM이 답변 생성

출처: 원본 PDF 8쪽

이제 최종 프롬프트가 ChatGPT 같은 LLM에게 전달됩니다. LLM은 제공받은 정보만 사용해서 답변을 생성합니다. 💬

LLM의 답변
"우리 제품의 색상은 검은색과 흰색입니다."
중요: 이 답변은 100% 정확합니다. 왜냐하면 LLM이 제공받은 문서에 정확히 이렇게 쓰여 있기 때문입니다!

← 이전 절3차시 · 2. 준비 단계 상세 설명다음 절 →3차시 · 4. 전체 프로세스 다시 한 번 정리