티스토리 뷰

2026.03.24 - [분류 전체보기] - RAG 시스템 이용 상담원 응대 구축 가이드 1

2026.03.24 - [분류 전체보기] - 상담원 RAG 시스템 구축 종합 가이드 2

 

상담원 RAG 시스템 구축 종합 가이드

기준 아키텍처: Kubernetes + OpenSearch/PG + 외부 LLM(Google Gemini)

1. 문서 목적

이 문서는 상담원 지원용 RAG(Retrieval-Augmented Generation) 시스템을 실제 구축·운영할 수 있도록, 아래 내용을 한 번에 정리한 종합 MD 가이드입니다.

포함 범위:

  • 개념 설명
  • 전체 아키텍처
  • 서버 스펙
  • Kubernetes 배포 구조
  • Gemini 연동 방식
  • 문서 적재 파이프라인
  • 보안/운영/모니터링
  • 구축 단계
  • 실무 체크리스트

이 문서의 목표는 단순한 챗봇이 아니라,
상담원이 고객 문의를 받을 때 내부 문서와 정책, 상담 이력, 상품 정보를 근거로 답변 초안을 빠르게 생성하는 운영형 시스템을 설계하는 것입니다.

2. 시스템 목표

상담원 RAG 시스템의 핵심 목표는 다음과 같습니다.

  1. 상담 품질 표준화
    • 상담원마다 답변 품질 차이를 줄임
    • 최신 정책/상품 기준으로 응답 통일
  2. 응답 속도 개선
    • 매뉴얼 검색 시간을 줄임
    • 상담 중 필요한 답변 초안을 빠르게 생성
  3. 근거 기반 답변
    • 검색된 문서 기반으로만 답변
    • 출처와 근거를 함께 보여 신뢰도 향상
  4. 교육/온보딩 효율화
    • 신입 상담원도 일정 수준 이상의 응답 가능
    • FAQ/업무 가이드 학습 시간 절감
  5. 운영 데이터 축적
    • 어떤 질문이 자주 들어오는지 분석
    • 잘못된 답변, 미흡한 문서를 역으로 개선 가능

3. 왜 RAG가 필요한가

일반 LLM만 사용하면 다음 문제가 있습니다.

  • 회사 내부 정책을 모름
  • 최신 문서를 모름
  • 추측성 답변(환각, hallucination) 가능
  • 부서/권한별 문서 분리 어려움

RAG는 이 문제를 해결하기 위해 다음 구조를 사용합니다.

  • 질문을 받음
  • 관련 문서를 검색함
  • 검색된 문서를 기반으로 LLM이 답변함

즉, “검색 + 생성” 구조입니다.

4. 적용 대상 업무 예시

상담원 RAG는 아래 같은 조직에 매우 적합합니다.

  • 고객센터 / 콜센터
  • 홈쇼핑/커머스 CS
  • 반품/교환/환불 상담
  • 상품 안내 상담
  • 내부 헬프데스크
  • IT 운영 문의 대응
  • 파트너/가맹점 운영 지원

예시 질문:

  • “이 상품은 반품 가능한가요?”
  • “방송 중 구매한 상품의 교환 정책이 어떻게 되나요?”
  • “회원 등급별 적립 정책 알려줘”
  • “배송 지연 보상 기준이 뭐야?”
  • “상담원 응대 스크립트 기준으로 답변 초안 만들어줘”

5. 전체 아키텍처 개요

전체 시스템은 크게 6개 계층으로 나눌 수 있습니다.

  1. 상담원 UI
  2. API Backend
  3. RAG Orchestrator
  4. Search / Vector 계층
  5. LLM 계층 (Gemini)
  6. 문서 수집/인덱싱 계층

5.1 전체 논리 구성도

