cPanel yıllıkta ücretsiz taşıma + SSLHemen İncele
Buyukweb
Ollama ile Kendi Sunucunda Yerel LLM Çalıştırma

Ollama ile Kendi Sunucunda Yerel LLM Çalıştırma

Ollama ile kendi sunucunuzda yerel LLM çalıştırmanın donanım seçimi, kurulum, API entegrasyonu ve güvenlik adımlarını uygulamalı olarak öğrenin.

Ollama ile Kendi Sunucunda Yerel LLM Çalıştırma

Büyük dil modellerini (LLM) üçüncü parti bir API üzerinden değil, doğrudan kendi sunucunuzda çalıştırmak artık niş bir uğraş değil. Ollama, açık kaynaklı modelleri tek komutla indirip yerel olarak çalıştırmayı son derece basitleştiren bir araç haline geldi. Bu yazıda Ollama'nın ne olduğunu, hangi donanıma ihtiyaç duyduğunu, bir VDS veya yapay zeka sunucusu üzerinde nasıl kurulacağını, API üzerinden nasıl entegre edileceğini ve güvenli şekilde nasıl çalıştırılacağını adım adım anlatıyoruz.

Kendi sunucunuzda LLM çalıştırmanın temel motivasyonu genellikle üçünden biri: veri gizliliği (müşteri verisi veya iç dokümanların dışarıya çıkmasını istememek), maliyet öngörülebilirliği (token başına ücretlendirme yerine sabit sunucu maliyeti) ve kontrol (model, context uzunluğu, fine-tuning gibi parametreler üzerinde tam yetki). Bu üç gerekçe de özellikle Türkiye'deki KOBİ'ler ve yazılım ekipleri için giderek daha fazla anlam ifade ediyor.

Ollama Nedir ve Neden Kendi Sunucunuzda Çalıştırmalısınız?

Ollama, Llama, Mistral, Gemma, Phi, Qwen gibi açık kaynaklı büyük dil modellerini paketleyip tek bir komutla indirmenizi, çalıştırmanızı ve bir REST API üzerinden sorgulamanızı sağlayan bir çalışma zamanı (runtime). Docker'ın konteynerlere yaptığını, Ollama modellere yapıyor diyebiliriz: modeli bir "manifest" dosyası ile paketler, quantization (niceleme) uygular ve donanımınıza göre CPU veya GPU üzerinde çalıştırır.

Kendi sunucunuzda çalıştırmanın somut faydaları şöyle sıralanabilir:

  • Veri hiçbir yere çıkmaz. Prompt'lar ve yanıtlar sadece sizin sunucunuzda işlenir, dışarıya giden bir istek olmaz.
  • Sabit maliyet. Kullanım arttıkça artan token faturası yerine, sunucunuzun aylık maliyeti sabit kalır.
  • Gecikme kontrolü. Sunucu ile uygulamanız aynı ağda veya aynı veri merkezindeyse yanıt süreleri dış API'lere göre çok daha öngörülebilir olur.
  • Offline çalışabilme. İnternet kesintisi yaşansa dahi, model sunucuda yüklüyse servis çalışmaya devam eder.

Büyükweb notu: Ollama'yı "hobi projesi" olarak deneyenlerin çoğu önce dizüstü bilgisayarında test ediyor, sonra üretim ortamına taşırken RAM ve disk darboğazıyla karşılaşıyor. Bu yüzden kapasite planlamasını en baştan, sunucu seçerken yapmak zaman kazandırıyor.

Donanım Gereksinimleri: RAM, CPU ve GPU Seçimi

Ollama'nın çalıştırdığı her model, parametre sayısına ve quantization seviyesine göre farklı miktarda bellek tüketir. Genel kural şu: modelin disk boyutuna yakın miktarda RAM'e (mümkünse biraz fazlasına) ihtiyaç duyulur. GPU kullanmıyorsanız bu yük tamamen sistem RAM'ine biner; GPU kullanıyorsanız VRAM öncelikli olarak devreye girer.

