Blog’a Dön

Ollama Kurulumu: Kendi Sunucunuzda Yapay Zeka Modeli Çalıştırma

Ollama ile kendi sunucunuzda yapay zeka modeli çalıştırma: kurulum, model ve RAM seçimi, API kullanımı, Open WebUI, güvenli erişim ve işlemci kullanımı.

Nodesty Ekibi4 dk okumaSunucular
Koyu Nodesty arka planında Ollama yazısı ile LLM, API ve Open WebUI ifadeleri

Ollama, Llama, Qwen, Gemma ve Mistral gibi açık yapay zeka modellerini kendi bilgisayarınızda ya da sunucunuzda tek komutla indirip çalıştırmanızı sağlayan açık kaynaklı bir araçtır. Kurulduktan sonra modellerle komut satırından konuşabilir, uygulamalarınıza bir API üzerinden bağlayabilir ya da Open WebUI gibi bir arayüzle tarayıcıdan kullanabilirsiniz. Verileriniz sunucunuzdan çıkmaz ve istek başına ücret ödemezsiniz.

Bu rehberde bir Linux sunucuya Ollama kurulumunu, doğru model ve RAM seçimini, API kullanımını, Open WebUI ile web arayüzünü, güvenli erişimi ve işlemci kullanımında dikkat edilmesi gerekenleri anlatıyoruz. Rehber, ekran kartı olmayan bir sunucuda modelleri işlemci üzerinde çalıştırmayı esas alır.

Ollama kurulumu

Sunucunuza SSH ile bağlandıktan sonra Ollama'nın resmî kurulum betiğini çalıştırın:

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

Betik Ollama'yı kurar ve bir systemd servisi olarak başlatır. Durumunu kontrol edin:

systemctl status ollama
ollama --version

Ollama varsayılan olarak yalnızca 127.0.0.1:11434 adresini dinler; bu güvenli bir varsayılandır.

İlk modeli çalıştırma

Bir modeli indirip sohbet başlatmak için:

ollama run llama3.2

İlk çalıştırmada model indirilir; ardından komut satırında modelle konuşabilirsiniz. Çıkmak için /bye yazın. Sık kullanılan komutlar:

KomutNe yapar?
ollama pull modelBir modeli indirir
ollama run modelModeli çalıştırır ve sohbet başlatır
ollama listİndirilen modelleri listeler
ollama psBellekte yüklü modelleri gösterir
ollama rm modelBir modeli siler

Kullanılabilir modelleri ve boyutlarını Ollama'nın sitesindeki model kütüphanesinde görebilirsiniz.

Model ve RAM seçimi

İşlemci üzerinde çalışırken model, sunucunun RAM'ine yüklenir. Kabaca modelin dosya boyutu kadar RAM'e ve üzerine birkaç GB paya ihtiyaç duyarsınız:

Model büyüklüğü (4 bit sıkıştırılmış)Yaklaşık RAM ihtiyacıİşlemcide kullanım
1–3 milyar parametre2–4 GBHızlı; basit görevler için uygun
7–8 milyar parametre6–8 GBKullanılabilir hız, iyi kalite
12–14 milyar parametre10–16 GBYavaşlar; sabır gerektirir
30 milyar ve üzeri20 GB ve üzeriİşlemcide genellikle çok yavaş
  • Sıkıştırma (quantization): Modellerin 4 bit gibi sıkıştırılmış sürümleri çok daha az RAM kullanır ve daha hızlı çalışır; kalite kaybı çoğu kullanımda küçüktür.
  • Hız: İşlemcide cevap hızı; çekirdek sayısına, bellek hızına ve model büyüklüğüne bağlıdır. Önce küçük bir modelle başlayıp ihtiyacınıza göre büyütün.
  • Lisans: Her modelin kendi lisansı vardır; ticari kullanımdan önce kontrol edin.

API ile kullanma

Ollama, uygulamalarınızın modele bağlanabilmesi için bir HTTP API sunar:

curl http://127.0.0.1:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Bir sunucunun yedeğini neden almalıyım?",
  "stream": false
}'

Sohbet tarzı istekler için /api/chat adresi kullanılır. Ollama ayrıca OpenAI uyumlu bir API (/v1/chat/completions) de sunar; OpenAI istemci kütüphanelerini kullanan uygulamalarınızı adresi değiştirerek Ollama'ya bağlayabilirsiniz.

Open WebUI ile web arayüzü

Modelleri tarayıcıdan sohbet arayüzüyle kullanmak için açık kaynaklı Open WebUI'ı Docker ile kurabilirsiniz:

docker run -d -p 127.0.0.1:3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui --restart always \
  ghcr.io/open-webui/open-webui:main