[상담원 브라우저 / 업무 포털]
          │
          ▼
   [LB / Ingress / Gateway]
          │
          ▼
      [Web UI]
          │
          ▼
    [API Backend]
          │
          ├─ 인증/권한 확인
          ├─ 고객 정보 조회
          ├─ 상담 이력 조회
          ├─ 세션 관리
          ├─ 감사 로그 기록
          │
          ▼
 [RAG Orchestrator Service]
          │
          ├─ Query Rewrite
          ├─ Hybrid Search
          ├─ Reranker
          ├─ Prompt Builder
          └─ LLM 호출
          │
   ┌──────┴─────────────┐
   ▼                    ▼
[Search / Vector DB]   [Google Gemini API]
   │
   ├─ FAQ
   ├─ 정책 문서
   ├─ 상품 문서
   ├─ 상담 스크립트
   ├─ 공지사항
   └─ 상담 이력 요약

 

6. 핵심 구성요소 상세 설명

6.1 Web UI

상담원이 실제로 사용하는 화면입니다.

주요 기능:

  • 고객 질문 입력
  • AI 답변 초안 확인
  • 근거 문서/출처 확인
  • 답변 복사/수정
  • 상담 이력 확인
  • 피드백(정확/부정확) 남기기

권장 기술:

  • React
  • Next.js
  • 사내 SSO 연동

6.2 API Backend

프론트엔드와 RAG 백엔드 사이의 중간 계층입니다.

주요 역할:

  • 사용자 인증 확인
  • 부서/권한 확인
  • 고객 정보 연동
  • 상담 세션 관리
  • 질문 요청 수신
  • RAG Orchestrator 호출
  • 응답 저장 및 감사 로그 기록

권장 기술:

  • FastAPI
  • 또는 Spring Boot

권장 이유:

  • FastAPI는 Python RAG 컴포넌트와 연결이 쉬움
  • Spring Boot는 기업 내부 표준 시스템과 통합이 강함

6.3 RAG Orchestrator

이 시스템의 핵심 엔진입니다.

주요 역할:

  1. 질문 전처리
  2. 검색어 보정(Query Rewrite)
  3. 벡터/키워드 검색 실행
  4. 검색 결과 정렬(Rerank)
  5. LLM 프롬프트 생성
  6. Gemini 호출
  7. 답변과 출처 결합

예시:

  • 고객 질문: “오늘 산 상품 환불 되나요?”
  • Rewrite: “당일 구매 상품 환불 정책 / 방송상품 환불 기준”
  • 검색: 관련 정책 문서 Top-K 추출
  • Rerank: 가장 관련 높은 문서 순서 재정렬
  • Prompt 생성
  • Gemini에 전달
  • 근거 포함 답변 생성

6.4 Search / Vector DB

문서를 검색하는 핵심 저장소입니다.

권장 방식은 Hybrid Search입니다.

A. 키워드 검색

  • BM25
  • 정확한 단어 일치에 강함
  • 정책명, 상품명, 코드값에 유리

B. 벡터 검색

  • 의미 기반 검색
  • 문장 표현이 달라도 유사 의미를 찾음

C. 하이브리드 검색

  • 키워드 + 벡터를 함께 사용
  • 가장 실무적이고 정확도 높음

권장 후보:

  • OpenSearch
  • PostgreSQL + pgvector

실무 추천:

  • 문서량이 많고 검색 기능을 고도화할 계획이면 OpenSearch
  • 간단하고 일원화된 운영을 원하면 PostgreSQL + pgvector

6.5 Reranker

검색 결과를 한 번 더 정렬하는 모델입니다.

예를 들어 검색 결과 20건이 나왔을 때, 그중 실제 질문과 가장 관련 높은 문서를 다시 순서화합니다.

효과:

  • 답변 정확도 향상
  • LLM에 넣는 문서 품질 향상
  • 불필요한 문서 감소

권장:

  • bge-reranker 계열
  • CPU 또는 GPU로 운영 가능

6.6 LLM 계층: Google Gemini

이번 구조에서는 LLM을 자체 구축하지 않고 외부 Gemini API를 사용합니다.

