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등 다양한 모델을 다운로드할 수 있습니다. -
fetchAPI를 사용하여 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