
클라우드 API에 매번 요금을 내지 않고도 내 PC에서 무료로 LLM을 돌리는 방법을 찾고 있다면 Ollama가 가장 현실적인 선택지입니다. 이 글에서는 Ollama를 설치해 llama3 모델을 내려받는 과정부터, 터미널에서 대화하는 법, 파이썬 코드로 직접 호출해 응답을 받아오는 방법까지 실제로 실행되는 명령어와 코드로 정리합니다. 설치 경로 선택, 모델 용량, 파이썬 라이브러리와 REST API 방식의 차이까지 다뤄서 따라 하기만 하면 바로 로컬 LLM 환경을 구축할 수 있도록 구성했습니다.
Ollama가 왜 로컬 LLM 실행의 표준이 됐나
Ollama는 llama.cpp를 기반으로 모델 다운로드, 양자화된 가중치 관리, 로컬 API 서버 구동을 하나로 묶어주는 도구입니다. 별도의 파이썬 가상환경이나 CUDA 세팅 없이도 명령어 한 줄로 모델을 받아 바로 실행할 수 있다는 점이 가장 큰 장점입니다.
공식 홈페이지 ollama.com에서 Windows, macOS, Linux용 설치 파일을 받을 수 있습니다. Windows의 경우 설치 파일 용량이 약 700MB 안팎이며, 설치가 끝나면 시스템 트레이에 Ollama 아이콘이 상주하면서 백그라운드에서 로컬 API 서버(http://localhost:11434)가 자동으로 켜집니다. 이 서버가 켜져 있어야 이후 파이썬 코드나 REST API 호출이 정상 동작합니다.
macOS와 Linux는 설치 앱을 실행하거나 공식 설치 스크립트(curl -fsSL https://ollama.com/install.sh | sh)로 CLI를 바로 깔 수 있습니다. 설치가 끝나면 터미널에 ollama를 입력했을 때 사용 가능한 서브커맨드 목록이 뜨는지로 정상 설치 여부를 확인합니다.
llama3 모델 설치하고 터미널에서 바로 실행하기
설치가 끝났다면 터미널에서 아래 명령어로 llama3 모델을 내려받습니다.
ollama pull llama3
ollama pull은 모델 가중치만 받아두는 명령이고, 바로 대화까지 하고 싶다면 run을 쓰면 됩니다. 모델이 없으면 자동으로 pull부터 수행합니다.
ollama run llama3
실행하면 >>> 프롬프트가 뜨고 그 자리에 질문을 입력하면 답변이 스트리밍으로 출력됩니다. 대화를 끝내려면 /bye를 입력하거나 Ctrl+D를 누르면 됩니다.
모델 관리에 자주 쓰는 명령어는 다음과 같습니다.

ollama list # 설치된 모델 목록 확인
ollama ps # 현재 메모리에 로드되어 실행 중인 모델 확인
ollama rm llama3 # 설치된 모델 삭제
ollama show llama3 # 모델 파라미터, 템플릿 등 상세 정보 확인
기본으로 받아지는 llama3 태그는 80억(8B) 파라미터 모델의 4비트 양자화(Q4_0) 버전이며, 다운로드 용량은 약 4.7GB입니다. RAM은 최소 8GB 이상을 권장하고, GPU(NVIDIA CUDA, Apple Silicon Metal)가 있으면 자동으로 감지해 추론 속도를 끌어올립니다. GPU가 없어도 CPU만으로 동작은 하지만 응답 속도가 눈에 띄게 느려집니다. 더 큰 모델이 필요하면 ollama pull llama3:70b처럼 태그를 붙이면 되는데, 70B 모델은 최소 40GB 이상의 메모리(또는 VRAM)가 필요해 일반 PC에서는 8B 모델로 시작하는 것이 현실적입니다.
파이썬에서 Ollama 호출하기 (공식 라이브러리)
터미널 대화만으로는 자동화가 어렵기 때문에 실제 서비스나 스크립트에 붙이려면 파이썬에서 호출해야 합니다. Ollama는 공식 파이썬 패키지를 제공합니다.
pip install ollama
설치 후 아래처럼 chat 함수로 메시지를 주고받을 수 있습니다.
import ollama
response = ollama.chat(model='llama3', messages=[
{'role': 'user', 'content': 'Ollama가 뭔지 한 문장으로 설명해줘'}
])
print(response['message']['content'])
실행하면 아래와 비슷한 형태의 출력을 확인할 수 있습니다.
Ollama는 로컬 컴퓨터에서 대형 언어 모델을 손쉽게 내려받아 실행할 수 있게 해주는 오픈소스 도구입니다.
응답을 실시간으로 받아 보고 싶다면 stream=True 옵션을 씁니다.
import ollama
stream = ollama.chat(
model='llama3',
messages=[{'role': 'user', 'content': '파이썬으로 피보나치 함수 짜줘'}],
stream=True,
)
for chunk in stream:
print(chunk['message']['content'], end='', flush=True)
ollama.generate(model='llama3', prompt='...')처럼 단발성 프롬프트만 넣는 함수도 있는데, 대화 맥락(멀티턴)을 유지하려면 chat 함수에 이전 메시지들을 리스트로 계속 누적해서 넘기는 방식을 씁니다.
REST API 직접 호출과 방식 비교
Ollama 파이썬 패키지 없이 requests만으로도 로컬 서버에 직접 요청을 보낼 수 있습니다. 백그라운드에서 켜져 있는 http://localhost:11434 서버가 REST API를 제공하기 때문입니다.

import requests
res = requests.post('http://localhost:11434/api/chat', json={
'model': 'llama3',
'messages': [{'role': 'user', 'content': '오늘 날씨 알려줘'}],
'stream': False
})
print(res.json()['message']['content'])
이 방식은 파이썬 패키지가 설치되지 않은 환경, 혹은 다른 언어(JavaScript, Go 등)에서 호출할 때 유용합니다. 세 가지 호출 방식을 비교하면 다음과 같습니다.
| 방식 | 설치 필요 | 장점 | 적합한 상황 |
|---|---|---|---|
ollama 파이썬 패키지 |
pip install ollama |
코드 간결, 공식 지원 | 파이썬 스크립트/서비스에 바로 통합 |
REST API (requests) |
없음(표준 라이브러리 수준) | 언어 무관, 서버 구조 이해 용이 | 다른 언어 연동, curl 테스트 |
터미널 (ollama run) |
없음 | 설치 확인, 빠른 테스트 | 모델 성능 확인, 프롬프트 실험 |
간단한 프로토타입이라면 파이썬 패키지로 시작하고, 여러 서비스에서 같은 로컬 서버를 공유해서 쓰는 구조라면 REST API 호출로 통일하는 편이 유지보수가 편합니다. 공식 API 문서는 Ollama GitHub API 레퍼런스에서 엔드포인트별 파라미터를 확인할 수 있습니다.
자주 겪는 문제와 체크포인트
ollama.chat을 호출했는데 ConnectionError가 뜬다면 대부분 로컬 서버가 꺼져 있는 경우입니다. 터미널에서 ollama serve를 직접 실행해 서버가 살아있는지 확인하고, 이미 트레이 아이콘으로 떠 있다면 ollama list로 응답이 오는지 먼저 점검합니다.
응답 속도가 너무 느리다면 ollama ps로 모델이 GPU에 올라갔는지(PROCESSOR 컬럼에 GPU 표시 여부) 확인합니다. CPU로만 돌고 있다면 VRAM 부족이나 드라이버 문제일 수 있어, NVIDIA GPU 기준으로는 최신 CUDA 드라이버 설치 여부를 점검하는 것이 순서입니다.
모델을 여러 개 받아 디스크 용량이 부족해지는 경우도 흔합니다. ollama list로 설치된 모델과 용량을 확인하고 안 쓰는 모델은 ollama rm으로 정리하는 습관을 들이는 것이 좋습니다.
마무리
Ollama 설치 → ollama pull llama3로 모델 다운로드 → ollama run llama3로 터미널 테스트 → pip install ollama 후 ollama.chat()으로 파이썬 연동, 이 네 단계만 거치면 내 PC를 무료 LLM 서버로 바로 쓸 수 있습니다. 다음 단계로는 messages 리스트에 시스템 프롬프트를 추가해 챗봇 페르소나를 만들어보거나, Flask/FastAPI로 감싸서 나만의 로컬 API 서버를 구성해보는 것을 추천합니다.
자주 묻는 질문(FAQ)
Q. llama3 대신 다른 모델도 파이썬에서 똑같이 호출할 수 있나요?
A. 가능합니다. ollama pull 뒤에 원하는 모델명(예: gemma, qwen2.5, mistral)만 바꿔 받으면, 파이썬 코드에서도 model='llama3' 부분만 해당 모델명으로 바꾸면 동일하게 동작합니다.
Q. 인터넷 연결 없이도 계속 쓸 수 있나요?
A. 네. 최초 ollama pull로 모델을 한 번 내려받아두면 이후에는 인터넷 연결 없이 완전히 로컬에서만 추론이 이뤄집니다.
Q. GPU가 없는 노트북에서도 실행이 되나요?
A. 실행은 됩니다. 다만 CPU만으로 8B 모델을 돌리면 응답 생성 속도가 GPU 대비 크게 느려지므로, RAM이 넉넉한지(8GB 이상) 먼저 확인하고 체감 속도를 테스트해보는 것이 좋습니다.