반응형
AI 애플리케이션 개발에서 가장 중요한 개념 중 하나인 RAG(Retrieval-Augmented Generation, 검색 증강 생성)에 대해 정리해 보겠습니다. 모델이 학습하지 않은 최신 정보나 내부 기밀 데이터를 안전하게 참조하게 만드는 핵심 기술입니다.
1. RAG의 구조: Retrieval + Augmented + Generation
RAG는 이름 그대로 세 가지 과정을 통해 작동합니다.
- Retrieval (검색): 컴퓨터 시스템에 저장된 방대한 자료 중 필요한 정보를 취득합니다. LLM이 학습한 이후의 최신 자료나 외부 정보를 가져오는 핵심 과정입니다.
- Augmented (증강): 검색된 데이터를 LLM에게 제공하여, AI가 해당 내용을 기반으로 답변을 생성하도록 사실 관계를 주입(증강)합니다.
- Generation (생성): 검색된 데이터를 바탕으로 LLM이 최종적으로 답변을 작성합니다.

2. RAG의 주요 구성요소
| 구성요소 | 역할 |
|---|---|
| LangChain | 프롬프트 작성 및 데이터 흐름을 조율하는 엔진 |
| Vector Database | 데이터를 숫자(벡터) 형태로 저장하고 유사도 검색을 수행하는 저장소 |
| Embedding Model | 단어/문장을 AI가 이해하는 벡터로 변환 (유사도 측정 핵심) |
3. 상세 프로세스 (Workflow)
RAG가 실제로 어떻게 데이터를 처리하고 답변을 내놓는지 그 단계를 살펴봅니다.
Step 1. 데이터 전처리
- 읽기 및 쪼개기(Chunking): 긴 문서를 작은 단위로 분할합니다. (토큰 수 초과 방지 및 정확한 검색을 위함)
- 임베딩 및 저장: 임베딩 모델로 벡터화하여 Vector DB에 메타데이터와 함께 저장합니다.
Step 2. 검색 및 생성
- 유사도 검색: 사용자의 질문과 가장 비슷한 문서 조각을 벡터 DB에서 찾습니다. (Retrieval)
- 프롬프트 증강: 검색된 결과와 질문을 LangChain을 통해 LLM 프롬프트에 조합하여 전달합니다. (Augmented)
- 답변 생성: LLM은 제공된 데이터를 바탕으로 답변을 완성합니다. (Generation)
💡 RAG 개발 팁: 문서를 쪼갤 때(Chunking) 너무 크면 응답 시간이 늘어나고, 너무 작으면 문맥이 잘릴 수 있습니다. 이 균형을 맞추는 것이 성능 최적화의 첫걸음입니다!
📝 마무리
일단 RAG의 기본 개념과 프로세스를 파악했습니다. 다음에는 실제 벡터 DB(Chroma 등)를 구축하고, 문서를 로드하여 검색하는 실습을 진행해 보겠습니다.
RAG #검색증강생성 #LLM #LangChain #VectorDB #임베딩 #AI개발 #AI공부 #정보검색 #잡다한공방
반응형
'AI > RAG' 카테고리의 다른 글
| [#RAG] 01. RAG 프로세스 확인과 실습 진행 (0) | 2026.03.01 |
|---|
댓글