Ollama 설치 및 기초 사용방법 (feat 로컬 LLM 환경 구축해보기)
- -
안녕하세요! 갓대희 입니다. :- )
나의 경우는 발전하고 있는 다양한 AI 모델을 어떻게 활용할 수 있는지 이정도를 따가가기에도 지금은 벅차 사실 llm 그 model들에 대해서는 원래 관심을 크게 두고 있진 못하고 있다.
다만 그래도 나름 재미있는 영역이긴 하니 오늘은 최대한 간단하게 local에서 AI 모델을 돌려 보는 정도의 실습정도를 해보려고 한다. 개인적으로 요즘 가장 선호하는 LLM은 클로드, 재미나이, 퍼플렉 시티, gpt 등의 순으로 선호하고 있다.
Ollama란?🤔
Ollama는 로컬 환경에서 대규모 언어 모델(LLM)을 쉽게 실행할 수 있게 해주는 오픈소스 도구다.
쉽게 말해서 ChatGPT 같은 AI를 내 컴퓨터에서 직접 돌릴 수 있게 해주는 프로그램이라고 보면 된다.
인프라 없이 개인 PC에서 곧바로 ChatGPT‑유사 AI 챗 기능을 체험할 수 있도록 설계되어 있다.
Ollama의 핵심 특징
- 로컬 실행 : 인터넷 연결 없이도 AI 모델 사용 가능
- 쉬운 설치 : 복잡한 CUDA 설정 없이도 간단 설치
- 다양한 모델 : Llama 3.2, Mistral, DeepSeek-R1 등 최신 모델 지원
- API 제공 : OpenAI API와 호환되는 REST API
- 멀티모달 : 텍스트뿐만 아니라 이미지 입력도 가능
- Tool Calling : 함수 호출 기능으로 AI Agent 구축 가능
왜 Ollama를 선택했나?
사실 로컬 LLM 도구는 여러 개가 있다.
LM Studio, GPT4All, Text generation web UI 등등... 그런데 왜 Ollama를 제일먼저 택한 이유는 다음과 같다.
1. 설치가 진짜 쉽다 : 그냥 인스톨러 다운받고 더블클릭하면 끝
2. CLI가 직관적 : Docker 쓰듯이 pull, run 명령어로 모델 관리
3. API가 표준적 : OpenAI API 형식이라 기존 코드 재활용 가능
4. 리소스 효율적 : 메모리 사용량이 다른 도구보다 적음
5. 활발한 커뮤니티 : GitHub Stars 148,000개, 지속적인 업데이트
시스템 요구사항 체크
Ollama를 설치하기 전에 내 컴퓨터가 감당할 수 있는지 확인해보자. 생각보다 요구사항이 높지 않다:
| 모델 크기 | 최소 RAM | 권장 RAM | 속도 |
| 7B (소형) | 8GB | 16GB | 빠름 |
| 13B (중형) | 16GB | 32GB | 보통 |
| 33B+ (대형) | 32GB | 64GB | 느림 |
- 처음 시작 : llama3.2 (가볍고 빠름, 2GB만 필요)
- 추론 작업 : deepseek-r1 (function calling 지원, 복잡한 논리 처리)
- 구글 생태계 : gemma3 (구글 최적화, 효율성 극대화)
- 코딩 전용 : codellama (코드 생성과 디버깅에 특화)
- 고성능 필요 : llama3.3 70B (메모리 64GB+ 필요하지만 최고 성능)
설치하기
각 운영체제별로 설치 방법이 다르니까 본인 환경에 맞게 따라해보자.
Windows 설치
1. 공식 사이트에서 다운로드 : https://ollama.com/download


2. OllamaSetup.exe 실행하고 설치

3. 설치 완료 후 재부팅 해 주자. (나의 경우 재부팅 없이도 사용 가능)
4. PowerShell에서 정상 설치 확인
ollama --version

5. 귀엽게 생겼다!! ㅎㅎ
(여기서 귀엽다고 대화를 바로 해버리면 모델을 다운로드 시작해버리니 잠깐만 하기 내용부터 읽어보자 )