Model Boyutu Yaklaşık RAM İhtiyacı (Q4 quantization) Disk Alanı Önerilen Kullanım
3B parametre 4-6 GB ~2 GB Basit sınıflandırma, hızlı prototipleme
7B parametre 8-10 GB ~4-5 GB Genel amaçlı sohbet, özetleme
13B parametre 14-16 GB ~7-8 GB Daha tutarlı yanıtlar, kod yardımı
34B parametre 24-32 GB ~19-20 GB Ciddi analiz, uzun context
70B parametre 40-48 GB (veya çoklu GPU) ~40 GB Kurumsal düzey, üretim yükleri

CPU tarafında çekirdek sayısı önemli ama tek başına belirleyici değil; bellek bant genişliği genellikle darboğaz oluyor. Bu yüzden yüksek çekirdek sayısına sahip ama düşük bellek hızına sahip bir sunucu, beklediğiniz performansı vermeyebilir. Kaynak planlaması yaparken RAM ve CPU dengesini nasıl kuracağınızı VDS RAM ve CPU Seçimi Rehberi yazımızda daha detaylı anlattık — Ollama gibi bellek yoğun bir yük için de aynı mantık geçerli.

GPU kullanımı ise özellikle 13B ve üzeri modellerde token üretim hızını kat kat artırıyor. CPU üzerinde 34B bir model saniyede birkaç token üretirken, yeterli VRAM'e sahip bir GPU ile bu hız kat kat yükselebiliyor. Yoğun kullanım, çoklu eşzamanlı istek veya daha büyük modeller planlıyorsanız GPU destekli bir sunucu ciddi fark yaratır.

Sunucu Seçimi: VDS mi, Yapay Zeka Sunucusu mu?

Küçük ve orta ölçekli modeller (3B-13B aralığı) için standart bir VDS genellikle yeterli. Büyükweb VDS ürünleri VMware vSphere altyapısı üzerinde çalışır ve kaynaklarınızı ihtiyacınıza göre esnek şekilde ölçeklendirebilirsiniz. İşletim sistemini kurulum sırasında kontrol panelinden hazır şablon olarak seçersiniz; özel ISO yükleme desteği bulunmadığından kurulum, panelde sunulan güncel Linux dağıtımlarından biriyle birkaç dakika içinde tamamlanır.

Ancak 30B üzeri modeller çalıştıracaksanız, çoklu kullanıcıya eşzamanlı yanıt verecekseniz veya fine-tuning gibi ek iş yükleri planlıyorsanız GPU destekli bir sunucu daha mantıklı bir seçim. Bu senaryolar için Büyükweb'in Yapay Zeka Sunucu ürünü, yüksek VRAM'e sahip GPU kaynaklarıyla model eğitimi ve çıkarım (inference) yüklerini rahatça karşılayabilecek şekilde yapılandırılmıştır. Güncel kaynak seçenekleri ve fiyatlandırma için ilgili sayfayı inceleyebilirsiniz.

Büyükweb notu: VDS ve GPU sunucularında, hosting/reseller paketlerindeki koşullu 7 gün iade hakkı bulunmuyor. Bu yüzden özellikle GPU sunucu tarafında satın almadan önce hangi model boyutunu, kaç eşzamanlı kullanıcıyı hedeflediğinizi netleştirmeniz, doğru kapasiteyi ilk seferde seçmenizi kolaylaştırır.

Ollama Kurulum Adımları

Sistemi Hazırlama

Kuruluma başlamadan önce sistem paketlerini güncelleyin ve disk alanınızı kontrol edin. Model dosyaları büyük olduğu için / bölümünde yeterli boş alan bulunduğundan emin olun.

sudo apt update && sudo apt upgrade -y
df -h
free -h

Ollama'yı Kurma

Resmi kurulum betiği ile Ollama'yı tek satırda kurabilirsiniz:

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

Kurulum tamamlandığında sürümü doğrulayın:

ollama --version

Servis Olarak Çalıştırma

Kurulum betiği Ollama'yı bir systemd servisi olarak otomatik ekler. Servisin durumunu ve varsayılan olarak dinlediği portu kontrol edin:

sudo systemctl status ollama
sudo ss -tlnp | grep 11434

Ollama varsayılan olarak 127.0.0.1:11434 üzerinde çalışır, yani sadece sunucunun kendisinden erişilebilir durumdadır. Bu, ilk kurulumda güvenlik açısından doğru bir başlangıç noktasıdır.

Model İndirme ve Çalıştırma

