Ollama (로컬)
Ollama를 사용하면 자신의 기기에서 오픈소스 LLM을 로컬로 실행할 수 있습니다. AISCouncil는 브라우저에서 직접 로컬 Ollama 인스턴스에 연결합니다 -- 클라우드 API 키가 필요 없으며 데이터가 기기를 떠나지 않습니다.
로컬로 실행하는 이유?
- 완전한 개인정보 보호 -- 대화가 기기를 떠나지 않음
- API 비용 없음 -- 무료 사용, 토큰당 청구 없음
- 속도 제한 없음 -- 하드웨어에 의해서만 제한
- 오프라인 작동 -- 모델 다운로드 후 인터넷 연결 불필요
- API 키 없음 -- 관리하거나 교체할 것 없음
Ollama 설치
- ollama.com에서 Ollama 다운로드 및 설치
- 하나 이상의 모델 가져오기:
# 인기 있는 일반 목적 모델
ollama pull llama3.3 # Meta Llama 3.3 (70B)
ollama pull llama3.2 # Meta Llama 3.2 (3B, 경량)
ollama pull mistral # Mistral 7B
ollama pull gemma2 # Google Gemma 2
# 코드 중심 모델
ollama pull codellama # Meta Code Llama
ollama pull deepseek-coder # DeepSeek Coder
ollama pull qwen2.5-coder # Alibaba Qwen 2.5 Coder
# 추론 모델
ollama pull deepseek-r1 # DeepSeek R1 (다양한 크기)
# Vision 모델
ollama pull llava # LLaVA (vision + language)
ollama pull llama3.2-vision # Llama 3.2 Vision
- Ollama 서버 시작 (대부분의 시스템에서 설치 후 자동 실행):
ollama serve
서버는 기본적으로 http://localhost:11434에서 실행됩니다.
CORS 설정
브라우저는 교차 출처 제한을 적용하므로 Ollama가 작동하려면 AISCouncil 출처를 반드시 허용해야 합니다. Ollama 시작 전에 OLLAMA_ORIGINS 환경 변수를 설정하세요:
macOS / Linux:
OLLAMA_ORIGINS=* ollama serve
영구적으로 설정 (macOS/Linux), 쉘 프로필(~/.bashrc, ~/.zshrc)에 추가:
export OLLAMA_ORIGINS=*
Windows (PowerShell):
$env:OLLAMA_ORIGINS="*"
ollama serve
Windows (영구적): 시스템 속성 > 환경 변수를 통해 OLLAMA_ORIGINS를 시스템 환경 변수로 설정합니다.
이 설정이 없으면 브라우저가 CORS 오류로 Ollama API에 대한 모든 요청을 차단합니다.
API 키 불필요
Ollama는 API 키가 필요하지 않습니다. AISCouncil는 키 필드에 내부 자리 표시자 값(ollama)을 사용합니다. API 키 설정에 아무것도 입력할 필요가 없습니다.
자동 모델 감지
페이지 로드 시 AISCouncil는 Ollama 엔드포인트에서 GET /api/tags를 쿼리하여 로컬에 설치된 모든 모델을 감지합니다. 이 모델들은 Ollama를 제공업체로 선택하면 모델 선택기에 자동으로 나타납니다.
모델이 하드코딩되지 않습니다 -- 로컬에서 가져온 것이 무엇이든 이용할 수 있습니다. 앱이 열려 있는 동안 새 모델을 가져오면 감지하기 위해 페이지를 다시 로드하세요.
사용자 정의 엔드포인트
Ollama가 기본이 아닌 주소(예: 다른 포트, 원격 기기 또는 리버스 프록시 뒤)에서 실행 중인 경우 엔드포인트를 구성할 수 있습니다:
- 설정 > AI 모델 열기
- Ollama 섹션 찾기
- 사용자 정의 엔드포인트 URL 입력 (예:
http://192.168.1.100:11434)
사용자 정의 엔드포인트는 ais-ollama-endpoint 키 아래 localStorage에 저장됩니다.
원격 기기에서 Ollama를 실행하는 경우 다음을 확인하세요:
- Ollama 서버가
0.0.0.0에 바인딩됨 (localhost만이 아님):OLLAMA_HOST=0.0.0.0 ollama serve - 원격 기기에
OLLAMA_ORIGINS=*가 설정됨 - 포트(기본 11434)가 브라우저의 네트워크에서 액세스 가능
지원되는 모델
Ollama 모델 라이브러리에서 이용 가능한 모든 모델을 사용할 수 있습니다. 인기 있는 선택:
| 카테고리 | 모델 | 설명 |
|---|---|---|
| 일반 | Llama 3.3, Mistral, Gemma 2, Phi-3 | 모든 목적의 채팅 및 추론 |
| 코드 | CodeLlama, DeepSeek Coder, Qwen 2.5 Coder, StarCoder | 코드 생성 및 분석 |
| 추론 | DeepSeek R1, Qwen2.5 | 사슬-of-thought 추론 |
| Vision | LLaVA, Llama 3.2 Vision | 이미지 이해 |
| 소형 | Phi-3 Mini, Gemma 2B, TinyLlama | 저사양 기기 |
하드웨어 요구사항
Ollama 성능은 로컬 하드웨어에 전적으로 의존합니다:
| 모델 크기 | 필요 RAM | 권장 GPU | 예시 모델 |
|---|---|---|---|
| 1-3B | 4 GB | 선택사항 | TinyLlama, Phi-3 Mini |
| 7-8B | 8 GB | 6+ GB VRAM | Mistral 7B, Llama 3.1 8B |
| 13B | 16 GB | 8+ GB VRAM | CodeLlama 13B |
| 70B | 64 GB | 40+ GB VRAM | Llama 3.3 70B |
최상의 경험을 위해 GPU의 VRAM에 맞는 모델을 사용하세요. CPU 전용 추론은 작동하지만 훨씬 느립니다. 4비트(Q4)로 양자화된 모델은 전체 정밀도 버전의 대략 절반의 RAM이 필요합니다.
설정
봇 프로필을 만들 때 Ollama를 제공업체로 선택하고 로컬에서 이용 가능한 모델 중에서 선택합니다. Ollama는 SSE 스트리밍이 포함된 OpenAI 호환 Chat Completions API를 사용하므로 채팅 인터페이스 관점에서 클라우드 제공업체와 동일하게 작동합니다.
제한사항
- Ollama는 브라우저에서 실행 중이고 접근 가능해야 함
- 모델 품질과 속도는 로컬 하드웨어에 전적으로 의존
- Vision 및 도구 호출 지원은 모델에 따라 다름 -- 모든 Ollama 모델이 이 기능을 지원하지 않음
- 모델 로드 후 첫 번째 응답은 느릴 수 있음 (모델이 첫 사용 시 메모리에 로드됨)
- 로컬 추론 모델에 대한 사고/추론 UI 통합 없음 (추론 출력이 인라인으로 표시됨)
문제 해결
| 문제 | 해결 방법 |
|---|---|
| "Failed to fetch" 또는 CORS 오류 | OLLAMA_ORIGINS=* 설정 및 Ollama 재시작 |
| 드롭다운에 모델 없음 | ollama serve가 실행 중이고 하나 이상의 모델을 가져왔는지 확인 |
| 매우 느린 응답 | 모델이 GPU VRAM에 맞지 않을 수 있음; 더 작은 모델 또는 양자화 버전 시도 |
| 연결 거부 | Ollama가 예상 포트(기본: 11434)에서 실행 중인지 확인 |
| 사용자 정의 엔드포인트 작동 안 함 | URL에 프로토콜(http://)이 포함되고 후행 슬래시가 없는지 확인 |