Ali Eren | Tarih: 17.04.2025

Adım Adım Ollama & Python
Bu rehberde, venv ile izole Python ortamı oluşturmayı, Ollama CLI ile Deepseek‑r1, Phi‑4 ve Gemma‑3 modellerini indirip LangChain‑Ollama SDK ile örnek projeler geliştirmeyi öğreneceksiniz.
Bu yazıda, bilgisayarınızda yerel olarak çalışan Ollama altyapısı ve desteklediği modelleri (deepseek‑r1, phi‑4, gemma‑3 vb.) Python ile nasıl entegre edeceğinizi adım adım öğreneceksiniz. Önce çevresel izolasyon için venv kullanmayı, ardından Ollama CLI’yı ve modelleri kurmayı, Python SDK ile temel ilkleri kavramayı göreceksiniz. Devamında, LangChain‑Ollama entegrasyonu, örnek “yemek önerisi” ve “film/kitap önerisi” projeleri gibi başlangıç seviye uygulamalar sunulacak.
Eğer Ollamayı veya desteklediği modellerden biri nasıl kuracağınızı bilmiyorsanız bu yazımı okuyabilirsiniz Kendi ChatGPT'nizi Kurun: Ollama ile Yerel LLM Modellerini Çalıştırın
Hadi başlayalım :)
Venv nedir ve nasıl oluşturulur?
Python'daki venv (virtual environment), projeler için bağımsız bir çalışma ortamı oluşturur. Bir projeye özel kütüphaneler yüklemenizi sağlar ve bu kütüphanelerin diğer projeleri etkilemesini engeller. Her proje için temiz bir ortam yaratır ve kütüphane sürüm karışıklığını önler.
# Ortam oluşturma
python3 -m venv benim_ortamim
# Ortamı aktifleştirme (Linux/macOS)
source benim_ortamim/bin/activate
# Ortamı aktifleştirme (Windows)
benim_ortamim\Scripts\activate
# Paket yükleme
pip install ollama langchain-ollama
# Ortamı devre dışı bırakma
deactivate
Ayrıca, sanal ortam klasörünüzü .gitignore ile dışarıda bırakmak en iyi uygulamadır.
Ollama Kurulumu & Modeller
Ollama CLI Kurulumu# macOS / Linux (Homebrew örneği)
brew install ollama
# Windows (Scoop örneği)
scoop install ollama
Modelleri İndirme
ollama pull deepseek-r1
ollama pull phi-4
ollama pull gemma-3
Python ile Entegrasyon
LangChain‑Ollama SDK
from langchain_ollama import OllamaLLM
llm = OllamaLLM(model="phi-4") # İlgili modeli seçin
response = llm.invoke("Merhaba, nasılsın?")
print(response
Parametre Ayarları
- temperature, max_tokens, top_p gibi değerlerle çıktının yaratıcılığını kontrol edebilirsiniz.
- Streaming çıktılar için stream=True kullanarak yanıtları parça parça işleyebilirsiniz.
Örnek Projeler (Beginner Level)
Yemek Önerisi- Senaryo: Kullanıcıya günün saati ve hava durumuna göre yemek önerisi sun
- Soru: Öğle yemeği için ne yemeliyim?
from langchain_ollama import OllamaLLM
llm = OllamaLLM(model="llama3.2")
response = llm.invoke("what should I eat for lunch?")
print(response)
Hava Durumu Yorumu
- Senaryo: Günün hava durumuna göre giysi önerisi yap.
- Soru: Bugün hava bulutlu, nasıl giyinmeliyim?
from langchain_ollama import OllamaLLM
llm = OllamaLLM(model="llama3.2")
response = llm.invoke("It's cloudy today, how should I dress?"
print(response)
Günlük Motivasyon Mesajı
- Senaryo: Her sabah kullanıcıya ilham verici bir mesaj gönder.
- Soru: Bugün için motivasyon verici bir mesaj.
from langchain_ollama import OllamaLLM
llm = OllamaLLM(model="llama3.2")
response = llm.invoke("A motivational message for today.")
print(response)
Film Önerisi
- Senaryo: Kullanıcının ruh haline göre film önerisi yap.
- Soru: Mutlu hissetmiyorum, ne izleyebilirim?
from langchain_ollama import OllamaLLM
llm = OllamaLLM(model="llama3.2")
response = llm.invoke("I don't feel happy, what can I watch?")
print(response)
Kitap Önerisi
- Senaryo: Kullanıcıya okumak isteyebileceği bir kitap önerisi yap.
- Soru: Yeni bir roman arıyorum, ne önerirsin?
from langchain_ollama import OllamaLLM
llm = OllamaLLM(model="llama3.2")
response = llm.invoke("I'm looking for a new novel, what do you recommend?")
print(response)
Son söz
Yazımı okuduğunuz için teşekkür ederim. Umarım hem keyifli hem de yararlı bir okuma olmuştur. Sorularınızı ve görüşlerinizi yorumlarda paylaşarak tartışmaya katılabilirsiniz.
Sonra görüşürüz,
See you later,
Bis später.