ollama는 로컬에서 LLM(Large Language Model)을 실행하고 사용할 수 있도록 도와주는 툴입니다. LangChain과도 쉽게 연동할 수 있어, 인터넷 연결 없이도 AI 모델을 활용할 수 있습니다.

 


🔹 Ollama 기본 사용법

 

1️⃣ 설치

 

먼저, ollama를 설치해야 합니다.

MacOS & Linux:

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

 

Windows:

Ollama 공식 홈페이지에서 설치 파일 다운로드

 

설치가 완료되면 터미널에서 ollama 명령어가 사용 가능해집니다.

 


2️⃣ 모델 다운로드 및 실행

 

Ollama는 로컬에서 실행할 LLM을 다운로드해야 합니다.

예를 들어, Mistral 모델을 다운로드하고 실행하려면:

ollama pull mistral
ollama run mistral

또는 llama3 모델을 사용하려면:

ollama pull llama3
ollama run llama3

이제 터미널에서 직접 모델과 대화할 수 있습니다.

 


🔹 Python에서 Ollama 사용하기

 

✅ Ollama + Python 기본 예제

 

Ollama의 API를 Python에서 호출하려면 ollama 패키지를 설치합니다.

import ollama

response = ollama.chat(model="mistral", messages=[{"role": "user", "content": "Explain quantum computing"}])
print(response["message"]["content"])

✅ 위 코드에서는 mistral 모델을 사용해 “Explain quantum computing” 질문에 대한 답을 생성합니다.

 


✅ Ollama + LangChain 사용 예제

 

LangChain에서 Ollama 모델을 사용할 수도 있습니다.

from langchain_community.llms import Ollama

llm = Ollama(model="mistral")
result = llm.invoke("What is the capital of South Korea?")
print(result)

✅ 이 코드는 mistral 모델을 사용하여 “대한민국의 수도는?” 질문에 답변합니다.

 


🔹 고급 기능

 

✅ 사용자 지정 모델 만들기

 

Ollama는 Modelfile을 사용하여 **사용자 정의 모델(Custom Model)**을 만들 수 있습니다.

 

1️⃣ Modelfile 생성:

touch Modelfile

2️⃣ 파일 내용 추가:

FROM mistral
SYSTEM "You are a helpful assistant that specializes in space science."

3️⃣ 모델 빌드 및 실행:

ollama create my-space-assistant -f Modelfile
ollama run my-space-assistant

이제 "my-space-assistant"라는 모델을 실행하면 우주 과학에 특화된 AI로 동작하게 됩니다.

 


🔹 Ollama vs OpenAI API

FeatureOllama (로컬)OpenAI API (클라우드)

💰 비용 무료 (하드웨어 필요) 유료 (API 비용 발생)
⚡ 속도 빠름 (로컬 실행) 느림 (네트워크 요청 필요)
🔗 인터넷 필요 여부 ❌ 필요 없음 ✅ 필요
🛠 모델 커스터마이징 ✅ 가능 (Modelfile) ❌ 불가능
🔄 모델 변경 가능 여부 ✅ 가능 (pull 사용) ✅ 가능 (API 변경)

 

 


🎯 정리

 

Ollama는 로컬에서 LLM을 실행할 수 있는 강력한 도구

Python 및 LangChain과 쉽게 연동 가능

인터넷 없이도 빠르게 AI 모델을 실행할 수 있어 보안성이 뛰어남

Modelfile을 사용해 모델을 맞춤 설정할 수도 있음

 

Ollama를 사용하면 클라우드 API 없이도 로컬에서 빠르고 저렴하게 AI 애플리케이션을 구축할 수 있습니다! 🚀

'Areas > LangChain' 카테고리의 다른 글

LangChain이란?  (0) 2025.03.16

+ Recent posts