- 우측 하단 작업표시줄에 올라마 이미지가 생성 되었고, 설정 하는 부분도 잠깐 살펴보자.

- Settins

Expose Ollama to the network (네트워크 노출 허용)
- 이 옵션을 켜면 다른 디바이스나 서비스(예: n8n, 다른 PC의 UI 등)가 네트워크를 통해 Ollama 엔드포인트에 접근할 수 있게 허용된다.
- 기본적으로는 localhost 로만 연결이 가능하지만, 이 옵션 활성 시 0.0.0.0 또는 내부 IP 바인딩 등을 통해 원격 접근이 허용된다.
- 보안 목적상 인증(로그인 기능) 없이 네트워크 노출할 경우 인증 프록시(Nginx, JWT 등)를 반드시 활용해야 하며, 외부 공격에 취약할 수 있다.
Model location (모델 저장 위치) : Ollama가 다운로드하고 저장하는 LLM 모델 파일들의 폴더 경로를 지정
- 난 내가 자주 작업하는 위치에 폴더설정하였다.

Context length (컨텍스트 길이)
- Context length 는 Ollama가 한 번에 처리할 수 있는 최대 토큰 수를 설정하는 옵션이다.
- 기본값은 2048 tokens이며, 사용 환경에 따라 4096, 8192 등으로 조정 가능
- 긴 대화나 긴 문서를 사용할 경우, 컨텍스트 윈도우 크기를 늘리는 것이 유리하지만, 메모리/연산 리소스 증가 및 일부 모델에서 지원 한계를 가질 수 있다
- 이외 환경에서도 간단하게 설치 가능하다.
macOS 설치
# Homebrew로 설치 (추천)
brew install ollama
# 또는 공식 사이트에서 .dmg 다운로드
# https://ollama.com/download
# 설치 확인
ollama --version
Linux 설치
# 공식 설치 스크립트 실행
curl -fsSL https://ollama.ai/install.sh | sh
# 서비스 시작
sudo systemctl start ollama
sudo systemctl enable ollama
# 설치 확인
ollama --version
모델 다운로드
설치가 완료됐으면 이제 AI 모델을 다운로드해보자.
그전에 어떤 모델을 써야할지 생각 해봐야 하는데, 해당 문서를 참고 해 보자.
- 용도별로 추천하는 모델들
| 모델명 | 파라미터 | 크기(GB) | 추천 용도 | 설치 명령어 |
|---|---|---|---|---|
| Llama3.2 | 3B | 2.0 | 범용 챗봇 / QA 테스트용 | ollama pull llama3.2 |
| Mistral | 7B | ~4.1 | 균형 잡힌 추론 성능 | ollama pull mistral |
| DeepSeek-R1 | 7B~32B | 4~ | 복잡한 reasoning, function-calling → DeepSeek‑R1 32B 권장 (GitHub) |
ollama pull deepseek-r1 |
| Gemma3 | 4B / 12B / 27B | 3.3 / 8.1 / 17 | 고효율 언어모델 (구글 최적화) | ollama pull gemma3 |
| Codellama | 7B | ~3.8 | 코드 생성 / 디버깅 특화 | ollama pull codellama |
| Phi-4 | 14B | ~9.1 | 멀티태스크, 수학/추론 우수 | ollama pull phi4 |
| Llama3.3 | 70B | ~43 | 뛰어난 언어 이해력, 범용성 극대화 (GitHub, Collabnix) |
ollama pull llama3.3 |
- 해당 문서를 참고 해도 된다.(https://ollama.com/search)

ex) 나의 경우 시작하자마자 다음 모델이 default로 잡혀 있었다.
- 구글의 gemma3 모델이며, 4b로 잡혀있었는데

- 위 url에서 gemma3 모델을 찾아 보겠다.

- 내 pc의 GPU를 확인해 보면 전용 GPU 메모리(VRAM)가 4.0GB 인것을 확인할 수 있다.