Bir model indirmek için ollama pull komutunu kullanırsınız, doğrudan çalıştırmak içinse ollama run yeterli — model yoksa otomatik olarak indirilir:

ollama pull llama3
ollama run llama3

Terminalde açılan interaktif oturumda doğrudan soru sorabilirsiniz. Çıkmak için /bye yazmanız yeterli.

Model Ailesi Tipik Kullanım Not
Llama 3 (8B/70B) Genel amaçlı sohbet, özetleme Geniş dil desteği
Mistral (7B) Hızlı yanıt, düşük kaynak Verimli quantization
Gemma 2 Kod yardımı, kısa görevler Hafif ve hızlı
Qwen 2.5 Çok dilli görevler Uzun context desteği
Phi-3 Küçük donanımda çalışma Mobil/uç senaryolar

Halihazırda indirilmiş modelleri listelemek ve gerektiğinde silmek için:

ollama list
ollama rm <model-adı>

API Üzerinden Erişim ve Uygulama Entegrasyonu

Ollama'nın asıl gücü, komut satırının ötesinde bir REST API sunmasında. Uygulamanızdan doğrudan HTTP isteği ile modeli sorgulayabilirsiniz:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "Bir VDS ile paylaşımlı hosting arasındaki temel fark nedir?",
  "stream": false
}'

Yanıt JSON formatında döner ve response alanında modelin ürettiği metni içerir. Bu API'yi Python, Node.js veya PHP tarafındaki mevcut uygulamanıza kolayca entegre edebilirsiniz. Örneğin bir Python betiğinden:

import requests

r = requests.post("http://localhost:11434/api/generate", json={
    "model": "llama3",
    "prompt": "Müşteri destek talebini özetle: ...",
    "stream": False
})
print(r.json()["response"])

Sohbet geçmişi tutan uygulamalar için /api/chat endpoint'i, mesaj dizisi (messages) formatında istek kabul ederek konuşma bağlamını korur. Bu sayede kendi chatbot veya iç asistan uygulamanızı sıfırdan büyük bir altyapı kurmadan devreye alabilirsiniz.

Docker ile Ollama Çalıştırma

Ollama'yı doğrudan sistem üzerine kurmak yerine konteyner içinde izole çalıştırmak, özellikle birden fazla proje veya model versiyonunu yönetiyorsanız daha temiz bir yaklaşım. Docker kurulumunu sunucunuzda henüz yapmadıysanız VDS Docker Kurulumu ve Container Yönetimi yazımızda adım adım anlattık. Ollama'yı konteyner olarak çalıştırmak için:

docker run -d --name ollama \
  -v ollama:/root/.ollama \
  -p 11434:11434 \
  ollama/ollama

GPU'lu bir sunucuda çalıştırıyorsanız --gpus=all parametresini ekleyerek konteynerin GPU'ya erişmesini sağlamanız gerekir. Kalıcı volume tanımlamayı unutmayın, aksi halde konteyner yeniden başlatıldığında indirdiğiniz modelleri kaybedersiniz.

Güvenlik: Ollama'yı Dışa Açarken Dikkat Edilmesi Gerekenler

Ollama varsayılan olarak sadece localhost üzerinden erişime açık, bu güvenli bir başlangıç. Ancak uygulamanızı başka bir sunucudan veya uzak bir istemciden bu API'ye bağlamanız gerekiyorsa dikkatli ilerlemelisiniz — API'de yerleşik bir kimlik doğrulama katmanı bulunmuyor.

Firewall Kuralları

11434 portunu doğrudan internete açmak yerine, sadece belirli IP adreslerinden erişime izin verin. Sunucunuza atanan tek IPv4 adresi üzerinden test yaparken bile firewall kurallarını baştan sıkı tutmak önemli:

sudo ufw allow from 203.0.113.10 to any port 11434
sudo ufw deny 11434

Firewall kurallarını daha detaylı yapılandırmak, port bazlı erişim kısıtlamaları ve iptables mantığını öğrenmek için VDS Firewall ve iptables Yapılandırması rehberimize bakabilirsiniz.

Nginx Reverse Proxy ve Kimlik Doğrulama