Port yalnızca 127.0.0.1 adresine bağlandığı için arayüz internete açılmaz. Docker kurulumunu ve port güvenliğini Docker kurulumu rehberimizde anlattık.

Güvenli erişim

Ollama'nın API'sinde kimlik doğrulama yoktur. 11434 portunu internete açarsanız, bulan herkes sunucunuzun kaynaklarını kullanabilir. Bunun yerine:

  • SSH tüneli: Kendi bilgisayarınızdan API'ye ya da Open WebUI'a güvenle erişin:
    ssh -L 3000:127.0.0.1:3000 -L 11434:127.0.0.1:11434 kullanici@203.0.113.10
    

    Ardından tarayıcıda http://127.0.0.1:3000 adresini açın. Ayrıntılar SSH tüneli nedir? yazımızda.
  • Reverse proxy: Open WebUI'ı bir alan adıyla ekibinizin kullanımına açacaksanız, önüne Nginx ve SSL koyun; Open WebUI'ın kendi kullanıcı hesaplarını kullanın. Ayrıntılar Nginx kurulumu rehberimizde.

Ollama'nın dinleme adresini değiştirmeniz gerekirse OLLAMA_HOST ortam değişkenini systemd servisinde ayarlayabilirsiniz; ancak adresi 0.0.0.0 yaparsanız güvenlik duvarında portu yalnızca güvendiğiniz adreslere açın.

İşlemci kullanımı ve performans

Model cevap üretirken işlemcinin bütün çekirdeklerini yoğun şekilde kullanır. Birkaç kişinin ara sıra kullandığı bir asistan için bu sorun değildir, ama sürekli ve yoğun kullanım farklıdır:

  • Eşzamanlı istekleri sınırlayın. Aynı anda çok sayıda istek, bütün istekleri yavaşlatır.
  • Modelleri bellekte gereğinden uzun tutmayın. Ollama, kullanılmayan modelleri bir süre sonra bellekten çıkarır; bu süre ayarlanabilir.
  • Kaynak kullanımını izleyin. İşlemci ve bellek kullanımını takip etmeyi Sunucu izleme rehberimizde anlattık.

Sanal sunucularda işlemci kullanımı sağlayıcının adil kullanım kurallarına tabidir. Gün boyu kesintisiz yüksek işlemci kullanımı gerektiren yapay zeka iş yükleri için donanımı tamamen size ayrılmış bir fiziksel sunucu daha uygundur.

Nodesty'de Ollama

Nodesty AMD EPYC 7763 VDS paketleri yüksek RAM seçenekleriyle 7–8 milyar parametreli modelleri bellekte rahatça tutmanızı sağlar. Sanal sunucularda ortalama işlemci kullanımının Adil Kullanım Politikamıza göre %75'in altında tutulması gerekir; modeli gün boyu yoğun şekilde çalıştıracaksanız işlemcisinin tamamını 7/24 %100 kapasiteyle kullanabileceğiniz fiziksel sunucularımızı tercih edin.

Sıkça Sorulan Sorular

Ollama'yı ekran kartı olmadan çalıştırabilir miyim?

Evet. Ollama, ekran kartı yoksa modelleri işlemci üzerinde çalıştırır. Küçük ve sıkıştırılmış (quantize edilmiş) modeller güçlü bir işlemcide kullanılabilir hızda cevap verir. Büyük modeller ise işlemcide yavaş çalışır; bu tür modeller için ekran kartlı donanım daha uygundur.

Hangi model için ne kadar RAM gerekir?

Kabaca modelin dosya boyutu kadar RAM'e ve üzerine birkaç GB paya ihtiyaç duyarsınız. 1–3 milyar parametreli küçük modeller birkaç GB ile, 7–8 milyar parametreli 4 bit sıkıştırılmış modeller yaklaşık 6–8 GB ile çalışır. Daha büyük modeller onlarca GB RAM ister.

Kendi sunucumda model çalıştırmanın avantajı nedir?

Verileriniz sunucunuzdan çıkmaz, istek başına ücret ödemezsiniz ve modeli istediğiniz gibi seçip ayarlayabilirsiniz. Karşılığında cevap hızı ve kalite, büyük bulut modellerinin gerisinde kalabilir; donanım ve bakım da sizin sorumluluğunuzdadır.

Ollama API'sini internete açmalı mıyım?

Hayır. Ollama'nın API'sinde kimlik doğrulama yoktur; açık bir API'yi bulan herkes sunucunuzun kaynaklarını kullanabilir. API'yi yalnızca 127.0.0.1 adresinde bırakıp SSH tüneliyle ya da kimlik doğrulamalı bir reverse proxy arkasından erişin.

Modelleri ticari projelerde kullanabilir miyim?