- default로 설정되어있는 gemma3:4b가 한계이지 않을까? CLI 방식으로 다운로드 해도 되고 GUI로 채팅을해도 알아서 다운로드를 시작한다.
ex) 모델 다운로드
ollama pull gemma3:4b
# 다운로드 진행상황이 표시됨
pulling manifest
pulling 8934d96d3f08... 100% ▕████████████████▏ 2.0 GB
pulling 8c17c2ebb0ea... 100% ▕████████████████▏ 7.0 KB
pulling 7c23fb36d801... 100% ▕████████████████▏ 4.8 KB
pulling 2e0493f67d0c... 100% ▕████████████████▏ 59 B
pulling fa304d675061... 100% ▕████████████████▏ 91 B
pulling 42ba7f8a01dd... 100% ▕████████████████▏ 557 B
verifying sha256 digest
writing manifest
removing any unused layers
success
ex) 채팅 프롬프트에서 시작

다운로드가 완료되면 바로 실행해볼 수 있다.
ex) gui 방식

ex) cli 방식
ollama run gemma3:4b
>>> 안녕하세요! 파이썬 코드 리뷰를 해주실 수 있나요?
물론입니다! 파이썬 코드 리뷰를 도와드릴 수 있습니다.
코드를 붙여넣어 주시면 다음과 같은 관점에서 검토해드리겠습니다:
1. 코드 품질 및 가독성
2. 성능 최적화 가능성
3. 잠재적인 버그나 문제점
4. 파이썬 베스트 프랙티스 준수 여부
코드를 공유해 주세요!


