
Ollama(올라마)는 로컬 PC(윈도우, 맥, 리눅스 등)에서 직접 대형 언어 모델(LLM)들을 손쉽게 다운로드하고 실행할 수 있게 해주는 도구입니다.
Ollama의 특징
모델 다운로드와 실행이 매우 간편: 터미널 한 줄 명령으로 유명한 오픈소스 LLM(예: Llama2, Mistral, Gemma 등)을 바로 받아 실행할 수 있습니다.
로컬 실행: 인터넷에 연결하지 않아도 개인 PC에서 LLM의 생성 AI 기능을 사용할 수 있어 개인정보 유출 걱정이 적습니다.
API 지원: Ollama에서 실행 중인 모델에 OpenAI 스타일 API로 접근할 수 있어, 기존 앱에 쉽게 연동 가능합니다.
경량화된 모델 최적화: PC 환경에서 효율적으로 작동하도록 모델 최적화가 되어 있습니다.
즉, Ollama는 개별 PC에서도 강력한 LLM의 생성형 AI 기능을 쉽고 빠르게 이용할 수 있게 해주는 플랫폼입니다.
Ollama 설치
모델 내려받기(Pull)
ollama pull 모델이름 명령으로 다운로드합니다.Ollama 서버 실행
LLM 모델 실행 및 관리
Ollama 프로세스는 여러 LLM 모델(다운로드된)을 관리할 수 있습니다.
단일 또는 여러 개의 모델을 동시에 로드/언로드 가능합니다.
API 요청 처리
사용자는 curl, Postman, 또는 애플리케이션(예: Langchain)에서 Ollama가 제공하는 OpenAI 호환 REST API 엔드포인트로 대화/프롬프트 요청을 보냅니다.
Ollama가 요청을 받아 모델에 입력을 전달하고, 결과(생성 텍스트 등)를 다시 반환합니다.
응용
Ollama는 내부적으로 Docker 컨테이너 방식을 지원합니다.
Ollama를 Docker 컨테이너로 실행할 수도 있고, Ollama가 여러 LLM 모델(특히 가상 머신 격리가 필요한 경우)을 각각 Docker 컨테이너로 관리하여 학습·생성 작업을 처리할 수도 있습니다
.
이렇게 하면, 여러 모델 또는 다양한 환경에서 충돌 없이 효율적으로 LLM을 실행할 수 있습니다.
아래는 Ollama의 기본 구조(관계도) 예시입니다.
┌─────────────────────────────┐
│ 사용자/앱/ │
│ (브라우저, Postman, Langchain)│
└────────────┬────────────────┘
│ (REST API 요청)
▼
┌─────────────────┐
│ Ollama 서버 │
│ ----------------│
│ REST API │
│ LLM 매니저 │
└────────┬────────┘
│ (모델 관리, 실행)
┌─────────────┼─────────────────────┐
│ │ │
▼ ▼ ▼
┌──────┐ ┌──────────┐ ┌──────────┐
│Llama2│ │Mistral │ ... │Gemma │
│모델 │ │모델 │ │모델 │
└─┬────┘ └─────┬────┘ └─────┬────┘
│ │ │
█████████████████████████████████████████████████
(직접 실행 or Docker 컨테이너)
█████████████████████████████████████████████████
Ollama 서버(데몬)이 REST API를 열어둡니다.
사용자는 API를 통해 요청(프롬프트 등)을 보냅니다.
Ollama가 요청에 따라 내부적으로 로드된 모델에 작업을 위임합니다.
모델은 Docker 컨테이너 내 실행일 수도 있고, 그냥 OS 프로세스일 수도 있습니다.
docker run -d -p 11434:11434 --name ollama ollama/ollama
localhost:11434 포트에서 Ollama OpenAI API와 통신할 수 있습니다.Ollama는 강력한 LLM을 설치/실행/API화하는 도구
원할 경우 Docker로 실행해 격리와 유연성을 높일 수 있음
Ollama REST API를 통해 다양한 외부 앱(브라우저, Langchain 등)에서 활용 가능
내부적으로 모델 선택 → 프롬프트 전달 → 결과 반환의 구조
여러 LLM 모델을 손쉽게 관리하고, 로컬에서 개인정보 안전하게 처리 가능
[사용자/앱/브라우저/Langchain]
|
(API 요청)
v
[Ollama API 서버]
|
┌─────Model Pool─────┐
│ Llama2 │
│ Mistral │
│ Gemma ... │
└────────────────────┘
(Docker or Direct)