장점:

  • GPU 인프라 없이 시작 가능
  • 운영 복잡도 감소
  • 빠르게 PoC/운영 전환 가능
  • 모델 업그레이드 부담 감소

단점:

  • 호출 비용 발생
  • 외부 API rate limit 고려 필요
  • 민감정보 처리 정책 필요

7. 왜 Gemini 외부 연동 방식이 좋은가

상담원 RAG를 처음 만들 때는 LLM을 직접 호스팅하는 것보다
외부 API 방식이 훨씬 현실적입니다.

이유:

  • GPU 서버 초기 비용이 큼
  • vLLM, 모델 최적화, 서빙 운영 난이도 높음
  • 모델 교체/튜닝/업그레이드까지 고려하면 운영 부담이 커짐

Gemini 외부 호출 구조를 쓰면:

  • App Node만 있으면 됨
  • GPU 없이 시작 가능
  • RAG 검색 품질 개선에 더 집중 가능

즉, 처음에는
**“검색 품질 + 문서 정제 + 프롬프트 설계”**에 집중하는 것이 더 중요합니다.

8. Kubernetes 전체 배포 구조

8.1 권장 네임스페이스 구성

k8s cluster
├─ ingress-gateway
│  ├─ ingress controller / gateway
│  └─ cert-manager
│
├─ rag-app
│  ├─ web-ui
│  ├─ api-backend
│  ├─ rag-orchestrator
│  ├─ reranker
│  ├─ embedding-worker
│  └─ batch/cron jobs
│
├─ rag-data
│  ├─ postgresql
│  ├─ opensearch
│  ├─ redis
│  └─ object storage client
│
├─ security
│  ├─ keycloak or sso adapter
│  ├─ external-secrets
│  └─ vault(optional)
│
└─ observability
   ├─ prometheus
   ├─ grafana
   ├─ loki
   └─ alertmanager

 

8.2 오브젝트 유형 권장안

Deployment

  • web-ui
  • api-backend
  • rag-orchestrator
  • reranker
  • embedding-worker

StatefulSet

  • PostgreSQL
  • OpenSearch
  • Redis

CronJob / Job

  • 문서 동기화
  • 인덱스 재생성
  • 오래된 세션/캐시 정리
  • 주기적 품질 점검

HPA

  • api-backend
  • rag-orchestrator
  • reranker

PDB

  • api-backend
  • rag-orchestrator
  • OpenSearch
  • PostgreSQL

NetworkPolicy

  • app ↔ db 최소 통신만 허용
  • app ↔ external egress 제한
  • security namespace 격리

9. 서버 스펙 권장안

아래는 Gemini를 외부 API로 사용하는 조건을 기준으로 한 현실적인 권장안입니다.
즉, 자체 GPU LLM 서버는 제외합니다.


9.1 소규모 PoC / 파일럿

대상:

  • 상담원 20~50명
  • FAQ/정책 문서 위주
  • 문서 chunk 1만~5만 수준

Kubernetes App Worker

  • 수량: 3대
  • 사양: 8 vCPU / 32GB RAM / 200~300GB SSD

Data Node

  • 수량: 2대
  • 사양: 8~16 vCPU / 64GB RAM / 1TB NVMe

Master Node

  • 수량: 3대
  • 사양: 4 vCPU / 8~16GB RAM / 100GB SSD

적합한 상황

  • 부서 단위 테스트
  • 초기 서비스 검증
  • FAQ 검색/답변 중심

9.2 중규모 운영형

대상:

  • 상담원 100~200명
  • 정책/상품/상담 스크립트/이력 통합
  • 실시간 추천답변 사용

App Worker

  • 수량: 4~6대
  • 사양: 16 vCPU / 64GB RAM / 500GB SSD

OpenSearch Node

  • 수량: 3대
  • 사양: 16 vCPU / 128GB RAM / 2TB NVMe

