현대 RAG 개발자 스택의 간단한 개요
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
인공지능
대상자
AI 애플리케이션 개발자 및 데이터 과학자, RAG 시스템 구축에 관심 있는 프로그래머
핵심 요약
- 모델 선택 전략: 오픈 모델(Llama 3.3, Mistral)과 API 기반 모델(GPT-4, Claude)의 장단점 비교 (예: 비용, 데이터 프라이버리)
- 핵심 도구: LangChain (프롬프트 체인, 에이전트), LlamaIndex (문서 인덱스), Haystack (인프라 파이프라인)
- 벡터 DB 선택: Chroma, Qdrant, Milvus 등 성능, 비용, 확장성 기준 평가
- 평가 지표: recall@k, mrr (모델 성능 측정) 및 RAGas, TruLens 도구 활용
섹션별 세부 요약
1. 모델 선택
- 오픈 모델 (예: Llama 3.3):
- 장점: API 비용 없음, 데이터 프라이버리 유지 가능
- 단점: 호스팅 및 업데이트 책임
- API 기반 모델 (예: GPT-4):
- 장점: 서버리스, SLA 보장
- 단점: 규모 확장 시 비용 증가
- Tip: 로컬에서 Llama 3.3 (Ollama) 시작 후 생산 환경으로 전환
2. 개발 도구
- LangChain:
- LLMChain, PromptTemplate 사용 예제
- Agents (LLM 기반 의사결정) 지원
- LlamaIndex:
- 문서 인덱스 생성, 커스텀 임베딩 지원
- Haystack:
- Pipelines, Document Stores, Inference APIs 통합
- LangChain 체인과 결합한 유연성 제공
3. 벡터 DB 선택
- Chroma: 간단한 Python API, 프로토타이핑 용이
- Qdrant: Rust 기반, 웹소켓 스트리밍, 지오 서치 지원
- Milvus: GPU 가속, 고성능 처리
- 선택 기준: 쿼리 처리량, 인덱싱 속도, 저장 비용, 다중 테넌트 지원
4. 데이터 수집 및 처리
- 웹 크롤링: FireCrawl, MegaParser (자바스크립트 렌더링 사이트)
- 문서 파싱: Docling, Apache Tika (PDF, DOCX 텍스트 추출)
- ETL 파이프라인: Airflow, Dagster 자동화
- 워크플로우: 크롤링 → 클리닝 → 청킹 → 임베딩
5. 공급자 분리 전략
- 오픈 LLM 호스팅: Hugging Face (Inference API), Ollama (로컬 컨테이너)
- 클라우드 공급자: OpenAI, Google Vertex AI (Gemini), Anthropic (Claude)
- 중요성: 구성 파일 변경으로 공급자 교체 가능
6. 임베딩 모델 평가
- Sentence-BERT (SBERT): 빠른 처리, 세멘틱 유사도 분석
- BGE (BigGraphEmbeddings): 대규모 문서 최적화
- OpenAI Embeddings: 정확도 높음 (유료)
- Google Embedding API: 비용/성능 균형
- 최적화 전략: recall@k, mrr 지표로 모델 평가
7. 평가 도구 및 메트릭
- RAGas: 엔드투엔드 평가 파이프라인
- Giskard: 모델 테스트 및 편향 감지
- TruLens: LLM 가시성 (프롬프트, 토큰 추적)
- 핵심 메트릭: Precision@k, ROUGE, BLEU, 응답 지연 시간, 인코딩 비용
- 모니터링: Grafana/Prometheus에 평가 지표 로깅
결론
- 생산성 향상 전략: 오픈 모델로 시작 → API 전환 (트래픽 증가 시)
- 도구 활용: LangChain + Haystack 결합으로 유연성 확보
- 모니터링: RAGas 및 TruLens로 모델 성능 지속 추적
- 아키텍처: LLM/API ↔ Framework ↔ Vector DB 간 결합 설계를 통해 확장성, 안정성 유지