첫 실행이 성공했다! 생각보다 응답 속도도 괜찮고 한국어도 잘 이해한다. 물론 ChatGPT만큼은 아니지만 로컬에서 돌아간다는 점을 고려하면 충분히 만족스럽다.
API로 활용하기
CLI로만 쓰기엔 아쉬우니까 API로 연동해서 써보자. Ollama는 OpenAI API와 호환되는 REST API를 제공한다.
ollama serve
서버가 시작되면 기본적으로 11434 포트에서 API 서비스가 시작된다. curl로 테스트해보자:
API 호출 예시
curl -X POST http://localhost:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
"model": "gemma3",
"prompt": "파이썬으로 피보나치 수열을 구현해줘",
"stream": false
}'
Python으로도 쉽게 연동할 수 있다:
import requests
import json
def ask_ollama(prompt, model="llama3.2"):
url = "http://localhost:11434/api/generate"
data = {
"model": model,
"prompt": prompt,
"stream": False
}
response = requests.post(url, json=data)
if response.status_code == 200:
return response.json()["response"]
else:
return f"Error: {response.status_code}"
# 사용 예시
answer = ask_ollama("React Hook의 장점을 설명해줘")
print(answer)
처음에 API 호출할 때 계속 Connection refused 에러가 났다. 알고보니 `ollama serve` 명령어로 서버를 먼저 시작해야 했다. Windows에서는 설치하면 자동으로 서비스가 시작되지만, Linux/Mac에서는 수동으로 시작해야 한다.
새로운 기능들
1. 새로운 앱 : 내가 이번에 작성한 글의 핵심인데, macOS/Windows용 네이티브 앱이 출시되어 훨씬 빠른 시작 가능
2. 네트워크 노출 : 다른 기기에서도 접근 가능하도록 설정 가능
3. 모델 저장 위치 : 외장 하드디스크나 다른 디렉토리로 변경 가능
4. Tool Calling : 함수 호출 기능으로 더 강력한 AI Agent 구축 가능
5. 멀티모달 지원 : 텍스트와 이미지를 동시에 처리하는 모델 지원
# Windows (PowerShell)
$env:OLLAMA_HOST="0.0.0.0:11434" # 네트워크 접근 허용
$env:OLLAMA_MODELS="C:\work\ollamaModel" # 모델 저장 위치 변경
# Linux/Mac
export OLLAMA_HOST=0.0.0.0:11434
export OLLAMA_MODELS=/external/ollama/models
ollama serve
Tool Calling으로 AI Agent 만들기
2025년에 추가된 Tool Calling 기능을 사용하면 AI가 직접 함수를 호출할 수 있다. 간단한 예시를 만들어보자.
import requests
import json
def get_weather(city):
"""날씨 정보를 가져오는 함수"""
# 실제로는 날씨 API를 호출하겠지만 예시로...
return f"{city}의 현재 날씨는 맑음, 기온 22도입니다."
# Tool 정의
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "특정 도시의 날씨 정보를 가져옵니다",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "날씨를 알고 싶은 도시 이름"
}
},
"required": ["city"]
}
}
}
]
# Ollama API 호출 (Tool Calling 지원 모델 필요)
response = requests.post("http://localhost:11434/api/chat", json={
"model": "llama3.1", # Tool calling 지원 모델
"messages": [
{"role": "user", "content": "서울 날씨 어때?"}
],
"tools": tools
})
print(response.json())
성능 최적화 팁
1. GPU 활용 : NVIDIA GPU가 있다면 CUDA가 자동으로 활용됨
2. 메모리 설정 : 환경변수로 메모리 사용량 조절 가능
3. 모델 예열 : 첫 응답은 느리니까 미리 한 번 실행해두기
4. Apple Silicon : M1/M2/M3/M4 Mac은 자동으로 Metal GPU 가속 적용
5. 적절한 모델 선택 : 용도에 맞는 모델 크기 선택이 중요
# 현재 실행 중인 모델 확인
ollama ps
# GPU 사용량 확인 (NVIDIA)
nvidia-smi
# 시스템 리소스 모니터링
htop # Linux/Mac
# 또는 작업 관리자 (Windows)
# 모델 정보 확인
ollama show llama3.2
웹 UI로 편리하게 사용하기
웹 브라우저에서 ChatGPT처럼 사용할 수 있는 Open WebUI 설치도 가능하다.
# Open WebUI 실행
docker run -d --network=host \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
# 브라우저에서 http://localhost:3000 접속
정리
- 생각보다 쉽다 : 복잡한 ML 환경 설정 없이도 몇 분 만에 로컬 LLM 환경 구축 가능
- 최신 모델 지원 : Llama 3.2, DeepSeek-R1, Phi-4, Gemma 3 등 최신 모델들까지 지원
- 멀티모달 가능 : 텍스트뿐만 아니라 이미지 입력도 가능한 모델들 지원
- Tool Calling : 함수 호출 기능으로 AI Agent 구축도 가능하다
- 비용 효율적 : 한 번 설치하면 클라우드 API 비용 없이 무제한 사용
- 개인정보 보호 : 모든 데이터가 로컬에서 처리되어 프라이버시 걱정 없음
- 확장성 : REST API로 다양한 애플리케이션과 쉽게 통합 가능
자주 묻는 질문 ❓
참고 자료
- Ollama 공식 홈페이지 - 최신 모델 다운로드
- Ollama GitHub - 소스코드 및 이슈 트래킹
- Open WebUI - 웹 인터페이스로 편리하게 사용
- 모델 라이브러리 - 사용 가능한 모델 목록
- API 문서 - REST API 사용법
'AI > Tech Lounge: IT 이슈와 생각들' 카테고리의 다른 글
| SDD(Spec-Driven Development) + AWS Kiro IDE 적용기 (5) | 2025.09.25 |
|---|---|
| Ollama 활용 아이디어 기록의 글 (feat 로컬 LLM를 어떻게 활용해볼까?) (10) | 2025.08.03 |
| AI 코드 리뷰 자동화 적용 후 삭제.. 이야기 with GenAI (Code Review Automation) (25) | 2025.08.01 |
| [AI 시대 살아남기(2)] AI 시대, 비개발자를 위한 새로운 기회와 역할 (16) | 2025.06.26 |
| [AI 시대 살아남기(1)] 일자리 생태계의 격변(feat 개발자 에겐 위협인가? 기회인가?) (13) | 2025.06.20 |
소중한 공감 감사합니다