Eylül 19, 2025
Okuma süresi: 12 dakika
2025 yılında yapay zeka kullanımı günlük hayatımızın ayrılmaz bir parçası haline geldi. ChatGPT, Claude, Gemini gibi bulut tabanlı AI servisleri harika olsa da, bazı önemli sınırlamalarla karşılaşıyoruz:
İşte tam bu noktada yerel AI modelleri devreye giriyor. Kendi bilgisayarınızda çalışan, internetinize bağımlı olmayan, tamamen ücretsiz ve gizliliğinizi koruyan AI asistanlarına sahip olabilirsiniz!
| Özellik | Yerel AI Modelleri | Bulut Tabanlı AI |
|---|---|---|
| Gizlilik | ✅ Tam kontrol, veri bilgisayarınızda kalır | ❌ Veriler sunuculara gönderilir |
| Maliyet | ✅ Tamamen ücretsiz | ❌ Aylık $20-200 arası |
| İnternet | ✅ Çevrimdışı çalışır | ❌ Sürekli internet gerekli |
| Hız | ✅ Donanımınıza bağlı, stabil | ❌ Sunucu yoğunluğuna bağlı |
| Model Çeşitliliği | ✅ Yüzlerce model seçeneği | ❌ Sınırlı seçenek |
| Güncelleme | ⚠️ Manuel güncelleme | ✅ Otomatik güncellenir |
| Performans | ⚠️ Donanıma bağlı | ✅ Yüksek performanslı sunucular |
Yerel AI modelleri çalıştırmak için minimum ve önerilen sistem gereksinimleri:
3B parametre modeller → 4 GB RAM
7B parametre modeller → 8 GB RAM
13B parametre modeller → 16 GB RAM
30B parametre modeller → 32 GB RAM
70B parametre modeller → 64 GB RAM
# Tarayıcıdan indirin:
https://ollama.com/download/windows
# veya PowerShell ile:
winget install Ollama.Ollama
OllamaSetup.exe dosyasını çalıştırın# Terminal/CMD'de:
ollama pull llama3.2:3b
# 3B parametreli Llama 3.2 modelini indirir (yaklaşık 2GB)
# Türkçe destekli model için:
ollama pull qwen2.5:7b
ollama run llama3.2:3b
# Interaktif sohbet modu başlar
brew install ollama
# https://ollama.com/download/mac adresinden indir
# Ollama.app'i Applications klasörüne sürükle
ollama serve
# Arka planda çalışmaya başlar
curl -fsSL https://ollama.com/install.sh | sh
# Download binary
sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/local/bin/ollama
sudo chmod +x /usr/local/bin/ollama
# Systemd servisi oluştur
sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama
# CUDA toolkit kurulu olmalı
nvidia-smi # GPU'nuzu kontrol edin
# Ollama otomatik algılar, ekstra ayar gerekmez
# Kurulum örnekleri:
ollama pull llama3.2:1b # 650MB
ollama pull llama3.2:3b # 2GB
ollama pull llama3.2:11b # 7GB
ollama pull mistral:7b # 4.1GB
ollama pull mixtral:8x7b # 26GB - MoE mimarisi
ollama pull qwen2.5:3b # 1.9GB
ollama pull qwen2.5:7b # 4.7GB
ollama pull qwen2.5:14b # 9.1GB
ollama pull qwen2.5:32b # 20GB
ollama pull phi3:mini # 2.3GB - 3.8B parametre
ollama pull phi3:medium # 7.9GB - 14B parametre
ollama pull gemma2:2b # 1.6GB
ollama pull gemma2:9b # 5.5GB
| Model | Türkçe | Kod | Hız | RAM | Genel Skor |
|---|---|---|---|---|---|
| Qwen 2.5 7B | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | 8GB | 95/100 |
| Llama 3.2 3B | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 4GB | 85/100 |
| Mistral 7B | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | 8GB | 90/100 |
| Phi-3 Mini | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 4GB | 82/100 |
| Gemma 2 9B | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | 10GB | 78/100 |
# DeepSeek Coder modelini indir
ollama pull deepseek-coder:6.7b
# Python kodu yazması için örnek
ollama run deepseek-coder:6.7b
> "Python'da bir REST API endpoint'i oluştur. Flask kullanarak kullanıcı CRUD işlemleri yapacak."
.bashrc veya .zshrc dosyanıza ekleyin:# AI asistan fonksiyonu
ai() {
ollama run llama3.2:3b "$*"
}
# Kod açıklama fonksiyonu
explain() {
echo "$*" | ollama run deepseek-coder:6.7b "Bu kodu açıkla:"
}
# Türkçe çeviri
cevir() {
echo "$*" | ollama run qwen2.5:7b "İngilizceye çevir:"
}
$ ai "Linux'ta port 8080'i hangi process kullanıyor nasıl bulurum?"
$ explain "ls -la | grep ^d | wc -l"
$ cevir "Merhaba dünya, nasılsınız?"
.continue/config.json dosyasını düzenleyin:{
"models": [
{
"title": "Ollama - Llama 3.2",
"provider": "ollama",
"model": "llama3.2:3b",
"apiBase": "http://localhost:11434"
},
{
"title": "Ollama - DeepSeek Coder",
"provider": "ollama",
"model": "deepseek-coder:6.7b",
"apiBase": "http://localhost:11434"
}
]
}
# Python örneği
import requests
import json
def ollama_chat(prompt, model="llama3.2:3b"):
url = "http://localhost:11434/api/generate"
payload = {
"model": model,
"prompt": prompt,
"stream": False
}
response = requests.post(url, json=payload)
return response.json()['response']
# Kullanım
cevap = ollama_chat("Python'da fibonacci serisi nasıl yazılır?")
print(cevap)
// Node.js örneği
const axios = require('axios');
async function askOllama(prompt, model = 'llama3.2:3b') {
const response = await axios.post('http://localhost:11434/api/generate', {
model: model,
prompt: prompt,
stream: false
});
return response.data.response;
}
// Kullanım
askOllama('JavaScript ile API çağrısı nasıl yapılır?')
.then(console.log);
# pip install ollama chromadb pypdf2
import ollama
from chromadb import Client
from pypdf2 import PdfReader
# PDF'i oku
def read_pdf(file_path):
reader = PdfReader(file_path)
text = ""
for page in reader.pages:
text += page.extract_text()
return text
# Vektör veritabanına ekle
def create_embeddings(text, collection_name="documents"):
client = Client()
collection = client.create_collection(collection_name)
# Metni parçalara böl
chunks = [text[i:i+1000] for i in range(0, len(text), 800)]
for i, chunk in enumerate(chunks):
# Embedding oluştur
embedding = ollama.embeddings(
model='llama3.2:3b',
prompt=chunk
)
collection.add(
embeddings=[embedding['embedding']],
documents=[chunk],
ids=[f"chunk_{i}"]
)
return collection
# Soru sor
def ask_document(question, collection):
# Sorunun embedding'ini al
q_embedding = ollama.embeddings(
model='llama3.2:3b',
prompt=question
)
# En alakalı belge parçasını bul
results = collection.query(
query_embeddings=[q_embedding['embedding']],
n_results=3
)
# Kontekst oluştur
context = "\n".join(results['documents'][0])
# AI'ya sor
prompt = f"""
Kontekst: {context}
Soru: {question}
Yukarıdaki kontekste göre soruyu cevapla.
"""
response = ollama.generate(
model='llama3.2:3b',
prompt=prompt
)
return response['response']
# 1. Veri setini hazırlayın (JSONL formatında)
cat training_data.jsonl
{"prompt": "Başkent nedir?", "completion": "Ankara"}
{"prompt": "En büyük şehir?", "completion": "İstanbul"}
# 2. LoRA adaptör oluşturun
ollama create my-model --file Modelfile
# Modelfile içeriği:
FROM llama3.2:3b
ADAPTER ./lora-adapter
PARAMETER temperature 0.7
PARAMETER top_p 0.9
SYSTEM "Sen Türkiye hakkında uzman bir asistandsın."
# LLaVA modelini indir (görüntü anlama)
ollama pull llava:7b
# Görüntü analizi
ollama run llava:7b "Bu görüntüde ne var? [resim.jpg]"
# Model formatları:
# Q4_0: 4-bit quantization (en küçük)
# Q4_K_M: 4-bit dengan optimizasyon
# Q5_K_M: 5-bit (denge)
# Q8_0: 8-bit (en kaliteli)
ollama pull llama3.2:3b-q4_0 # %75 daha küçük
ollama pull llama3.2:3b-q8_0 # %25 daha küçük
# Özel sistem promptu ile model oluşturma
cat > Modelfile << EOF
FROM qwen2.5:7b
PARAMETER temperature 0.8
PARAMETER num_ctx 4096
PARAMETER top_k 40
PARAMETER top_p 0.9
SYSTEM """
Sen bir Python uzmanısın.
Her zaman PEP 8 standartlarına uygun kod yazarsın.
Kodlarını docstring'lerle açıklarsın.
Type hint'ler kullanırsın.
"""
EOF
# Modeli oluştur
ollama create python-expert -f Modelfile
# Kullan
ollama run python-expert "Async web scraper yaz"
# NVIDIA GPU kontrolü
nvidia-smi
# GPU bellek ayarları
export OLLAMA_GPU_MEMORY=8192 # MB cinsinden
# Çoklu GPU
export CUDA_VISIBLE_DEVICES=0,1 # İki GPU kullan
# GPU'yu devre dışı bırak (sadece CPU)
export OLLAMA_GPU_LAYERS=0
# Thread sayısını ayarla
export OLLAMA_NUM_THREAD=8
# Context uzunluğunu sınırla
export OLLAMA_NUM_CTX=2048 # Default: 2048
# Batch size ayarı
export OLLAMA_NUM_BATCH=512
# Model önbelleği
export OLLAMA_MODELS=/path/to/models # SSD'de tutun
import time
import ollama
def benchmark_model(model_name, prompt, iterations=5):
times = []
for i in range(iterations):
start = time.time()
response = ollama.generate(
model=model_name,
prompt=prompt,
stream=False
)
end = time.time()
times.append(end - start)
tokens = len(response['response'].split())
tps = tokens / (end - start)
print(f"İterasyon {i+1}: {end-start:.2f}s, {tps:.1f} token/s")
avg_time = sum(times) / len(times)
print(f"\nOrtalama süre: {avg_time:.2f}s")
# Test et
benchmark_model("llama3.2:3b", "Python'da quicksort algoritmasını yaz")
# Ollama'yı sadece localhost'ta çalıştır (güvenli)
export OLLAMA_HOST=127.0.0.1:11434
# LAN'da paylaşım (dikkatli kullanın)
export OLLAMA_HOST=0.0.0.0:11434
# HTTPS ile güvenli bağlantı
ollama serve --tls-cert cert.pem --tls-key key.pem
# Dockerfile
FROM ollama/ollama:latest
# Model önceden yükle
RUN ollama pull llama3.2:3b
RUN ollama pull qwen2.5:7b
EXPOSE 11434
CMD ["serve"]
# Docker ile çalıştır
docker build -t my-ollama .
docker run -d -p 11434:11434 --gpus all my-ollama
# Çözüm: Daha küçük model kullan
ollama pull llama3.2:1b # 3b yerine 1b
# veya quantized versiyon
ollama pull llama3.2:3b-q4_0
# CUDA toolkit kurulumu kontrol
nvcc --version
# Ollama'yı yeniden başlat
ollama stop
ollama serve
# CPU thread sayısını artır
export OMP_NUM_THREADS=8
# Daha hızlı model kullan
ollama pull phi3:mini # Çok hızlı
# Hızlı başlangıç
curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen2.5:7b
ollama run qwen2.5:7b "Merhaba! Nasılsın?"