로컬 LLM 실행 - Ollama로 내 PC에서 모델 돌리기
LLM을 쓰려면 무조건 API 키를 발급받고 요청마다 돈을 내야 할까요? 꼭 그렇지는 않습니다. 요즘은 내 노트북에서 직접 모델을 돌리는 것이 놀랄 만큼 쉬워졌습니다.
그 중심에 있는 도구가 Ollama 입니다. 마치 docker run 하듯 ollama run 한 줄로 모델을 받아 실행할 수 있습니다.
이 글에서는 왜 로컬에서 돌리는지, Ollama를 어떻게 쓰는지, 어떤 하드웨어가 필요한지, 그리고 로컬의 한계와 적합한 용도를 정리합니다.
1. 왜 로컬에서 돌리나
클라우드 API가 편한데 굳이 로컬을 쓰는 이유는 명확합니다.
- 프라이버시: 데이터가 외부로 나가지 않습니다. 의료·법률·사내 문서처럼 밖으로 보내면 안 되는 데이터를 다룰 때 결정적입니다.
- 비용: 초기 하드웨어만 있으면 요청당 요금이 없습니다. 대량 반복 작업(배치 처리, 실험, 개발 중 무한 호출)에서 체감이 큽니다.
- 오프라인·독립성: 인터넷이 없어도, 외부 서비스가 죽어도, 요금제가 바뀌어도 내 환경은 그대로입니다.
- 자유로운 실험: 프롬프트를 마음껏 던지고, 모델을 갈아 끼우고, 파라미터를 만져도 부담이 없습니다.
비유하면, 클라우드 API가 택시라면 로컬 LLM은 자가용입니다. 가끔이면 택시가 편하지만, 매일 많이 탄다면 차를 사는 게 낫습니다.
2. Ollama 시작하기
2-1. 설치와 첫 실행
macOS·Linux·Windows 모두 지원합니다. 설치 후 명령 한 줄이면 됩니다.
# macOS (Homebrew)
brew install ollama
# 모델을 받아서 바로 대화 시작 (없으면 자동 다운로드)
ollama run llama3.1
ollama run을 하면 모델을 내려받아 대화형 프롬프트가 뜹니다. 그대로 질문을 입력하면 답합니다. 다른 모델도 이름만 바꾸면 됩니다.
ollama run qwen2.5:7b # 특정 파라미터 크기 지정
ollama run gemma2:2b # 더 가벼운 모델
ollama list # 받아둔 모델 목록
ollama rm llama3.1 # 모델 삭제
2-2. API로 쓰기
Ollama의 진짜 강점은 로컬 HTTP 서버를 띄워준다는 점입니다. 백그라운드에서 localhost:11434로 REST API가 열립니다.
curl http://localhost:11434/api/generate -d '{
"model": "llama3.1",
"prompt": "RAG를 한 문장으로 설명해줘",
"stream": false
}'
게다가 OpenAI 호환 엔드포인트도 제공해서, 기존 OpenAI SDK 코드에서 base_url만 바꾸면 거의 그대로 로컬 모델로 붙일 수 있습니다.
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama", # 아무 값이나 (검사 안 함)
)
resp = client.chat.completions.create(
model=,
messages=[{: , : }],
)
(resp.choices[].message.content)