PostgreSQL Node

  • 수량: 2~3대
  • 사양: 16 vCPU / 64GB RAM / 1TB NVMe

Redis Node

  • 수량: 3대 또는 app 노드 내 분리
  • 사양: 4~8 vCPU / 16~32GB RAM

적합한 상황

  • 실제 운영 콜센터
  • 상담량 증가
  • 문서량 및 검색량 증가

9.3 대규모 운영형

대상:

  • 상담원 300~500명 이상
  • 다부서/멀티테넌트
  • 품질 평가/자동 요약까지 포함

App Worker

  • 수량: 6~10대
  • 사양: 16~32 vCPU / 64~128GB RAM / 500GB~1TB SSD

Search Node

  • 수량: 3~5대
  • 사양: 32 vCPU / 128~256GB RAM / 2~4TB NVMe

PostgreSQL HA

  • 수량: 3대
  • 사양: 16 vCPU / 64GB RAM / 1TB NVMe

Redis

  • 수량: 3대
  • 사양: 8 vCPU / 32GB RAM

10. Pod 리소스 권장값

10.1 Web UI

  • replicas: 2~3
  • requests: 200m / 256Mi
  • limits: 1 CPU / 1Gi

10.2 API Backend

  • replicas: 2~4
  • requests: 500m / 1Gi
  • limits: 2 CPU / 4Gi

10.3 RAG Orchestrator

  • replicas: 2~4
  • requests: 1 CPU / 2Gi
  • limits: 4 CPU / 8Gi

10.4 Reranker

  • replicas: 2
  • requests: 2 CPU / 4Gi
  • limits: 4 CPU / 8Gi

10.5 Embedding Worker

  • replicas: 1~2
  • requests: 2 CPU / 4Gi
  • limits: 4 CPU / 8Gi

10.6 PostgreSQL

  • replicas: 1~3(Stateful)
  • requests: 4 CPU / 16Gi
  • limits: 8 CPU / 32Gi

10.7 OpenSearch

  • replicas: 3(Stateful)
  • requests: 4~8 CPU / 16~32Gi
  • limits: 8~16 CPU / 32~64Gi

10.8 Redis

  • replicas: 1~3(Stateful)
  • requests: 1 CPU / 4Gi
  • limits: 2 CPU / 8Gi

11. 요청 처리 흐름

상담원 질문이 들어왔을 때 시스템 내부 동작은 아래와 같습니다.

1. 상담원이 질문 입력
2. Web UI → API Backend 전송
3. 사용자 인증/권한 확인
4. 고객 정보/상담 이력 조회
5. RAG Orchestrator 호출
6. Query Rewrite 수행
7. Hybrid Search 수행
8. Top-K 문서 수집
9. Reranker로 문서 재정렬
10. Prompt Builder가 최종 프롬프트 생성
11. Gemini API 호출
12. 답변 초안 + 근거 문서 + 출처 반환
13. 상담원이 검토 후 고객에게 응답
14. 응답 로그/피드백 저장

 

12. 문서 적재 파이프라인

RAG의 품질은 모델보다 문서 파이프라인 품질에 더 크게 좌우됩니다.

12.1 입력 가능한 원천 데이터

  • PDF
  • DOCX
  • XLSX/CSV
  • HTML/사내 위키
  • 상품 정책 DB
  • FAQ DB
  • 상담 스크립트
  • 운영 공지
  • STT 변환 텍스트
  • 상담 이력 요약 데이터

12.2 처리 단계

[원본 문서]
   ↓
[Parser]
   ↓
[정제 / Normalization]
   ↓
[개인정보 마스킹]
   ↓
[Chunking]
   ↓
[Embedding]
   ↓
[Index 저장]

12.3 각 단계 설명

Parser

문서 형식별 본문을 추출합니다.

정제

  • 머리말/꼬리말 제거
  • 중복 문단 제거
  • 표와 리스트 정규화
  • 깨진 문자 정리

