본문 바로가기
AI/LLM

로컬 LLM 실행 및 관리를 위한 Ollama 가이드

by 니나노뭉 2026. 3. 21.

Ollama는 복잡한 설정 없이 로컬 환경에서 대규모 언어 모델(LLM)을 손쉽게 실행하고 관리할 수 있도록 도와주는 오픈소스 도구입니다.

다양한 오픈소스 모델을 지원하며, 사용자의 시스템 리소스에 맞게 최적화된 실행 환경을 제공합니다.


운영체제별 설치 방법

Ollama는 macOS, Windows, Linux 등 다양한 운영체제를 폭넓게 지원합니다. 각 시스템 환경에 맞는 방법을 통해 설치할 수 있습니다.

macOS 환경

macOS 11 Big Sur 이상의 환경에서 실행 가능하며, Apple Silicon(M1/M2/M3) 및 Intel 프로세서를 모두 지원합니다.

  • 공식 홈페이지에서 Ollama-darwin.zip 파일을 다운로드하여 압축을 풀고 애플리케이션에 추가한 후 실행합니다.
  • 또는 Homebrew
  • brew install ollama

Windows 환경

Windows 10 이상의 환경에서 사용할 수 있으며, 기본적으로 NVIDIA GPU 가속 등을 지원하여 빠른 추론이 가능합니다.

  • 공식 홈페이지에서 OllamaSetup.exe 파일을 다운로드하여 설치 프로그램을 실행하고 지시에 따릅니다.

Linux 환경

Linux 프로세스에서는 공식 설치 스크립트를 사용하여 터미널 단말기에서 간단히 설치할 수 있습니다. AMD 및 NVIDIA GPU 환경을 유연하게 지원합니다.

curl -fsSL <https://ollama.com/install.sh> | sh

시스템 서비스 등록 및 GPU 호환 설치 스크립트는 백그라운드 환경에서 Ollama를 안정적으로 구동하기 위해 시스템 서비스(Systemd)로 자동 등록합니다. 또한 시스템 환경 및 설정에 따라 CUDA(NVIDIA)나 ROCm(AMD) 드라이버 설정이 추가로 필요할 수 있습니다.


Ollama CLI 핵심 사용법

별도의 클라이언트 없이 구동할 수 있도록 다양한 CLI 명령어를 제공합니다. 터미널 및 명령 프롬프트 환경에서 모델 제어가 가능합니다.

1. 모델 실행 및 상호작용 (Run)

가장 기본이 되는 명령어로, 프롬프트를 입력할 수 있는 대화형 쉘이 열립니다. 로컬 환경에 해당 모델이 존재하지 않는다면 자동으로 다운로드(Pull) 후 실행됩니다.

ollama run llama3

2. 모델 다운로드 및 관리

즉시 실행하지 않고 사전 다운로드가 필요할 때, 혹은 로컬에 준비된 모델들을 관리하고자 할 때 사용합니다.

모델 다운로드 (Pull)

ollama pull qwen2.5

설치된 모델 목록 확인 (List)

ollama list

특정 모델 삭제 (Remove)

ollama rm qwen2.5

3. 실행 환경 제어

Ollama는 백그라운드에서 데몬 형태로 동작하며 자원을 효율적으로 관리합니다. 사용자는 CLI를 통해 현재 모델의 상태를 세밀하게 제어할 수 있습니다.

현재 로드된(실행 중인) 모델 확인 (PS)

ollama ps

실행 중인 특정 모델 중지 (Stop)

ollama stop qwen2.5

서버 수동 실행 (Serve)

일반적으로 부팅 시 자동 실행되지만, 구성을 테스트하거나 디버그가 필요하여 포그라운드에서 수동으로 서버를 시작할 때 활용합니다.

ollama serve

Python 및 API 연동 활용

서빙 중인 로컬 Ollama 환경은 기본적으로 http://localhost:11434 포트에서 REST API를 제공하며, OpenAI 애플리케이션 명세와도 온전히 호환됩니다. 다음과 같이 Python openai 라이브러리를 통해 로컬 Ollama 모델에 손쉽게 추론 요청을 보낼 수 있습니다. (※ PEP 8 포맷이 적용되어 있습니다)

import time

from openai import OpenAI

# 로컬 Ollama 서버의 OpenAI 호환 엔드포인트로 연결
client = OpenAI(
    api_key="ollama",  # 로컬 구동 시 별도의 API Key 검증을 하지 않습니다.
    base_url="<http://localhost:11434/v1>",
    timeout=3600
)

messages = [
    {
        "role": "system",
        "content": "You are a helpful AI assistant."
    },
    {
        "role": "user",
        "content": "Ollama 도구의 주요 장점에 대해 3줄로 설명해줘."
    }
]

start_time = time.time()
response = client.chat.completions.create(
    model="llama3",
    messages=messages,
    max_tokens=1024
)

print(f"Response cost: {time.time() - start_time:.2f}s")
print(f"Generated text: {response.choices[0].message.content}")

참고

반응형