▶️25

[영상] 오픈소스 RAG 파이프라인 구축 가이드

Day 4: 프로덕션 RAG

학습 목표

프로덕션 RAG 운영 3요소(캐싱, 재시도, 관측)의 역할을 설명할 수 있다 Redis 시맨틱 캐싱과 단순 키-값 캐싱의 차이를 구분할 수 있다 분산 추적으로 RAG 파이프라인 병목을 찾는 방법을 설명할 수 있다 오픈소스 RAG 스택(LangChain + Qdrant + LangFuse)으로 프로덕션 시스템을 구성할 수 있다

영상 핵심 정리 — 오픈소스 RAG 프로덕션 가이드

프로토타입 vs 프로덕션

항목프로토타입프로덕션
캐싱없음Redis 시맨틱
재시도없음지수 백오프 + 서킷 브레이커
관측성print()LangFuse / Prometheus
벡터 DBChroma(로컬)Qdrant(클러스터)
평가수동RAGAS CI/CD

시맨틱 캐시

from langchain.cache import RedisSemanticCache
from langchain_openai import OpenAIEmbeddings
import langchain

langchain.llm_cache = RedisSemanticCache(
    redis_url='redis://localhost:6379',
    embedding=OpenAIEmbeddings(),
    score_threshold=0.95
)

지수 백오프

import time
from functools import wraps

def retry_with_backoff(max_retries=3, base_delay=1.0):
    def decorator(fn):
        @wraps(fn)
        def wrapper(*args, **kwargs):
            for attempt in range(max_retries):
                try:
                    return fn(*args, **kwargs)
                except Exception:
                    if attempt == max_retries - 1: raise
                    time.sleep(base_delay * (2 ** attempt))
        return wrapper
    return decorator

LangFuse 관측성

사용자 질문
  ├─[trace: retrieval]──→ Qdrant 검색 (120ms)
  ├─[trace: rerank]─────→ Cross-Encoder (45ms)
  └─[trace: generate]───→ LLM 생성 (1.2s, $0.003)

함정 주의: 시맨틱 캐시 임계값 0.8 이하면 미묘하게 다른 질문에 같은 캐시 반환해 오답. 제조 기술 질문은 부품 번호 차이가 크므로 0.95 이상 권장.

다음 task와의 연결

'프로덕션 RAG: 캐싱·재시도·관측'에서 세 요소를 Docker Compose로 통합 배포하고 Grafana 대시보드로 모니터링한다.

AI로 학습하기 — 꿀팁
🤖시맨틱 캐시 + LangFuse 추적 구현AI 학습 팁

AI 에이전트에게 코사인 유사도 기반 시맨틱 캐시와 LangFuse를 활용한 RAG 단계별 레이턴시 추적 코드를 작성하게 하고, 지수 백오프 재시도 로직이 올바른지 검토하세요.

오픈소스 제조 설비 매뉴얼 RAG 파이프라인을 구현해줘. 코사인 유사도 >0.95이면 재검색 없이 캐시를 반환하는 시맨틱 캐시 레이어를 추가하고, API 일시 장애 시 지수 백오프(1s → 2s → 4s, 최대 3회) 재시도 로직도 포함해줘. LangFuse로 각 RAG 단계(임베딩·검색·생성)의 레이턴시와 비용을 추적하는 코드도 작성해줘.
이 팁이 도움이 됐나요?
핵심 포인트
  • 시맨틱 캐시: 코사인 유사도 >0.95이면 재검색 없이 캐시 반환 — API 비용 60~70% 절감
  • 재시도: 지수 백오프(1s → 2s → 4s)로 일시 장애 대응, 최대 3회
  • LangFuse: 각 RAG 단계별 레이턴시·비용 추적
  • 3대 관측: 검색 P99 <500ms, 캐시 히트율 >40%, Faithfulness >0.85