모델 선택 전략 — 비용·성능·프라이버시 트레이드오프
Dify CUDA 환경 구축으로 로컬 LLM을 선택할 수 있는데 LLM 선택은 단순히 “어떤 모델이 좋은가”의 문제가 아닙니다. 비용, 성능, 데이터 프라이버시, 응답 속도, 컨텍스트 길이 등 여러 요소를 고려해서 용도별로 최적 모델을 배치하는 것이 핵심입니다.
| 모델 유형 | 비용 | 성능 | 프라이버시 | 속도 | 적합한 용도 |
|---|---|---|---|---|---|
| Ollama 로컬 (7B) | 무료 | 중 | 완전 로컬 | GPU: 빠름 / CPU: 느림 | 내부 문서, 민감 데이터 |
| Ollama 로컬 (14B+) | 무료 | 높음 | 완전 로컬 | GPU 필수 | 고품질 로컬 처리 |
| Claude Haiku | 저렴 | 중 | 외부 전송 | 매우 빠름 | 간단한 분류, 요약 |
| Claude Sonnet | 중간 | 높음 | 외부 전송 | 빠름 | RAG, 코드, 분석 |
| GPT-4o-mini | 저렴 | 중-상 | 외부 전송 | 빠름 | 일반 챗봇, 요약 |
| GPT-4o | 비쌈 | 최고 | 외부 전송 | 중간 | 복잡한 추론, 이미지 |
임베딩: bge-m3 로컬 (비용 0원, 한국어 포함) + LLM: 민감 데이터는 Ollama qwen2.5:14b, 일반 처리는 Claude Sonnet, 대량 처리는 Claude Haiku — 이 구성으로 비용과 품질을 동시에 최적화할 수 있습니다.
Ollama 설치 & GPU 최적화
Ollama 설치 (모든 OS 공통)
# 공식 설치 스크립트 curl -fsSL https://ollama.com/install.sh | sh # 서비스 등록 sudo systemctl enable --now ollama # 버전 확인 ollama --version
NVIDIA GPU CUDA/VRAM 매핑 — 모델별 최소 VRAM
| 모델 | 파라미터 | 양자화 | 최소 VRAM | 권장 GPU | CPU 폴백 |
|---|---|---|---|---|---|
| qwen2.5:7b | 7B | Q4_K_M | 5GB | RTX 3060 6GB+ | 가능 (느림) |
| qwen2.5:14b | 14B | Q4_K_M | 9GB | RTX 3060 12GB | 가능 (매우 느림) |
| mistral-nemo:12b | 12B | Q4_K_M | 7GB | RTX 3060 12GB | 가능 |
| gemma4:e4b | 4B | E4B | 10GB | RTX 3060 12GB | 비권장 |
| llama3.1:70b | 70B | Q4_K_M | 40GB+ | A100 / 2x RTX 4090 | 불가 |
| bge-m3 | 567M | F16 | 1.5GB | 어떤 GPU든 | 빠름 |
Ollama GPU 최적화 환경변수
# Ollama 서비스 환경변수 편집 sudo systemctl edit ollama # 아래 내용 추가 # [Service] # Environment="OLLAMA_HOST=0.0.0.0" # 외부 접근 허용 # Environment="OLLAMA_FLASH_ATTENTION=1" # Flash Attention 활성화 # Environment="OLLAMA_NUM_PARALLEL=2" # 동시 요청 처리 수 # Environment="OLLAMA_MAX_LOADED_MODELS=1" # 메모리 보존 # Environment="OLLAMA_KEEP_ALIVE=24h" # 모델 메모리 유지 시간 # Environment="CUDA_VISIBLE_DEVICES=0" # GPU 0번만 사용 # 재시작 sudo systemctl restart ollama # GPU 인식 확인 ollama ps # 모델 실행 중이면 GPU 사용량 표시 nvidia-smi # GPU 메모리 사용량 확인
Dify에서 Ollama 연결 Base URL
| 구성 | Base URL | 설명 |
|---|---|---|
| Dify Docker + Ollama 호스트 설치 | http://host.docker.internal:11434 | Linux: host.docker.internal 동작 확인 필요 |
| Linux Docker + Ollama 호스트 | http://172.17.0.1:11434 | Docker 브릿지 게이트웨이 IP |
| 별도 서버에 Ollama | http://올라마서버IP:11434 | 방화벽에서 11434 포트 허용 필요 |
| Docker Compose 동일 네트워크 | http://ollama:11434 | 컨테이너 이름으로 직접 통신 |
Ollama 모델 카탈로그 — 최적 선택 가이드
한국어/영어 LLM 추천 모델
# ── 한국어/영어 균형 (RTX 3060 12GB 적합) ── ollama pull qwen2.5:7b # 가장 가볍고 빠름 ollama pull qwen2.5:14b-instruct-q4_K_M # 고품질, 한국어 최우수 # ── 영어 기술문서/논문 특화 ── ollama pull mistral-nemo:12b # 128K 컨텍스트 # ── 코드 생성 특화 ── ollama pull qwen2.5-coder:7b # 코드 생성 최적화 ollama pull deepseek-coder-v2:16b # 고성능 코드 모델 # ── 임베딩 모델 (RAG 필수) ── ollama pull bge-m3 # 한국어 포함 100개+ 언어 ollama pull nomic-embed-text # 영어 전용, 빠름 # 설치된 모델 목록 확인 ollama list
| 모델 | 한국어 | 영어 | 코딩 | VRAM | 컨텍스트 | 추천 용도 |
|---|---|---|---|---|---|---|
qwen2.5:14b-instruct-q4_K_M | 최우수 | 우수 | 우수 | ~9GB | 128K | 한국어 RAG, 종합 |
qwen2.5:7b | 우수 | 양호 | 양호 | ~5GB | 128K | 가볍고 빠른 처리 |
mistral-nemo:12b | 보통 | 최우수 | 우수 | ~7GB | 128K | 영어 문서, 논문 |
qwen2.5-coder:7b | 양호 | 우수 | 최우수 | ~5GB | 32K | 코드 생성/리뷰 |
OpenAI API 연동 & 호환 엔드포인트
OpenAI API는 Dify에서 가장 간단하게 연동됩니다. 또한 OpenAI 호환 엔드포인트 기능을 통해 vLLM, LM Studio, LocalAI, Azure OpenAI도 동일한 방식으로 연동할 수 있습니다.
platform.openai.com → API Keys → Create new secret key
발급 즉시 복사 필수. 이후 재확인 불가. 프로젝트별 키 분리 권장
Dify → 우측 상단 프로필 → Settings → Model Provider → OpenAI
API Key 입력 후 Save. gpt-4o, gpt-4o-mini, text-embedding-3 시리즈 자동 추가
사용량 모니터링 설정
platform.openai.com → Usage → 월별 한도 설정으로 예상치 못한 비용 방지
OpenAI 호환 엔드포인트 연동 (vLLM, LM Studio 등)
Model Provider: OpenAI-API-compatible Model Name: 실제 모델 이름 (예: qwen2.5-72b-instruct) API Key: 없으면 임의 값 입력 (예: none) API endpoint URL: └── vLLM: http://YOUR_SERVER:8000/v1 └── LM Studio: http://localhost:1234/v1 └── LocalAI: http://localhost:8080/v1 └── Azure: https://YOUR_RESOURCE.openai.azure.com/openai/deployments/YOUR_DEPLOY
| OpenAI 모델 | 컨텍스트 | 멀티모달 | 권장 용도 | 비용 수준 |
|---|---|---|---|---|
| gpt-4o | 128K | ✅ 이미지 | 복잡한 추론, 이미지 분석 | 높음 |
| gpt-4o-mini | 128K | ✅ 이미지 | 일반 챗봇, RAG, 코드 | 중간 |
| text-embedding-3-large | 8K | ❌ | 고품질 영어 임베딩 | 저렴 |
| text-embedding-3-small | 8K | ❌ | 대량 처리, 비용 절감 | 매우 저렴 |
Anthropic Claude API 연동
Claude는 200K 컨텍스트, 정밀한 지시 따르기, 뛰어난 한국어 품질이 강점입니다. 특히 긴 문서 처리와 정교한 프롬프트 엔지니어링이 필요한 작업에서 GPT-4o 대비 우수한 결과를 냅니다.
console.anthropic.com → API Keys → Create Key
sk-ant-로 시작하는 키 발급. 발급 즉시 복사
Dify → Settings → Model Provider → Anthropic
API Key 입력 후 Save
모델 선택 및 파라미터 조정
Temperature, Max Tokens, Top P 등 앱별로 최적값 설정
| Claude 모델 | 컨텍스트 | 특징 | 권장 용도 | 비용 |
|---|---|---|---|---|
| claude-opus-4 | 200K | 최고 성능, 복잡한 멀티스텝 추론 | 정교한 분석, 복잡한 워크플로우 | 최고 |
| claude-sonnet-4 | 200K | 성능/비용 최적, 한국어 우수 | RAG 챗봇, 코드, 문서 처리 | 중간 |
| claude-haiku-4-5 | 200K | 초고속, 저비용 | 분류, 요약, 간단한 Q&A | 낮음 |
Claude가 유리한 경우: 긴 문서(50페이지+) 분석, 정교한 지시 따르기, 한국어 자연스러운 응답, 복잡한 추론. GPT-4o가 유리한 경우: 이미지 분석(Vision), 함수 호출(Function Calling), Code Interpreter 기능이 필요한 경우. 비용 효율만 따진다면 Claude Haiku가 GPT-4o-mini 대비 동급 성능에 더 저렴합니다.
임베딩 모델 심층 비교 & 최적 선택
임베딩 모델은 RAG 검색 품질의 80%를 결정합니다. 특히 한국어 문서를 처리한다면 영어 전용 임베딩 모델을 사용해서는 안 됩니다 — 검색 결과가 현저히 나빠집니다.
| 임베딩 모델 | 언어 | Dimensions | Max Tokens | 실행 | 비용 | 품질 |
|---|---|---|---|---|---|---|
| bge-m3 (권장) | 100개+ 언어 | 1024 | 8192 | Ollama 로컬 | 무료 | 최고 |
| text-embedding-3-large | 주로 영어 | 3072 | 8191 | OpenAI API | 유료 | 높음 |
| text-embedding-3-small | 주로 영어 | 1536 | 8191 | OpenAI API | 저렴 | 중간 |
| nomic-embed-text | 영어 | 768 | 8192 | Ollama 로컬 | 무료 | 중간 |
| BAAI/bge-large-zh | 중국어/영어 | 1024 | 512 | 로컬 | 무료 | 중간 |
지식베이스 생성 후 임베딩 모델을 변경하면 기존의 모든 벡터가 새 모델과 호환되지 않아 전체 재인덱싱이 필요합니다. 대용량 지식베이스에서는 수 시간이 걸릴 수 있습니다. 처음부터 올바른 임베딩 모델을 선택하세요. 한국어가 포함되어 있다면 무조건 bge-m3를 권장합니다.
지식베이스 생성 & 인덱싱 파라미터 최적화
Knowledge → Create Knowledge → 데이터 소스 선택
파일 업로드(PDF/DOCX/TXT/MD), 웹 크롤링, Notion, GitHub 등 선택
청킹(Chunking) 설정
Automatic(권장) 또는 Custom — 문서 유형에 따라 최적 설정 다름 (아래 표 참고)
임베딩 모델 & 인덱싱 방식 선택
High Quality(벡터 + BM25 하이브리드) 또는 Economical(BM25만) — High Quality 권장
인덱싱 완료 대기 & Hit Testing
Available 상태 확인 후 Hit Testing 탭에서 검색 품질 반드시 확인
문서 유형별 최적 청킹 설정
| 문서 유형 | Chunk Size | Overlap | 이유 |
|---|---|---|---|
| 일반 문서 (보고서, 매뉴얼) | 1000~1500 | 200 | 문맥 충분히 포함 |
| 기술 문서 (API 문서, 코드) | 500~800 | 100 | 정확한 코드 블록 유지 |
| FAQ / Q&A 형식 | 200~400 | 50 | Q&A 쌍 분리 방지 |
| 법률 / 계약 문서 | 800~1200 | 150 | 조항 단위 분리 |
| 뉴스 / 블로그 | 600~1000 | 100 | 단락 단위 유지 |
멀티 모델 혼합 전략 — 비용 최적화 아키텍처
하나의 모델로 모든 작업을 처리하면 비용이 과도하게 발생하거나 품질이 떨어집니다. 작업 유형에 따라 적절한 모델을 배치하는 것이 최선입니다.
임베딩: bge-m3 (로컬, 무료)
간단한 Q&A: Claude Haiku (빠름, 저렴)
복잡한 분석: Claude Sonnet (균형)
민감 데이터: qwen2.5:14b (로컬, 무료)
임베딩: text-embedding-3-large (OpenAI)
모든 LLM 작업: Claude Opus 4 또는 GPT-4o
비용: 높지만 최고 품질
적합: 중요 비즈니스 결정 지원
임베딩: bge-m3 (Ollama, 로컬)
LLM: qwen2.5:14b (Ollama, 로컬)
비용: 서버비만 (API 비용 0원)
적합: 의료, 법무, 금융 데이터
임베딩: bge-m3 (로컬, 무료)
일반: gpt-4o-mini (저렴, 충분)
고품질 필요 시: Claude Sonnet
비용: 월 $10~30 수준
다음 단계: 모델 연동이 완료됐다면 다음 글에서 Workflow 노드 체이닝과 에이전트 오케스트레이션으로 실전 자동화 파이프라인을 구축합니다.
