How to Run LLMs Locally with Ollama — A Developer's Guide

개요

Ollama는 API 키나 클라우드 구독 없이 LLM을 로컬 환경에서 무료 및 비공개로 실행할 수 있게 해주는 도구입니다.

주요 내용

  • Ollama는 LLM을 로컬에서 다운로드, 관리 및 제공하며, OpenAI와 호환되는 API를 localhost:11434에서 제공하여 기존 OpenAI API 코드와 호환됩니다.
  • Linux/WSL에서는 curl -fsSL https://ollama.com/install.sh | sh 명령으로, macOS에서는 brew install ollama 명령으로, Windows에서는 다운로드하여 설치할 수 있습니다.
  • ollama serve 명령으로 서버를 시작하고, ollama pull 명령으로 qwen2.5-coder:7b, qwen2.5-coder:1.5b, deepseek-coder-v2, llama3.1:8b, mistral:7b 등 다양한 모델을 다운로드할 수 있습니다.
  • fetch API를 사용하여 OpenAI 호환 엔드포인트로 직접 API 호출이 가능하며, API 키나 SDK 없이도 작동합니다.
  • LLM을 사용하여 실제 도구를 구축하기 위해 JSON 스키마를 정의하고 모델에게 JSON 응답을 요청하여 구조화된 출력을 얻을 수 있으며, Zod와 같은 라이브러리를 사용하여 응답을 검증하는 것이 좋습니다.
  • Ollama(로컬)와 Claude/OpenAI(클라우드) 모두와 호환되는 앱을 만들기 위해 LlmProvider 인터페이스를 생성하고 OllamaProvider 클래스를 구현하여 모델 제공자 추상화를 구축할 수 있습니다.
  • 로컬 LLM 성능 향상을 위해 첫 호출 시 모델 로딩으로 인한 지연 시간을 고려하고, 요청마다 서버를 시작/중지하지 않으며, 개발 시에는 작고 빠른 모델(1.5b)을, 프로덕션 품질이 필요할 때는 더 큰 모델(7b)을 사용합니다.
  • 결정론적 출력을 위해 temperature: 0을 설정하고, 긴 프롬프트의 경우 CPU에서 로컬 모델이 몇 분 이상 소요될 수 있으므로 타임아웃을 추가하는 것이 좋습니다.
  • 로컬 LLM은 개발, 민감한 데이터 처리, 개인 정보 보호에 강점을 가지며, 클라우드 LLM은 최상의 생산성 품질과 속도에서 이점을 가집니다.
  • Ollama를 사용하여 개발자 도구(예: spectr-ai 스마트 계약 감사기)를 로컬에서 무료로 구축할 수 있으며, 로컬 LLM의 품질이 빠르게 향상되고 있습니다.

시사점

Ollama는 개발자가 API 키나 클라우드 비용 없이 LLM을 로컬에서 직접 활용하여 개인 정보 보호를 강화하고 개발 워크플로우를 간소화할 수 있는 실질적인 방법을 제공합니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions