RAG Pipeline Simulator
Retrieval-Augmented Generation 파이프라인 시뮬레이션
📚 문서 소스
⚙️ 청킹 설정
⚡ 파이프라인 단계
문서를 작은 조각으로 분할
청크를 벡터로 변환
질문을 벡터로 변환
가장 관련있는 청크 찾기
LLM으로 최종 답변 생성
✏️ 직접 질문하기
❓ 샘플 질문
📖 문서 원문
3개 문서 | 706자RAG(Retrieval-Augmented Generation)는 대규모 언어 모델의 한계를 극복하기 위한 기술입니다. LLM은 학습 데이터에 없는 최신 정보나 특정 도메인 지식을 알지 못합니다. RAG는 외부 지식 베이스에서 관련 정보를 검색하여 LLM에 제공함으로써 이 문제를 해결합니다. RAG 시스템의 핵심 구성요소는 문서 저장소, 임베딩 모델, 벡터 데이터베이스, 그리고 LLM입니다.
주요 벡터 데이터베이스를 비교해보겠습니다. Pinecone: 완전 관리형 서비스로 설정이 간단하고 확장성이 뛰어납니다. 월 $70부터 시작합니다. Milvus: 오픈소스로 자체 호스팅이 가능합니다. 대규모 데이터에 적합합니다. Chroma: 경량 오픈소스로 개발 및 프로토타이핑에 적합합니다. Weaviate: GraphQL API를 지원하며 하이브리드 검색이 가능합니다. Qdrant: Rust로 작성되어 성능이 우수하고 필터링 기능이 강력합니다.
효과적인 RAG를 위한 청킹 전략입니다. 고정 크기 청킹: 가장 단순한 방법으로 일정한 문자 수로 분할합니다. 구현이 쉽지만 문맥이 끊길 수 있습니다. 문장 기반 청킹: 문장 단위로 분할하여 의미 단위를 보존합니다. 의미 기반 청킹: 임베딩 유사도를 기반으로 의미적으로 연관된 문장들을 그룹화합니다. 재귀적 청킹: 문단, 문장, 단어 순으로 계층적으로 분할합니다. 최적의 청크 크기는 보통 200-500 토큰 사이입니다.
📚 RAG란?
RAG (Retrieval-Augmented Generation)는 LLM의 한계를 극복하기 위한 기술입니다. 외부 지식 베이스에서 관련 정보를 검색하여 LLM에 제공합니다.
RAG 파이프라인 단계
- 문서 청킹: 긴 문서를 검색 가능한 작은 조각으로 분할
- 임베딩 생성: 각 청크를 벡터로 변환 (예: OpenAI text-embedding-3)
- 벡터 저장: 벡터 DB에 저장 (Pinecone, Chroma, Milvus 등)
- 유사도 검색: 질문과 가장 유사한 청크 검색
- 답변 생성: 검색된 컨텍스트와 질문을 LLM에 전달
RAG vs GraphRAG
| 항목 | RAG | GraphRAG |
|---|---|---|
| 검색 방식 | 벡터 유사도 | 그래프 탐색 + 벡터 |
| 관계 표현 | 암묵적 (텍스트 내) | 명시적 (엣지) |
| 다단계 추론 | 제한적 | 그래프 순회로 가능 |
| 구현 복잡도 | 낮음 | 높음 |