개인정보 마스킹

  • 전화번호
  • 주민번호
  • 이메일
  • 주소
  • 고객 실명

Chunking

권장:

  • 500~1000 tokens
  • overlap 50~150 tokens

너무 짧으면 문맥이 끊기고,
너무 길면 검색 정밀도가 떨어집니다.

Embedding

문서 chunk를 의미 벡터로 변환합니다.

Index 저장

  • vector index
  • keyword index
  • metadata(문서명, 버전, 부서, 권한, 작성일)

13. Gemini API 연동 방식

13.1 기본 구조

[RAG Orchestrator]
      │
      ▼
[LLM Adapter / Gemini Client]
      │
      ▼
[Google Gemini API]
      │
      ▼
[응답 텍스트 반환]

13.2 권장 연동 방식

  • API Key는 코드에 직접 넣지 않음
  • Kubernetes Secret 사용
  • 필요 시 별도 LLM Gateway 두어
    • rate limit 제어
    • retry/backoff
    • 비용 제어
    • 모델 라우팅 처리

13.3 Python 예시 코드

import os
import google.generativeai as genai

genai.configure(api_key=os.getenv("GEMINI_API_KEY"))

model = genai.GenerativeModel("gemini-1.5-pro")

def generate_answer(question: str, context_docs: list[str]) -> str:
    context = "\n\n".join(context_docs)

    prompt = f"""
당신은 상담원 보조 AI입니다.

[고객 질문]
{question}

[근거 문서]
{context}

[규칙]
- 반드시 제공된 문서에 근거해 답변하세요.
- 근거가 부족하면 '확인 필요'라고 답변하세요.
- 상담원이 그대로 참고할 수 있게 정리하세요.
- 출처 문서명을 함께 요약하세요.

[답변]
"""

    response = model.generate_content(prompt)
    return response.text

 

13.4 Kubernetes Secret 예시

kubectl create secret generic gemini-secret \
  --from-literal=api-key=YOUR_GEMINI_API_KEY \
  -n rag-app

13.5 Deployment 환경변수 예시

apiVersion: apps/v1
kind: Deployment
metadata:
  name: rag-orchestrator
  namespace: rag-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: rag-orchestrator
  template:
    metadata:
      labels:
        app: rag-orchestrator
    spec:
      containers:
      - name: rag-orchestrator
        image: myrepo/rag-orchestrator:latest
        env:
        - name: GEMINI_API_KEY
          valueFrom:
            secretKeyRef:
              name: gemini-secret
              key: api-key
        ports:
        - containerPort: 8080

 

14. HPA / PDB / 안정성 권장안

14.1 HPA 예시

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: rag-orchestrator-hpa
  namespace: rag-app
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: rag-orchestrator
  minReplicas: 2
  maxReplicas: 8
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 70

14.2 PDB 예시

apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  name: rag-orchestrator-pdb
  namespace: rag-app
spec:
  minAvailable: 2
  selector:
    matchLabels:
      app: rag-orchestrator

14.3 권장 운영 원칙

  • stateless 앱은 최소 2 replicas 이상
  • zone/host anti-affinity 사용
  • OpenSearch와 PostgreSQL은 분리 노드 사용 권장
  • readiness/liveness probe 반드시 적용

15. 보안 설계

상담 데이터는 민감할 가능성이 높으므로 보안은 필수입니다.

15.1 필수 보안 요소

  • SSO/OIDC 인증
  • RBAC
  • 문서별 접근 권한
  • Prompt/Response 감사 로그
  • API Key 비밀 관리
  • 네트워크 통제
  • 개인정보 마스킹

15.2 문서 권한 모델 예시

문서 메타데이터에 아래 필드를 둡니다.

  • department: CS / 물류 / 정산 / 운영
  • visibility: public / internal / restricted
  • role: 상담원 / 관리자 / 운영자
  • product_scope: 특정 브랜드/카테고리

검색 시 사용자의 권한과 매칭되는 문서만 조회해야 합니다.

