Ollama 사용 설정하기
by CoriOllama를 활용해 토이프로젝트를 진행하게 되어, Ollama의 개념, 설치 방법 및 개발중인 도커 컨테이너와 Ollama를 연동하는 방법을 기록해본다.
Chap # 01. Ollama란 ?
로컬 환경에서 대형 언어 모델(LLM)을 실행할 수 있도록 설계된 오픈소스 프로젝트로, 인터넷 연결 없이도 다양한 모델을 활용할 수 있디. Ollama는 GPU 가속을 지원하여 빠른 추론이 가능하며, 기존의 클라우드 기반 AI 서비스와 달리 데이터를 로컬에서 처리 가능하다(보안 강화).
- 로컬 실행: 클라우드에 의존하지 않고 로컬에서 LLM 실행 가능
- 경량화된 모델 제공: 기존 대형 모델을 최적화하여 경량화된 버전 사용 가능
- GPU 가속 지원: NVIDIA GPU를 활용하여 성능을 극대화
- Docker 연동 가능: 컨테이너 환경에서 실행 가능 (배포 용이)
Chap # 02. Ollama 설치
운영체제별로 Ollama 설치 방법이 조금씩 다르지만, 전반적으로 어렵지 않다.
1. Windows
Ollama 공식 사이트에서 설치 파일(.exe)을 다운로드하고, 설치 파일 실행 후 안내에 따라 진행한다. 설치가 완료되면, 터미널에서 설치 여부를 확인할 수 있다.
ollama --version
2. Ubuntu / Debian
Ubuntu, Debian에서는 다음 명령어를 통해 설치할 수 있다.
curl -fsSL https://ollama.ai/install.sh | sh
3. Mac
Mac에서는 homebrew를 사용해 간단하게 설치할 수 있다.
brew install ollama
Chap # 03. Docker Container와 연동하기
현재 사용중인 개발 방식은 로컬 컴퓨터(Host)에서 Ollama를 실행해두고, 개발중인 도커 환경 내에서 호스트의 Ollama와 연결하는 것이다.

Ollama가 실행중인지 확인하려면, 프로세스가 실행되고 있는지, Ollama가 사용하는 포트(Port: 11434)가 열려있는지 확인해보자.
ps aux | grep ollama # 실행중 프로세스 확인 netstat -tulnp | grep 11434 # 11434 포트가 열려있는지 확인

만약 아무런 반환 값이 없으면, 우선 로컬 컴퓨터에서 Ollama를 실행시켜주어야 한다.
ollama serve &
개발 작업에 사용할 도커 컨테이너는, 실행시킬 때 Ollama 사용을 위한 포트 매핑을 해주어야 한다.
docker run -p 11434:11434 [Docker Image]
컨테이너 내부로 들어갔다면, 외부에서 실행되고 있는 Ollama와 연결이 가능한지 테스트해보자. 여기서 주의할 점은, 도커 내에서의 localhost는 컨테이너 내부를 가리키기 때문에, curl http://localhost:11434/~ 와 같은 방식으로 연결을 시도하면 잘 동작하지 않는다는 점이다 !!
컨테이너 내부에서 호스트의 Ollama 서버에 접근할 때는 host.docker.internal*을 사용해야 한다.
(host.docker.internal* = 컨테이너 내부에서 호스트의 서비스를 호출할 때 사용하는 주소)
apt-get update -y apt-get install curl -y curl http://host.docker.internal:11434/api/tags

연결된 것을 확인했다면, 컨테이너 내에서 OLLAMA_HOST 환경 변수를 설정해주자.
export OLLAMA_HOST=http://host.docker.internal:11434
설정이 완료되었다. 다음과 같이 테스트 코드를 작성해서 실행하면, 컨테이너 내부에서 외부 Ollama의 모델이 동작하는 것을 볼 수 있을 것이다 !
import ollama response = ollama.chat( model="llava:13b", # 모델 이름 (llava-13b) messages=[ {"role": "system", "content": "Describe the content of the image."} ], ) print(response['message']['content'])

오늘은 Ollama가 무엇인지, 어떻게 설치하는지, 그리고 Docker로 실행하는 방법까지 살펴봤다. Ollama를 활용하면 로컬에서도 LLM을 쉽게 실행할 수 있어 AI 연구나 개발할 때 유용하지 않을까 싶다. 해당 포스트가 많은 도움이 되었길 바라며 이번 포스팅을 마친다.
Reference
블로그의 정보
코딩하는 오리
Cori