RAG 시스템 개발/학습 기록 정리하기

Keno Kim·2025년 5월 17일

시작하기

  • RAG 시스템을 대규모 고객 (100만 사용자) 상대로 서비스하려면 어떤 것들을 고민해야 할까?

시스템 설계

  • 서비스 API 에 text 를 포함해서 요청하면, Vector DB 에서 검색한 텍스트를 찾아 (retrieval) 프롬프트에 추가해서 (generate) 답변을 생성한다.
  • Vector DB 에는 자동화된 워크플로우에 의해 데이터가 수집된다.
  • 시스템 컴포넌트를 따져보면 다음과 같다.
  1. API 서버 - 검색 기능을 포함한다.
  2. Vector DB
  3. LLM
  4. 워크플로우 툴 (Airflow 등)
  • 각각에 대해 깊이 고민해 보자.

Vector DB

  • 현시점 Vector DB 는 서비스되는게 매우 많고, 기존 DB 들도 벡터 검색기능을 추가하는 추세이다.
  • 하나의 클라우드 벤더 (예를 들어, AWS, Azure) 내에서도 선택지가 수십가지가 넘으며 각각의 장단점 / 워크로드에 따른 적합성이 다르다.
    • 예를 들어, latency 가 중요한 서비스 (실시간 에디터 등) 에는 특정 DB 가 적합하지 않을수 있다.

LLM

  • LLM 은 ollama 같은 셀프 호스팅, 또는 클라우드에서 제공하는 서비스가 있을 것이다.

셀프 호스팅

  • 셀프 호스팅은 경험이 없으나 공부 목적으로 정리해 보자.

클라우드 서비스 LLM

  • 클라우드 서비스는 Azure OpenAI, Gemini 같은 종류가 요즘 대세이다.
  • 서비스에 따라 과금 체계가 다르고, 모델에 따라 과금량도 다르다. 추론형 + 비싼 모델을 쓰면 서비스 비용이 수익보다 더 나갈수 있으므로 잘 선택해야 한다.
    • 어떤 비디오 생성 모델은 3번만 호출해도 수십만원이 과금될 수 있다.

워크플로우 툴

  • 전통적인 MLOps 랑 유사하다. 데이터 파이프라이닝, 모델 학습, A/B 테스트 이런게 RAG 시스템에도 적용될 것이다. 좀더 공부해 보자.
profile
개발자의 생각 로그

0개의 댓글