비용 0 · 프라이버시 · 운영 배포
박수현 · (사)한국정보공학기술사회 · 2026
🎯 목표: 비용·프라이버시 선택지를 파악하고, 서비스를 로컬 환경 밖으로 배포할 준비를 갖춘다.
💡 단일 정답은 없다 — 민감도·예산·품질 요구에 따라 선택하며, 하이브리드 구성도 일반적이다.
# 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 이 추상화
nomic-embed-text)으로 검색 비용도 0📁 참고:
7.RAG/7.local_model/1.ollama/
| 수준 | 크기(7B) | 특징 |
|---|---|---|
| FP16 | ~14GB | 원본 품질 |
| Q8 | ~8GB | 거의 동일 |
| Q4 | ~5GB | 약간 손실, 실용적 |
🔑 노트북 RAG 데모에는 대체로 Q4 7B로 충분하다.
chroma_db·uploads 볼륨 영속화requirements.txt)| 항목 | 점검 |
|---|---|
| 비밀값 | .env·시크릿 매니저로 분리, 깃 제외 |
| 데이터 영속 | chroma_db·uploads 볼륨 마운트 |
| 비용 | 토큰·호출 모니터링 + 상한 |
| 안정성 | 에러 처리·타임아웃·재시도 |
| 관측성 | 요청·도구 호출 로그/추적 |
| 모델 선택 | 작업 난이도별 모델·로컬 혼용 |
💡 "로컬에서 동작함"과 "서비스로 운영함"의 격차가 이 표에 담겨 있다. 데모 단계에서는 과도하지 않게, 운영 단계에서는 빠짐없이 적용한다.