Ollama'yı güvenli şekilde dışarı açmanın en pratik yolu, önüne bir reverse proxy koyup HTTP Basic Auth veya API anahtarı ile korumak. Nginx üzerinden basit bir örnek:

server {
    listen 443 ssl;
    server_name llm.sizin-alan-adiniz.com;

    location / {
        auth_basic "Ollama API";
        auth_basic_user_file /etc/nginx/.htpasswd;
        proxy_pass http://127.0.0.1:11434;
        proxy_set_header Host $host;
    }
}

Nginx kurulumunu ve SSL sertifikası yapılandırmasını sıfırdan yapacaksanız VDS Nginx Kurulumu ve Yapılandırması yazımız işinizi görecektir. Bu şekilde hem trafiği şifrelemiş hem de yetkisiz erişimi engellemiş olursunuz.

Performans Optimizasyonu ve Model Seçimi İpuçları

  • Quantization seviyesini doğru seçin. Q4 quantization çoğu senaryoda RAM tasarrufu ile kalite arasında iyi bir denge sunar; kalite öncelikliyse Q5 veya Q8, kaynak kısıtlıysa Q4 tercih edilebilir.
  • Context uzunluğunu ihtiyacınıza göre ayarlayın. Gereksiz yere uzun context penceresi bellek tüketimini artırır, kısa görevlerde varsayılan değerler genellikle yeterlidir.
  • Eşzamanlı istekleri sınırlayın. Tek bir sunucuda çok fazla paralel istek, hem gecikmeyi hem bellek kullanımını olumsuz etkiler; üretim ortamında bir kuyruk mekanizması eklemek faydalı olur.
  • Disk I/O hızını göz ardı etmeyin. Model yükleme sırasında disk hızı doğrudan başlangıç süresini etkiler, bu yüzden SSD tabanlı depolama tercih edilmeli.

