생성형 AI 기반 RAG 개발자 과정
Session 31 · 로컬 모델 · 배포 고려
생성형 AI 기반 RAG 개발자 과정

로컬 모델
· 배포 고려

Session 31 / 33 — Day 4

비용 0 · 프라이버시 · 운영 배포

박수현 · (사)한국정보공학기술사회 · 2026

LLM 이론 · LangChain · ChromaDB CRUD · Agent — 4일 핸즈온
생성형 AI 기반 RAG 개발자 과정·Session 31 · 로컬 모델 · 배포 고려출처: Day 4로컬·배포

이번 시간을 마치면

💻 로컬 모델

  • Ollama 로 로컬 LLM RAG
  • 양자화(Q4/Q8) 트레이드오프
  • 로컬 임베딩 모델

🚀 배포·운영

  • 로컬 vs 클라우드 선택 기준
  • 환경변수·비용·모니터링
  • 컨테이너로 띄우기

🎯 목표: 비용·프라이버시 선택지를 파악하고, 서비스를 로컬 환경 밖으로 배포할 준비를 갖춘다.

생성형 AI 기반 RAG 개발자 과정·Session 31 · 로컬 모델 · 배포 고려출처: Day 4로컬·배포

API와 로컬의 선택 기준

flowchart TB Q{"요구사항?"} Q -->|"민감 데이터·오프라인"| L["로컬 LLM<br/>(Ollama)"] Q -->|"최고 품질·빠른 개발"| A["클라우드 API<br/>(GPT·Claude)"] L --> LP["✅ 비용 0 · 데이터 안 나감<br/>❌ 품질·속도는 GPU 따라"] A --> AP["✅ 최고 성능 · 운영 부담 0<br/>❌ 비용 · 데이터 외부 전송"] style L fill:#00b89422,stroke:#00b894 style A fill:#74b9ff22,stroke:#74b9ff

💡 단일 정답은 없다 — 민감도·예산·품질 요구에 따라 선택하며, 하이브리드 구성도 일반적이다.

생성형 AI 기반 RAG 개발자 과정·Session 31 · 로컬 모델 · 배포 고려출처: Day 4로컬·배포

모델 선언부 한 줄 교체 (스니펫)

# 1. 모델 받기 (한 번)
ollama pull qwen2.5:7b
ollama pull nomic-embed-text
from langchain_ollama import ChatOllama, OllamaEmbeddings

llm = ChatOllama(model="qwen2.5:7b")          # API → 로컬
emb = OllamaEmbeddings(model="nomic-embed-text")
# 나머지 RAG 체인은 그대로 — LangChain 이 추상화
  • LangChain 추상화로 모델만 교체, 체인 코드는 그대로 유지
  • 로컬 임베딩(nomic-embed-text)으로 검색 비용도 0

📁 참고: 7.RAG/7.local_model/1.ollama/

생성형 AI 기반 RAG 개발자 과정·Session 31 · 로컬 모델 · 배포 고려출처: Day 4로컬·배포

Q4 / Q8 — 정확도와 메모리의 균형

양자화란

  • 가중치 정밀도를 낮춰 크기·메모리 ↓
  • 7B 모델: FP16 ~14GB → Q4 ~5GB
  • 일반 노트북에서도 구동 가능
수준 크기(7B) 특징
FP16 ~14GB 원본 품질
Q8 ~8GB 거의 동일
Q4 ~5GB 약간 손실, 실용적

🔑 노트북 RAG 데모에는 대체로 Q4 7B로 충분하다.

생성형 AI 기반 RAG 개발자 과정·Session 31 · 로컬 모델 · 배포 고려출처: Day 4로컬·배포

컨테이너 기반 이식 배포

flowchart LR APP["Flask RAG 앱<br/>+ chroma_db + uploads"] --> D["🐳 Docker 이미지"] D --> SRV["서버 / 클라우드"] ENV[".env<br/>(API Key·설정)"] -.주입.- SRV style D fill:#74b9ff22,stroke:#74b9ff style SRV fill:#00b89422,stroke:#00b894

점검 항목

  • 환경변수로 키·설정 분리(코드 하드코딩 금지)
  • chroma_db·uploads 볼륨 영속화
  • 의존성 버전 고정(requirements.txt)

운영 관점

  • 비용 모니터링 (토큰·호출 수)
  • 로그·추적 (LangSmith 등)
  • 동시 사용자·속도 측정
생성형 AI 기반 RAG 개발자 과정·Session 31 · 로컬 모델 · 배포 고려출처: Day 4로컬·배포

데모에서 서비스로 전환할 때

항목 점검
비밀값 .env·시크릿 매니저로 분리, 깃 제외
데이터 영속 chroma_db·uploads 볼륨 마운트
비용 토큰·호출 모니터링 + 상한
안정성 에러 처리·타임아웃·재시도
관측성 요청·도구 호출 로그/추적
모델 선택 작업 난이도별 모델·로컬 혼용

💡 "로컬에서 동작함"과 "서비스로 운영함"의 격차가 이 표에 담겨 있다. 데모 단계에서는 과도하지 않게, 운영 단계에서는 빠짐없이 적용한다.

생성형 AI 기반 RAG 개발자 과정·Session 31 · 로컬 모델 · 배포 고려출처: Day 4로컬·배포

핵심 5가지

  1. ✅ 로컬 LLM(Ollama) — 비용 0·데이터 안 나감, 품질은 GPU 의존
  2. ✅ LangChain 추상화로 모델만 교체하면 로컬 RAG 전환
  3. 양자화(Q4/Q8)로 노트북에서도 7B 구동
  4. ✅ 배포 = 컨테이너 + 환경변수 + 볼륨 영속
  5. ✅ 운영은 비밀값·비용·관측성을 빠짐없이
1 / 8

목차 — Session 31

키보드 단축키 (뷰어)

네비게이션

다음 슬라이드 Space
이전 슬라이드 PgUp
처음 / 끝Home End
목차M

화면

전체화면F
테마 전환D
글자 크게 / 작게+ -
원래 크기 (100%)=
도움말 (열기/닫기)H ?
닫기 (모든 오버레이)Esc
강의 종료 (메인으로)Q

키보드 단축키 (강사)

네비게이션

다음 슬라이드 Space
이전 슬라이드 PgUp
처음 / 끝Home End
목차 (Menu)M
전체화면F

화면

테마 전환D
도움말 (열기/닫기)H ?
닫기 (모든 오버레이)Esc
툴바 펼치기 / 접기[ ]
강의 종료 (메인으로)Q

화면 확대

글자 크게 / 작게+ -
원래 크기 (100%)=
돋보기 (마우스 따라 2× 확대)V

발표자 도구 (PPT 호환)

화이트 화면W ,
블랙 화면B .
레이저 포인터L
펜 모드 ON/OFFP
펜 색상1 2 3 4
펜 자국 지우기 (현재 슬라이드)E
펜 — 마지막 스트로크 취소 (Undo)Z
펜 — 다시 (Redo)R
⏰ 쉬는시간 타이머T
📱 노트뷰 QR (휴대폰 동기화)N

PDF / 종료

PDF 저장 (슬라이드)Ctrl+P
강의 종료 (메인으로)Q X