Bu, her modelin kendi lisansına bağlıdır. Bazı modeller ticari kullanıma serbestken bazıları kısıtlamalar ya da ek koşullar içerir. Bir modeli ürününüzde kullanmadan önce lisansını okuyun.

Model cevapları neden yavaş?

İşlemcide çalışan modellerde hız; çekirdek sayısına, bellek hızına ve modelin büyüklüğüne bağlıdır. Daha küçük ya da daha çok sıkıştırılmış bir model seçmek, bağlam uzunluğunu kısaltmak ve aynı anda çalışan istek sayısını sınırlamak cevapları hızlandırır.

Nodesty

Yazar hakkında

Nodesty Ekibi · Altyapı ve Destek

Nodesty ekibi sunucularımızı, ağımızı ve DDoS korumamızı her gün işletir ve müşteri destek taleplerini 7/24 yanıtlar. Bu rehberler o deneyimden yazılır.

İlgili yazılar

Sunucunuzu şimdi başlatın.

Nodesty'nin üstün altyapısı ile projelerinizi özgürce inşa edin ve sınır tanımadan ölçeklendirin.

                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                             ············································                                                   
                                                ··································································································..........···························                                     
                                       ················..........................................................................................................................··············                             
                                  ·············.................::::::::::::::::::::::::::::::::::::::::::::::....................:::::::::::::::::::::::::::::::::::::::................···········                        
                             ············................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............·········                     
                         ············.................:::::::::::::::::::::::::::::::::::::::::::::::::::------------::::::::::::::::::::::::::::::----------------:::::::::::::::::::::..........········                  
                    ············......................::::::::::::::::::::::::::::::::::::------------------------------------------------------------------------------------:::::::::::::.........········                
                ··········.............................................::::::::::::::::::-------------==========================================-----------------------------------:::::::::::........·······               
             ········..................:.....................................::::::::::--------=======+++++++++++++++++++++++++++++++++++++=========================------------------::::::::::.......·······              
           ······.........::::::::::::::::::::................................:::::::-----=====++++xxxxxx**************************xxxxxxxxx++++++++++++++===================------------::::::::.......·······             
          ·····.......:::::::::::::::::::::::::::.............................:::::----===+++xxx****%%%%&&&&&&#############&&&&&&&%%%%%*******xxxxxxxx++++++++++++++==============----------:::::::......······             
         ····......::::::::-------------:::::::::::..........................::::---===+++xx***%%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@####&&&&&%%%%*******xxxxxxxxx+++++++++++++===========--------::::::......·····             
        ····.....:::::::--------------------:::::::::.......................::::---===++xxx**%%&&&###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&%%%%%********xxxxxxxxxxx++++++++++++========------::::::.....······            
        ····.....:::::--------------------------::::::::....................::::---===++xx***%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&&%%%%%**********xxxxxxxxxxxxx+++++++++=======------:::::.....·····            
        ····....::::::-------=============---------:::::::::................:::::---===+++xx***%%%&&&#####@@@@@@@@@@@@@@@@@@@@@@@@@#####&&&&&%%%%%%*************xxxxxxxxxxxxxx+++++++++======-----:::::....·····            
         ····....:::::-------================---------:::::::::...............:::::----===++++xxx***%%%%&&&&&&#################&&&&&&%%%%%%%*******************xxxxxxxxxxxxxxxxx++++++++======----:::::....·····            
         ·····....:::::--------=================---------::::::::::..............:::::::-----====+++++xxxxxx**************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++++=====-----::::....·····            
          ·····.....:::::--------=================----------:::::::::::.................:::::::::-------=============++++++++++++++++++++++++++++++++++++xxxxxxxxxxxxxxxxxxxxxxx++++++++======-----::::....·····            
            ·····.....:::::::----------===========-------------::::::::::::.........................::::::::::::::::::------------------=============+++++++++++++++++++++++++++++++++=======-----::::.....·····            
              ······......:::::::---------------------------------:::::::::::::........................................:::::::::::::::-----------============+++++++++++++++++++++========------:::::.....·····             
                 ······........:::::::::---------------------------:::::::::::::::::...........................................:::::::::::::------------=============================--------::::::.....······              
                    ·········.........:::::::::::::::-------------::::::::::::::::::::::::.......................................::::::::::::::::--------------------------------------::::::::......·······                
                          ··········............::::::::::::::::::::::::::::::::::::::::::::::::::................................::::::::::::::::::::::::::-------------:::::::::::::::.........········                   
                                  ············..................:::::::::::::::::::::::::::::::::::::::::::.........................:::::::::::::::::::::::::::::::::::::................···········                        
                                             ················.............................................................................................................·················                                 
                                                           ······················................................................................···························                                                
                                                                               ·········································································