Docker for AI: Tek Komutla Modeli Çalıştırmak
Ollama'yı Docker'ın AI dünyasındaki karşılığı olarak düşünebilirsiniz: docker pull nginx ne kadar basitse ollama pull llama3 de o kadar basittir. Arka planda model ağırlıkları indirilir, quantizasyon formatı kontrol edilir ve çalışma zamanı hazırlanır. ollama run llama3 ile etkileşimli terminal başlar; ollama serve arka planda API sunucusunu başlatır.
OpenAI Uyumlu API
Ollama, localhost:11434 adresinde OpenAI chat completions API'sine birebir uyan uç noktalar sunar. Bu sayede mevcut uygulamanızdaki openai.OpenAI(base_url='http://localhost:11434/v1', api_key='ollama') tek satırıyla OpenAI yerine yerel modele yönlendirebilirsiniz. LangChain, LlamaIndex, Continue.dev ve Open WebUI bu uyumluluğu doğrudan destekler.
Donanım Gereksinimleri ve Performans
7 milyar parametreli Llama 3 8B modeli GGUF Q4 formatında yaklaşık 4.5GB yer kaplar ve 8GB RAM ile sorunsuz çalışır. Apple M1/M2/M3 çipleri Metal hızlandırmasıyla CPU'ya kıyasla 2-4 kat daha hızlı çıkarım yapabilir. NVIDIA GPU'lu sistemlerde CUDA desteğiyle daha yüksek hız elde edilir. 70 milyar parametreli modeller ise 40GB+ bellek gerektirir.
Modelfile ile Kişiselleştirme
Modelfile, Dockerfile benzeri bir sözdizimle özel model konfigürasyonu tanımlar. FROM direktifi taban modeli belirtir; SYSTEM bloku her konuşmada kullanılacak sistem promptunu koyar; PARAMETER ile sıcaklık, bağlam penceresi ve top_p ayarlanır. ollama create mymodel -f Modelfile komutuyla oluşturulan model ollama run mymodel ile çalışır ve ollama push ile Ollama Hub'a paylaşılabilir.
Ollama ile Yerel AI Kurulumu
Model Yönetimi
ollama pull, list ve rm komutlarıyla modeller kolayca indirip silinir; disk alanı kontrolü basittir.
OpenAI Uyumlu API
localhost:11434/v1 uç noktası OpenAI SDK ile doğrudan çalışır; kod değişikliği gerekmez.
Özel Modelfile
Sistem mesajı, sıcaklık ve bağlam penceresini tanımlayan Modelfile ile özel model oluşturun.
GPU Hızlandırma
NVIDIA ve Apple Silicon GPU'larını otomatik algılayıp kullanır; katman sayısını manuel ayarlayabilirsiniz.
terminal Kurulum ve ilk model: adım adım komutlar
Linux'ta tek satır yeter: curl -fsSL https://ollama.com/install.sh | sh. Kurulum, ollama adında bir systemd servisi açar ve 11434 portunu dinlemeye başlar. macOS'ta resmi dmg dosyasını Uygulamalar klasörüne atmanız yeterli, Homebrew kullananlar brew install --cask ollama komutunu tercih edebilir. Windows 10 ve 11 için OllamaSetup.exe kurulumu yapar, WSL2 artık şart değil. Kurulumdan sonraki sıra şöyle: ollama --version ile sürümü doğrulayın, ollama pull llama3.1:8b ile modeli indirin (Q4_K_M nicemlemede yaklaşık 4,7 GB), ollama run llama3.1:8b ile sohbeti başlatın. Servisin ayakta olup olmadığını curl http://localhost:11434/api/tags çıktısından görürsünüz. Günlük kullanımda işinize yarayacak komutlar: ollama list diskteki modelleri, ollama ps bellekte yüklü olanları gösterir, ollama rm model_adi diskten siler, ollama show model_adi bağlam penceresi ve nicemleme bilgisini yazar.
memory Model boyutu, bellek ihtiyacı ve hız beklentisi
- check_circle 1B ve 3B sınıfı: Q4_K_M dosyası 0,8 ile 2 GB arasında. 8 GB RAM'li bir dizüstünde ayrı ekran kartı olmadan da çalışır. Özetleme, etiketleme ve basit sınıflandırma için yeterli, kod ve çok adımlı akıl yürütmede zayıf kalır.
- check_circle 7B ve 8B sınıfı: Yaklaşık 4,5 ile 5 GB. 8 GB VRAM veya 16 GB birleşik bellek rahat taşır. RTX 4060 Ti sınıfı bir kartta 40 ile 60 token/sn, M2 Pro'da 25 ile 40 token/sn bandı beklenir. Günlük kullanım için varsayılan tercih budur.
- check_circle 14B sınıfı: Yaklaşık 9 GB. 12 GB VRAM sınırda, 16 GB rahat. Kod üretiminde ve uzun talimat takibinde 8B'ye göre belirgin fark verir.
- check_circle 32B sınıfı: Yaklaşık 20 GB. 24 GB VRAM'li bir kart (RTX 3090 veya 4090) ya da 32 GB birleşik bellekli bir Mac gerekir. Bağlam penceresini büyütürseniz 24 GB bile sıkışır.
- check_circle 70B sınıfı: Q4_K_M'de yaklaşık 40 GB. İki adet 24 GB kart veya 64 GB birleşik bellek ister. Tek karta sığdırmaya zorlarsanız Ollama katmanların bir bölümünü CPU'ya taşır ve hız 2 ile 5 token/sn seviyesine iner.
- check_circle Dosya boyutunun üstüne pay bırakın: KV önbelleği ve bağlam için 1 ile 3 GB daha hesaplayın. num_ctx değeri büyüdükçe bu pay hızla artar; 32K bağlamla çalışan bir 8B model 8 GB VRAM'e artık sığmayabilir.
bug_report Sık görülen hatalar ve çözümleri
- check_circle listen tcp 127.0.0.1:11434: bind: address already in use: Ollama zaten çalışıyor demektir. macOS'ta menü çubuğundaki simgeden çıkın, Linux'ta sudo systemctl stop ollama komutunu verin, Windows'ta görev çubuğundaki Ollama'yı kapatın. Sonra ollama serve komutunu tekrar deneyin.
- check_circle model requires more system memory than is available: Model mevcut belleğe sığmıyor. Daha düşük nicemleme (Q4_K_M yerine Q3_K_M) veya daha küçük parametreli sürüm seçin, num_ctx değerini kısın, arka plandaki tarayıcı ve sanal makineleri kapatın.
- check_circle Model GPU yerine CPU'da çalışıyor: ollama ps çıktısındaki PROCESSOR sütununa bakın. 100% CPU yazıyorsa model VRAM'e sığmamıştır. NVIDIA'da nvidia-smi ile sürücüyü doğrulayın, Linux'ta ollama servisinin GPU cihazlarına erişim iznini kontrol edin, gerekiyorsa bir alt boyuttaki modele geçin.
- check_circle Ağdaki başka bilgisayardan erişilemiyor: Ollama varsayılan olarak yalnızca 127.0.0.1 adresini dinler. OLLAMA_HOST=0.0.0.0 ayarlayın; systemd'de sudo systemctl edit ollama.service içine Environment="OLLAMA_HOST=0.0.0.0" satırını ekleyip servisi yeniden başlatın ve 11434 portunu güvenlik duvarında açın.
- check_circle Model sohbetin başını unutuyor: Varsayılan bağlam penceresi küçüktür. Sohbet içinde /set parameter num_ctx 8192 yazın ya da Modelfile'a PARAMETER num_ctx 8192 ekleyip ollama create ile yeni bir etiket üretin. Büyük num_ctx daha fazla VRAM ister.
- check_circle Disk doluyor: Modeller Linux'ta /usr/share/ollama/.ollama/models, macOS ve Windows'ta kullanıcı klasöründeki .ollama/models altında durur. OLLAMA_MODELS ortam değişkeniyle başka bir diske taşıyabilir, ollama list ile bakıp ollama rm ile temizleyebilirsiniz.
- check_circle Tarayıcı tabanlı uygulamadan 403 dönüyor: Ollama isteğin kaynağını denetler. OLLAMA_ORIGINS ortam değişkenine uygulamanızın adresini ekleyip servisi yeniden başlatın.
Sıkça Sorulan Sorular
- check_circle Ollama ücretsiz mi? Evet, MIT lisansıyla tamamen ücretsiz ve açık kaynaklıdır. İndirme ve çalıştırma için hesap oluşturmak da gerekmez.
- check_circle Windows'ta çalışır mı? Evet. macOS, Linux ve Windows 10/11 (WSL2 ile) desteklenir. Apple Silicon'da Metal hızlandırması, Windows'ta CUDA desteklenir.
- check_circle Hangi modeli seçmeliyim? Genel amaçlı kullanım için Llama 3.1 8B veya Mistral 7B ile başlayın. Kod için Qwen2.5-Coder, çok dilli kullanım için Qwen2.5 tercih edin. Daha güçlü donanımda Llama 3.1 70B daha kaliteli sonuç verir.
- check_circle Open WebUI nedir? Ollama üzerine kurulan tarayıcı tabanlı ChatGPT benzeri bir arayüzdür. Docker ile birkaç dakikada kurulur ve Ollama'nın tüm modellerine görsel arayüzden erişim sağlar.
- check_circle Ollama modelleri nereye kaydediyor, başka diske nasıl taşınır? Modeller Linux'ta /usr/share/ollama/.ollama/models, macOS ve Windows'ta kullanıcı dizinindeki .ollama/models klasöründe tutulur. Taşımak için OLLAMA_MODELS ortam değişkenini yeni yola ayarlayıp servisi yeniden başlatın. Mevcut blobs ve manifests klasörlerini olduğu gibi kopyalarsanız modelleri tekrar indirmeniz gerekmez.
- check_circle Ollama'yı ağdaki diğer cihazlardan nasıl kullanırım? OLLAMA_HOST=0.0.0.0 ayarlayıp servisi yeniden başlatın, sonra 11434 portunu güvenlik duvarında açın. İstemci tarafında http://sunucu-ip:11434/v1 adresini OpenAI uyumlu uç nokta olarak verirsiniz. Ollama'da kimlik doğrulama katmanı yoktur, bu yüzden sunucuyu doğrudan internete açmak yerine VPN veya ters proxy arkasına koyun.
- check_circle Hugging Face'teki bir GGUF modelini Ollama ile çalıştırabilir miyim? Evet. ollama run hf.co/kullanici/depo-adi:Q4_K_M biçimi Hugging Face üzerindeki GGUF depolarını doğrudan çalıştırır. Elinizdeki yerel bir dosya için ise içinde FROM ./model.gguf satırı bulunan bir Modelfile hazırlayıp ollama create ozel-model -f Modelfile komutunu kullanın.
- check_circle Ollama mı LM Studio mu, hangisini seçmeliyim? Sunucuda, betikte veya CI içinde çalıştıracaksanız Ollama daha uygundur: komut satırı odaklıdır, systemd servisi olarak açılır ve MIT lisanslıdır. Model aramayı, nicemleme seçmeyi ve parametre denemelerini görsel arayüzde yapmak istiyorsanız LM Studio daha rahat eder. İkisi de OpenAI uyumlu API sunduğu için aynı uygulamayı ikisine de bağlayabilirsiniz.