Büyükweb notu: Ollama üzerinde birden fazla modeli aynı anda "sıcak" tutmak (RAM'de yüklü bırakmak) cazip görünse de, RAM sınırına yaklaştığınızda sistem swap kullanmaya başlar ve yanıt süreleri ciddi şekilde bozulur. Gerçek kullanım senaryonuza göre kaç modele ihtiyaç duyduğunuzu netleştirip kapasiteyi ona göre planlamak, sonradan sunucu büyütmekten çok daha verimli.

Yedekleme ve Bakım

Ollama'nın model dosyaları genellikle ~/.ollama/models dizini altında tutulur. Bu klasörü ve varsa özel Modelfile tanımlarınızı düzenli yedeklemeniz, sunucu sorununda modelleri tekrar indirmekten sizi kurtarır — büyük modellerde bu indirme süresi saatler alabilir.

Standart VDS paketlerinde günlük otomatik yedekleme uygulanırken, yapay zeka iş yükleri için kullanılan GPU sunucularda model dosyalarının ve konfigürasyonun yedeklenmesi müşteri sorumluluğundadır. Bu farkı bilmeden ilerlemek, büyük bir model yeniden indirilmesi gerektiğinde ciddi zaman kaybına yol açabilir. Genel yedekleme stratejilerini ve otomasyon yöntemlerini VDS Sunucu Yedekleme Stratejileri yazımızda anlattık; Ollama'nın model dizinini de bu stratejiye dahil etmenizi öneririz.

Düzenli bakım için ayrıca:

  • ollama list ile kullanılmayan modelleri tespit edip ollama rm ile temizleyin, disk şişmesini önleyin.
  • Ollama sürümünü periyodik olarak güncelleyin, yeni sürümler genellikle performans iyileştirmeleri içerir.
  • Sistem loglarını (journalctl -u ollama) takip ederek bellek yetersizliği veya çökme durumlarını erken yakalayın.

Sık Karşılaşılan Kurulum Sorunları

En sık karşılaşılan sorunlardan biri, model indirirken diskin dolması. ollama pull komutu sırasında "no space left on device" hatası alıyorsanız df -h ile disk kullanımını kontrol edip gereksiz model veya dosyaları temizlemeniz gerekir.

Bir diğer yaygın durum, sunucu RAM'i yetersizken büyük bir modeli çalıştırmaya çalışmak. Bu durumda model ya çok yavaş yanıt verir ya da işlem sistem tarafından sonlandırılır (OOM killer). Çözüm, ya daha küçük/daha agresif quantize edilmiş bir model kullanmak ya da sunucu kaynağını artırmak.

Son olarak, API'ye dışarıdan bağlanamama sorunu genellikle firewall veya OLLAMA_HOST ortam değişkeninin yanlış yapılandırılmasından kaynaklanır. Ollama'yı sadece localhost yerine tüm arayüzlerde dinletmek isterseniz servis dosyasında Environment="OLLAMA_HOST=0.0.0.0" satırını eklemeniz gerekir — ancak bunu yaptığınızda firewall ve reverse proxy katmanlarını mutlaka devreye almalısınız.

Sıkça Sorulan Sorular

Ollama'yı çalıştırmak için minimum kaç GB RAM yeterli?

3B-7B parametreli küçük modeller için 8 GB RAM genellikle yeterli, ancak işletim sistemi ve diğer servisler için ek pay bırakmanız gerekir. 13B ve üzeri modeller için en az 16 GB, daha büyük modeller için 32 GB ve üzeri RAM önerilir.

GPU olmadan Ollama kullanabilir miyim?

Evet, Ollama CPU üzerinde de çalışır. Küçük ve orta boy modellerde (7B-13B) kabul edilebilir performans alırsınız, ancak 30B üzeri modellerde CPU ile üretim (token/saniye) hızı belirgin şekilde düşer ve GPU destekli bir sunucu daha mantıklı hale gelir.

Ollama'yı internete açmak güvenli mi?

Varsayılan haliyle hayır — API'de kimlik doğrulama bulunmadığı için doğrudan internete açmak önerilmez. Erişimi ya belirli IP adresleriyle firewall üzerinden kısıtlamalı ya da Nginx reverse proxy ile Basic Auth veya API anahtarı koruması eklemelisiniz.

Aynı sunucuda birden fazla model çalıştırabilir miyim?

Evet, farklı modelleri ollama pull ile indirip istediğiniz zaman ollama run <model-adı> ile çalıştırabilirsiniz. Ancak aynı anda birden fazla modeli belleğe yüklü tutmak RAM tüketimini katlayarak artırır, bu yüzden kaynak planlamasını buna göre yapmalısınız.

VDS mi yoksa GPU destekli sunucu mu seçmeliyim?

3B-13B aralığındaki modeller ve düşük-orta trafik için standart bir VDS genellikle yeterli. Daha büyük modeller, çoklu eşzamanlı kullanıcı veya hızlı yanıt süresi önceliğiniz varsa GPU destekli bir sunucu tercih etmeniz performans farkını doğrudan hissettirir.

Ollama üretim ortamında (production) güvenilir mi?

Ollama, tek başına çalışan servisler ve orta ölçekli iş yükleri için olgunlaşmış bir çözüm. Yüksek eşzamanlılık gerektiren kurumsal senaryolarda önüne bir kuyruk sistemi, yük dengeleyici ve izleme (monitoring) katmanı eklemeniz, kararlılığı artırır.

Model dosyalarını yedeklemem gerekiyor mu?

Evet, özellikle büyük modellerde tekrar indirme süresi saatler alabileceği için model dizinini düzenli yedeklemeniz zaman kazandırır. GPU sunucularda bu yedekleme sorumluluğu müşteriye ait olduğu için otomasyon kurmanız faydalı olur.

Büyükweb Hizmetleri

Ollama ile yerel LLM çalıştırmayı üretim ortamına taşımak istiyorsanız doğru kaynak planlaması işin en kritik adımı. İhtiyacınıza uygun altyapı için:

  • Yapay Zeka Sunucu — GPU destekli, model eğitimi ve çıkarım yüklerine uygun sunucu seçenekleri

Kaynak seçimi, kurulum veya güvenlik yapılandırması konusunda destek almak isterseniz 0850 302 60 70 numaralı satış öncesi destek numaramızdan bize ulaşabilir veya iletişim sayfası üzerinden bizimle iletişime geçebilirsiniz.

VDS & VPS Rehberi İlgili Hizmetlerimiz

Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin

Etiketler:

#ollama#yerel llm#vds#yapay zeka sunucu#self-hosted ai#llm kurulumu#gpu sunucu

Bu yazıyı paylaş

WhatsApp0850 302 60 70