반응형
1. Ollama란 무엇인가?
Ollama는 대규모 언어 모델(LLM)을 간단한 명령어만으로 로컬 환경에서 실행할 수 있도록 돕는 플랫폼입니다.
복잡한 설치나 클라우드 연결 없이도 LLM을 테스트하고, API로 연동하여 개발에 활용할 수 있게 설계되어 있습니다.
Ollama의 주요 특징
- 로컬 실행 지원: Llama 3, Gemma, Mistral 등 다양한 모델을 설치 없이 실행 가능
- 컨테이너 기반 모델 관리: Docker처럼 모델 단위로 pull/run 방식 사용
- OpenAI API 호환: 기존 OpenAI 기반 코드와 거의 동일하게 사용할 수 있음
- Windows, macOS, Linux 지원
- 멀티모달 모델 실행 지원 (이미지, 비디오 등 활용)
2. 설치 방법 및 버전 확인
설치
macOS / Linux에서는 아래 명령어로 설치합니다:
curl -fsSL https://ollama.com/install.sh | sh
Windows에서는 공식 홈페이지(https://ollama.com/)에서 설치파일을 다운로드 받아 설치합니다.
버전 확인
설치가 완료되면 다음 명령어로 설치된 버전을 확인할 수 있습니다:
ollama --version
예시 출력:
ollama version 0.9.1
3. 사용법 예시
모델 다운로드
예: Meta의 Llama 3 모델 다운로드
ollama pull llama3
모델 실행
ollama run llama3
실행 후에는 아래와 같이 프롬프트가 나타나며 대화가 가능합니다:
>>> 안녕하세요. 오늘 날씨 어때요?
다른 모델 실행 예시
- Mistral:
ollama pull mistral
ollama run mistral
- Gemma:
ollama pull gemma
ollama run gemma
OpenAI API 호환 방식 사용 (프로그래밍 예시: Python)
import openai
openai.api_base = "http://localhost:11434/v1"
openai.api_key = "ollama"
response = openai.ChatCompletion.create(
model="llama3",
messages=[{"role": "user", "content": "서울의 인구는 얼마야?"}]
)
print(response['choices'][0]['message']['content'])
4. 버전별 주요 변경사항 (2025년 6월 기준)
버전 | 변경사항 요약 |
---|---|
0.9.1 | 오류 메시지 명확화, Windows 실행 관련 버그 수정, 호출 안정성 개선 |
0.9.0 | ‘Thinking’ 모드 추가 (추론 흐름 추적 가능) |
0.6.6 | IBM Granite 3.3, DeepCoder 모델 추가 / 모델 다운로드 속도 향상 |
0.6.5 | Mistral Small 3.1 지원, 메모리 누수 수정 |
0.6.0 | 멀티모달 지원 시작 (이미지 입력 가능 모델 등장) |
5. 유용한 팁
- 모델명 뒤에 버전을 명시할 수 있음: 예)
llama3:instruct
- 한 번 pull 한 모델은 캐시에 저장되므로, 다음 실행 시 빠르게 작동
- OpenAI API 방식으로 연동할 때는 포트 11434가 열려 있어야 함
- 모델의 크기(7B, 13B 등)에 따라 메모리 사용량이 달라지므로 로컬 사양 고려 필요
6. 정리
Ollama는 복잡한 설정 없이 다양한 LLM을 로컬에서 실행하고, 빠르게 실험 및 개발할 수 있게 해주는 경량화 도구입니다.
OpenAI API와의 높은 호환성과 다양한 모델 라인업 덕분에, 개인 개발자부터 기업용 실험까지 활용 폭이 넓습니다.
설치 후 바로 실행해보며 구조를 익히는 것을 추천합니다.
반응형
'개발 창고 > AI' 카테고리의 다른 글
NVIDIA-SMI 완전 정복: GPU 상태 확인 및 리소스 모니터링 가이드 (3) | 2025.06.14 |
---|---|
vLLM: 고성능 LLM 추론을 위한 오픈소스 라이브러리 (1) | 2025.06.13 |
[AI] RNN(Recurrent Neural Network)과 MLP(Multi-Layer Perceptron)의 차이 (1) | 2025.05.30 |
[DL] 임베딩(Embedding)이란 무엇인가? (2) | 2025.05.29 |
[AI] 나이브 베이즈(Naive Bayes) (3) | 2025.05.28 |