15.3 Kubernetes 보안 권장

  • non-root 실행
  • readOnlyRootFilesystem
  • imagePullSecret
  • NetworkPolicy
  • Secret 외부화(External Secrets/Vault)
  • namespace 분리
  • egress 최소화

16. 모니터링 / 운영 지표

16.1 인프라 지표

  • CPU / Memory 사용률
  • Pod restart
  • Node disk 사용량
  • PVC 사용량
  • 네트워크 지연

16.2 애플리케이션 지표

  • 질문당 평균 응답시간
  • p95 / p99 latency
  • 에러율
  • timeout 비율
  • Gemini API 호출 수
  • Gemini API 오류율
  • retry 발생 수

16.3 검색 지표

  • Retriever latency
  • Reranker latency
  • Top-K precision
  • 근거 없음 비율
  • 검색 실패 비율

16.4 운영 품질 지표

  • 상담원 채택률
  • 답변 수정률
  • 재질문율
  • 잘못된 답변 신고 수
  • FAQ 문서 미비율

16.5 추천 알람

  • API p95 > 3초
  • 전체 RAG 응답시간 > 6초
  • OpenSearch disk > 75%
  • OpenSearch heap > 85%
  • PostgreSQL replication lag > 10초
  • Gemini API 오류율 급증
  • 답변 실패율 > 2%

17. 비용 최적화 포인트

Gemini는 외부 API이기 때문에 호출량 관리가 중요합니다.

17.1 캐시 적용

질문 패턴이 유사한 경우 Redis 캐시를 사용할 수 있습니다.

예:

  • “반품 가능해요?”
  • “반품 정책 알려줘”
  • “환불 기준 뭐야?”

유사 질문 캐시 전략을 쓰면 호출 비용을 줄일 수 있습니다.

17.2 프롬프트 최적화

  • Top-K를 과도하게 늘리지 않기
  • 문서 chunk 크기 최적화
  • 시스템 프롬프트 최소화
  • 꼭 필요한 문서만 LLM에 전달

17.3 검색 품질 개선

검색 품질이 낮으면 LLM 호출량이 늘어도 정확도가 오르지 않습니다.
따라서 비용 절감의 핵심은 모델보다 검색 정확도입니다.

18. 추천 구현 스택

프론트엔드

  • React
  • Next.js

백엔드

  • FastAPI 또는 Spring Boot

검색/벡터

  • OpenSearch
  • 또는 PostgreSQL + pgvector

메타DB

  • PostgreSQL

캐시

  • Redis

문서 저장

  • S3 호환 스토리지
  • NAS
  • 또는 사내 오브젝트 스토리지

관측성

  • Prometheus
  • Grafana
  • Loki

배포/운영

  • Kubernetes
  • Helm
  • Argo CD

LLM

  • Google Gemini API

19. 권장 배포 디렉터리 구조

rag-system/
├─ apps/
│  ├─ web-ui/
│  ├─ api-backend/
│  ├─ rag-orchestrator/
│  ├─ ingestion-worker/
│  └─ reranker/
│
├─ helm/
│  ├─ web-ui/
│  ├─ api-backend/
│  ├─ rag-orchestrator/
│  ├─ postgresql/
│  ├─ opensearch/
│  ├─ redis/
│  └─ observability/
│
├─ manifests/
│  ├─ namespace.yaml
│  ├─ ingress.yaml
│  ├─ gateway.yaml
│  ├─ networkpolicy.yaml
│  ├─ hpa.yaml
│  ├─ pdb.yaml
│  ├─ secretstore.yaml
│  └─ rbac.yaml
│
├─ docs/
│  ├─ architecture.md
│  ├─ runbook.md
│  ├─ security.md
│  ├─ dr.md
│  └─ operations.md
│
└─ scripts/
   ├─ sync-docs.sh
   ├─ rebuild-index.sh
   └─ backup.sh

 

20. 구축 단계별 로드맵

