
Ollama를 활용한 REST API 구축 및 사용법
1. Ollama 설치 및 서버 실행
Ollama를 이용하기 위해서는 먼저 사용자의 운영체제에 맞춰 애플리케이션을 설치해야 합니다.
- 공식 웹사이트 접속: ollama.com에서 자신의 OS(윈도우, macOS, 리눅스 등)에 맞는 설치 파일을 내려받습니다.
- 설치 진행: 내려받은 파일을 실행하여 설치 과정을 완료합니다.
설치가 끝나면 Ollama 서버는 자동으로 백그라운드에서 구동됩니다. 만약 서버를 직접 시작하고 싶다면 터미널에 ollama serve 명령어를 입력하세요. 이 명령어는 REST API 기능을 제공하는 핵심 서버를 구동합니다.
2. 모델 다운로드
Ollama의 REST API를 이용해 특정 모델을 활용하려면, 해당 모델이 로컬에 이미 저장되어 있어야 합니다. 터미널에서 ollama pull 명령어를 사용해 원하는 모델을 내려받을 수 있습니다.
ollama pull llama3
이 명령어를 실행하면 ‘llama3’ 모델이 다운로드됩니다. 만약 모델이 로컬에 없더라도 ollama run 명령어를 사용하면 자동으로 내려받아집니다. 현재 로컬에 설치된 모델 목록은 ollama list 명령어로 확인 가능합니다.
ollama list
3. REST API 활용하기
Ollama 서버는 기본적으로 http://localhost:11434 포트에서 REST API를 제공합니다. 외부 애플리케이션에서는 이 주소로 HTTP POST 요청을 보내 Ollama의 여러 기능을 사용할 수 있으며, 모든 요청에는 JSON 형식의 본문(body)이 포함되어야 합니다.
3.1. 텍스트 생성 (Completion)
단일 프롬프트에 대한 응답을 생성할 때 사용합니다.
- 엔드포인트:
/api/generate - 요청 본문 예시:JSON
{ "model": "llama3", "prompt": "세상에서 가장 큰 동물은 뭐야?" }
3.2. 대화형 채팅 (Chat)
이전 대화의 맥락을 이어나가며 연속적인 대화를 진행할 때 유용합니다.
- 엔드포인트:
/api/chat - 요청 본문 예시:JSON
{ "model": "llama3", "messages": [ { "role": "user", "content": "한국의 수도는 어디야?" } ] }
3.3. 임베딩 생성 (Embeddings)
텍스트를 벡터 형태로 변환하여 검색 증강 생성(RAG) 시스템 등에 활용할 수 있습니다.
- 엔드포인트:
/api/embeddings - 요청 본문 예시:JSON
{ "model": "llama3", "prompt": "Ollama는 강력한 도구입니다." }
3.4. 스트리밍 응답
응답을 한꺼번에 받지 않고 실시간으로 토큰 단위로 받으려면, 요청 본문에 "stream": true 옵션을 추가하면 됩니다. 이 경우, 실시간으로 들어오는 데이터를 처리하는 로직이 필요합니다.
전체 요약
| 단계 | 명령어 또는 주소 | 설명 |
| 설치/서버 | ollama serve | Ollama 설치 후 서버가 실행 중인지 확인하고 구동합니다. |
| 모델 준비 | ollama pull llama3 | API를 통해 사용할 모델을 로컬에 다운로드합니다. |
| API 활용 | http://localhost:11434/... | ollama serve로 구동된 서버의 API 엔드포인트에 HTTP 요청을 보냅니다. |
이 과정을 따르면, Ollama를 성공적으로 설치하고 서버를 실행한 뒤, 원하는 모델을 다운로드하여 다양한 프로그램에서 REST API를 통해 효과적으로 활용할 수 있습니다.