RAG의 개념과 등장
- LLM 고유의 한계 극복: 사전 학습된 언어모델은 학습 시점 이후의 최신 정보 부재, 오픈소스/클라우드 LLM 통틀어서 인터넷에 개방되어 있지 않은 폐쇄 정보 접근 불가
- 모델 사후학습이나 재학습 없이 방대한 데이터와 지식 베이스 결합
최근까지의 LLM 조차도 이전에 학습하거나 사용자와 질의한 정보를 특히 대화내용 삭제 시에는 메모리 컴팩트 과정에서 망각(데이터 손실) 될 수 있습니다. 그런데 만약에 오픈북 테스트처럼, 항상 찾아볼 수 있는 데이터가 있다면?

[RAG end-to-end pipeline]
A. rag 데이터 준비(오프라인 파이프라인)
- 문서 준비
- 문서 parse
- content chunk
- chunk별 문서 관련 검색에 유의미한 메터데이터(원본페이지, 작성 또는 수정 일자, 권한 등) 태깅
- chunk 를 embedding
- vector DB 적재

B. AI를 통해 검색하기(온라인 파이프라인)
- 사용자 질문에 따른 검색용 query 생성
- query를 vectorize
- query vector로 유사도 검색
- 백터 유사도에 따른 Top-K 인출
- (검색결과에서 유사도 순위상 부정확할 경우) rerank
- LLM이 검색결과를 정리하여 사용자에 반환

*기본원칙: 데이터를 임베딩하는 모델과 query를 임베딩하는 모델이 일치해야 합니다. 모델이 달라지면 차원에 따른 의미가 달라지기 때문에 서로 연관관계가 없기 때문입니다.
지식 데이터의 내용이 문맥상으로 흡사해보이지만 세부적인 의미가 다른 경우 질의 결과가 예상과 다를 수 있는데 이때에는 FineTuning 고려
여기에서 FineTuning은 초기 검색결과 자체가 원하는 바와 상이한 경우임베딩 모델, 대체적으로 검색결과 top-k 안에 원하는 방향의 지식이 있는 경우 -> rerank 모델에 고려하는게 좋습니다.
기초 본문이라서 rag를 잘 모르시는 분들이 들어오셨을 것 같아요. 이런질문들이 떠오르실 수 있습니다. 예상 답변 또는 안내 드립니다.
1. parse가 뭐지?
여기서 문서를 parsing한다는 것은 문서파일의 형식(확장자)에 따라 문서 내용을 추출하여 markdown 등의 형식으로 변환하는 과정을 말합니다.
2. chunk가 뭐지?
의미기반 검색을 하기 위해서 의미를 가진 단락 또는 문장의 집합으로 나눈 조각을 뜻합니다. chunk의 크기가 너무 작으면 의미가 담기기 어렵고 너무 많으면 여러 의미가 담기기 때문에 검색에 적합한 크기로 쪼개는 것이 중요해요.
3. embedding / vectorize 가 뭐지?
rag에서 embedding은 vector db에 저장, 검색을 할 수 있도록 데이터를 백터로 만드는 과정을 뜻합니다. vectorize는 백터화라는 의미의 영어단어로 동일한 의미로 사용했습니다. 임베딩할때에는 임베딩 모델이 필요합니다.
4. vector는 뭐지?
벡터의 정의는 크기와 방향을 가진 값입니다. 데이터가 가진 의미를 방향으로 표현했다고 생각해보세요. 질문이 임베딩된 벡터와 vector db 적재된 벡터 중 비슷한 방향을 찾는 과정이 rag에서의 검색이다 라고 간단히 이해하셔도 무방하겠습니다.
5. rerank가 뭐지?
영어의 뜻 그대로 순위를 다시 매기는 과정을 뜻합니다.
embedding과 rerank에는 임베딩 모델, rerank 모델이 필요합니다. 자세한 내용은 이미 기초를 넘어갈지도 모르기 때문에 여기서 포스트는 마칩니다.
추후 포스팅에는 아마도 vector DB, embedding 모델, rerank 모델, 간단한 파이프라인 개발에 대해서 다뤄보겠습니다.
'AI > LLM | Agent' 카테고리의 다른 글
| 바이브코딩으로 간단한 mcp 서버 만들기 (0) | 2026.08.07 |
|---|---|
| [소식] OPEN AI, GPT-5.6 luna 모델 제한 없는 text chat 무료 사용자에게도 공개 - Codex는? (0) | 2026.08.07 |
| antigravity2.0 에서 github mcp 서버 연결하기 (0) | 2026.07.22 |
| antigravity 2.0, antigravity cli 설치 및 맛보기로 문서작성 예제 (0) | 2026.07.21 |
| 바이브코딩 - 클로드 코드 설치 및 사용방법과 사용량 측정방법 (1) | 2025.09.01 |