1단계: PoC

목표:

  • FAQ/정책 문서 기반 답변 초안 생성
  • 출처 표시
  • 상담원 테스트 가능 상태

구성:

  • Web UI
  • API
  • OpenSearch 또는 pgvector
  • RAG Orchestrator
  • Gemini 연동

2단계: 운영형 전환

추가:

  • SSO
  • 권한 필터링
  • Redis 캐시
  • 감사 로그
  • 모니터링/알람
  • HPA/PDB

3단계: 고도화

추가:

  • 상담 내용 자동 요약
  • 고객 감정 분석
  • 추천 응답
  • CRM 자동 입력
  • 관리자 품질 평가 대시보드

21. 실무 체크리스트

아키텍처

  • [ ] UI/API/RAG/Search/Data 계층 분리
  • [ ] stateless/stateful 분리 배치
  • [ ] Gemini 외부 호출 경로 통제

데이터

  • [ ] 문서 최신화 파이프라인 존재
  • [ ] 문서 권한 메타데이터 존재
  • [ ] 중복/오래된 문서 정리 정책 존재

보안

  • [ ] API Key Secret 처리
  • [ ] 개인정보 마스킹
  • [ ] SSO 적용
  • [ ] NetworkPolicy 적용

운영

  • [ ] Prometheus/Grafana 구축
  • [ ] PVC 사용량 알람
  • [ ] OpenSearch heap/disk 알람
  • [ ] PostgreSQL 백업 및 복구 점검

품질

  • [ ] 답변 출처 표시
  • [ ] “근거 없음” 응답 정책
  • [ ] 상담원 피드백 수집
  • [ ] 잘못된 답변 분석 루프

22. 가장 현실적인 추천안

처음부터 모든 걸 크게 시작할 필요는 없습니다.
가장 현실적인 추천안은 아래와 같습니다.

추천 아키텍처

  • K8s Master 3대
  • App Worker 4대
  • OpenSearch 3대
  • PostgreSQL 2대
  • Redis 3노드 또는 내장 분리
  • Gemini 외부 API 사용
  • OpenSearch 기반 하이브리드 검색
  • FastAPI + React 조합

이유

  • GPU 불필요
  • 빠르게 PoC 가능
  • 운영형으로 확장 가능
  • 검색/권한/보안 고도화가 쉬움

23. 최종 요약

이 상담원 RAG 시스템은 다음 원칙으로 설계하는 것이 가장 좋습니다.

  1. LLM은 외부 Gemini 사용
    • GPU 없이 시작
    • 운영 단순화
  2. 검색 품질이 핵심
    • OpenSearch 기반 하이브리드 검색 추천
    • Reranker 적용 권장
  3. Kubernetes는 무상태/상태저장 계층을 분리
    • app / data / security / observability namespace 구분
    • HPA / PDB / NetworkPolicy 적용
  4. 문서 품질이 답변 품질을 결정
    • 문서 정제
    • 권한 분리
    • chunk 설계
    • 메타데이터 관리
  5. 운영형 시스템으로 가려면 모니터링/보안/피드백 루프 필수
    • Prometheus/Grafana
    • 감사 로그
    • 상담원 피드백
    • 품질 평가

24. 다음 확장 주제

이 문서 다음 단계로 자연스럽게 이어질 수 있는 작업은 아래와 같습니다.

  • Helm Chart 예시 작성
  • Argo CD GitOps 배포 구조
  • OpenSearch 인덱스 설계서
  • FastAPI 샘플 프로젝트
  • Kubernetes YAML 샘플
  • 운영 Runbook
  • 장애 대응 체크리스트
  • 보안 정책 문서
  • DR/백업 설계서

25. 결론: 상담원 RAG 시스템은 “검색 품질 + 문서 품질 + 권한 통제 + Gemini 연동”을 중심으로 Kubernetes 위에 운영형으로 설계하는 것이 가장 현실적이고 성공 확률이 높습니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함