MacOs etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
MacOs etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

8 Eylül 2025 Pazartesi

Dizüstünüzde Yerel Yapay Zeka: Ollama ile LLM Çalıştırma ve API Entegrasyonu (Güncel Rehber)

Giriş

Yerel olarak çalışan büyük dil modelleri (LLM), gizlilik, gecikme süresi ve maliyet açısından bulut tabanlı çözümlere güçlü bir alternatif sunuyor. Özellikle geliştiriciler, veri güvenliği kritik olan kurumlar ve offline çalışması gereken uygulamalar için yerel LLM’ler ciddi avantaj sağlıyor. Bu rehberde, açık kaynak odaklı Ollama ile Windows, macOS ve Linux üzerinde LLM çalıştırmayı, ilk model indirme ve etkileşim, API entegrasyonu ve performans ipuçlarını adım adım anlatıyorum.

Neden Yerel LLM?

Gizlilik ve kontrol: Veriniz makinenizden çıkmaz. Hassas dokümanlar, müşteri bilgileri veya fikri mülkiyet içerikleri buluta gönderilmeden işlenir.

Düşük gecikme: İnternet bağlantısı ve servis yoğunluğundan bağımsız, tutarlı yanıt süreleri elde edilir.

Maliyet: Deney, prototip ve düşük trafikli senaryolarda API maliyetleri olmadan ilerleme şansı sağlar.

Özelleştirme: Modeli ve çalışma parametrelerini dilediğiniz gibi ayarlayabilir, hatta kendi verilerinizle yerelde ince ayar (LoRA) yapabilirsiniz.

Önkoşullar ve Donanım Notları

- RAM: 8 GB minimum; 16 GB ve üzeri rahat bir deneyim sunar. Büyük bağlam pencereleri (context) için daha fazla RAM yararlıdır.

- GPU/VRAM: GPU hızlandırma şart değil, ancak 6–8 GB VRAM orta boy modellerde belirgin hız kazandırır. Apple Silicon (M1/M2/M3) cihazlarda Metal hızlandırma iyi sonuç verir.

- Disk: Modellerin boyutu kuantizasyona göre değişir. 4–10 GB arası tek bir model için tipik bir aralıktır; birden fazla model planlıyorsanız boş alanı buna göre düşünün.

Ollama Kurulumu

macOS: Homebrew kullanıyorsanız brew install ollama komutuyla kurulum yapabilirsiniz. Alternatif olarak resmi sitedeki yönergeleri izleyebilirsiniz.

Windows: Resmi yükleyiciyi indirip çalıştırın. Kurulumdan sonra Ollama hizmeti arka planda çalışmaya başlar.

Linux: Dağıtımınıza uygun olarak resmi kurulum komutunu kullanın. Tipik kurulum için: curl -fsSL https://ollama.com/install.sh | sh. Ardından servisi başlatın: ollama serve.

İlk Modeli Çalıştırma

Ollama, “komut ver, model çekilsin ve çalışsın” deneyimi sunar. Örneğin:

ollama run mistral

Komut, ilgili modeli indirir ve etkileşimli bir kabuk açar. Alternatif olarak bir başka popüler seçenek:

ollama run llama3

İlk mesajınızı yazıp Enter’a basmanız yeterli. Çıkmak için /bye kullanabilirsiniz.

Model Yönetimi ve Faydalı Komutlar

ollama list — İndirilen modelleri ve boyutlarını listeler.

ollama pull MODEL_ADI — Modeli önceden indirir (ör. ollama pull llama3).

ollama show MODEL_ADI — Parametreler ve etiketler hakkında bilgi verir.

ollama rm MODEL_ADI — İlgili modeli diskten kaldırır.

API ile Entegrasyon

Ollama yerelde bir HTTP API sunar. Varsayılan uç nokta: http://localhost:11434. Basit bir üretim (generate) çağrısı için:

curl http://localhost:11434/api/generate -d '{ "model": "mistral", "prompt": "Merhaba! Bugün hava nasıl?" }'

Streaming yanıt almak için istemcinizde chunk’ları işleyebilir veya HTTP/2 ile daha pürüzsüz bir akış sağlayabilirsiniz. Çoğu dilde basit bir fetch/requests ile entegrasyon dakikalar içinde tamamlanır. Parametreler (ör. temperature, top_p, num_ctx) aynı JSON içinde belirtilebilir.

Performans İpuçları

Kuantizasyon seçimi: Küçük disk izi ve hızlı ilk token için Q4 serisi (ör. q4_k_m) iyi bir başlangıçtır; kalite gerekirse Q5/Q6 düşünebilirsiniz. Ollama çoğu model için mantıklı bir varsayılan indirir.

Bağlam penceresi (num_ctx): Daha büyük bağlam, daha çok RAM/VRAM kullanır. İhtiyacınıza göre 4K–16K aralığında deneyin.

GPU kullanımı: Uygunsa GPU hızlandırmayı etkinleştirin. NVIDIA için sürücü/CUDA tarafı düzenli; Apple Silicon’da Metal otomatikleşmiştir. Çalışma anında performans farkını kolayca hissedersiniz.

İlk token süresi: Soğuk başlangıçta üst seviye modeller birkaç saniye geç yanıt verebilir. Sık kullanılan modelleri “sıcak” tutmak için servis açık kalsın.

Kaliteyi Artırma: İpuçları ve Prompt Tasarımı

Sistem talimatı: Yanıtı kısıtlamayan, görev odaklı net bir sistem mesajı üretim kalitesini yükseltir.

Yapılandırılmış çıktı: JSON şema, maddeler veya adım adım çözüm isteyin. Örneğin: “Lütfen JSON döndür: {title, summary, keywords}”.

Kısa bağlamlar: Gereksiz detayları azaltıp örnek odaklı içerik verin; yerel modellerde bağlam ekonomisi fark yaratır.

Güvenlik ve Kurumsal Kullanım

Yerelde çalışma, veri sızıntısı riskini doğal olarak azaltır. Yine de uygulama düzeyinde giriş/çıkış filtreleri, PII maskeleme ve log politikasını konumlandırın. Paylaşılan iş istasyonlarında model dizinlerinin erişim izinlerini düzenlemek iyi bir fikirdir.

Sorun Giderme

Model indirme yavaş: Ayna (mirror) seçeneklerini kullanın ya da indirmeyi önceden planlayın. Ağ kesintilerinde indirme tekrar başlatılabilir.

Yüksek bellek kullanımı: Daha agresif kuantizasyon seçin, num_ctx değerini düşürün veya daha küçük bir model deneyin.

Yanıt kalitesi yetersiz: Talimatı netleştirin, örnek verin, gerekirse farklı bir model ailesi (mistral, llama, phi, qwen) deneyin.

Sonuç

Ollama, yerel LLM çalıştırmayı basit bir komutla mümkün kılıyor. Geliştirici bilgisayarında hızlı prototip, kurum içinde gizli veriyle güvenli deneme veya offline asistan gibi senaryolarda verimli bir temel sunuyor. Kurulumu tamamlayıp ilk modeli koşturduktan sonra, API üzerinden uygulamanıza entegre etmek yalnızca birkaç satır kod. Doğru kuantizasyon ve bağlam ayarıyla, oldukça akıcı ve ekonomik bir yapay zeka deneyimi elde edebilirsiniz.

5 Aralık 2024 Perşembe

Macbook Sequoia Anydesk Problemi Çözümü - Rosetta

 Macbook'un son sürümüne cihazımı yükselttiğimde Anydesk uygulamasının çalışmadığını farkettim. Aslında Anydesk açılıyor, ID veriyor ancak ne başka bir bilgisayara ne de başka bir bilgisayar benim cihazıma erişemiyor. Connection kısmında kalıyor, karşı tarafa istek ulaşmıyor. Uygulama izinleri verili ve herhangi bir eksiklik yok. Çözüm için aşağıdaki adımları uygulayabilirsiniz, ardından Anydesk uygulaması Sequoia sürümünde de rahatlıkla çalışmaya başlayacaktır.

Çözüm:

  • Finder uygulamasını açın
  • Anydesk uygulamasını bulun ve sağ klik yapın
  • Open using Rosetta yazısının yanında yer alan kutucuğu işaretleyin ve ekranı kapatın
  • Ardından Anydesk uygulamasını yeniden açmayı deneyin

Open Using Rosetta Nedir?

"Open Using Rosetta," Apple'ın macOS işletim sisteminde Intel tabanlı uygulamaların, Apple Silicon çipli (M1, M2 vb.) Mac'lerde çalışmasını sağlayan bir seçenektir. Rosetta 2, bu uyumluluğu sağlamak için uygulamaları çalıştırmadan önce kodlarını otomatik olarak dönüştürür. Bu özellik, eski uygulamaların yeni cihazlarda sorunsuz çalışmasını mümkün kılar. Ancak, performans açısından doğal Apple Silicon uygulamalarına göre biraz daha yavaş olabilir. Yeni bir Mac kullanıyorsanız ve eski bir uygulamayı açarken sorun yaşıyorsanız, bu seçeneği aktif hale getirmek faydalı olabilir.

18 Ekim 2024 Cuma

Rider Developer Tools Access Hatası Disable Etme - Kullanıcı Yetkilendirmesi

Rider'da bir proje debug edilirken sistem dosyalarındaki değişiklik için admin yetkisine ihtiyaç duyuluyor, bunu normal bir user yetkisindeki kullanıcının admin yetkisine ihtiyaç duymadan yapabilmesi için terminal üzerinden aşağıdaki komut bir kere çalıştırılır ve uyarı disable edilmiş olur.


sudo security authorizationdb write system.privilege.taskport allow

Bu komut, macOS'taki bir sistem yetkilendirmesini (system.privilege.taskport) tüm kullanıcılara erişilebilir hale getirir, böylece kullanıcılar belirli sistem süreçlerine erişim veya kontrol yetkisi kazanır. Ancak, bu sadece süreçlerle ilgili bir erişim hakkı sağlar ve kullanıcının genel yetkilerini veya rolünü (örneğin, yönetici yapma) değiştirmez. Güvenlik açısından dikkatle kullanılmalıdır, çünkü yetkilerin açılması potansiyel güvenlik risklerine yol açabilir.

27 Ağustos 2023 Pazar

HomeBrew Path Hatası Çözümü ve Macbook'a Ubuntu Kurmanın En Kolay Yolu

Ubuntu için multipass ve paket yönetimi içinde bilgisayarıma homebrew kurmaya çalışırken path hatasıyla karşılaştım. Bu hata aslında homebrew'in kurulduğunu ancak PATH ayarlarının yapılmadığını söylüyordu. Aldığım hatanın tam olarak metni ve ekran görüntüsü aşağıdaki gibi:


Warning: /opt/homebrew/bin is not in your PATH.
Instructions on how to configure your shell for Homebrew can be found in the 'Next steps' section below. ==> Installation successful!

Dolayısı ile macbook terminal üzerinde brew --version komutunu çalıştırdığımda yanıt alamıyordum. PATH ayarlarının yapılandırılması gerekiyordu.

Homebrew'i ilk kurarken kullandığım komutu unutmadan buraya ekleyeyim, zaten kendi web sitelerinde var ama blogda da dursun fena olmaz arkadaşlar.

$/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

PATH ayarlarını yapmak için kullandığım adımlar sırasıyla aşağıdaki gibidir:


İlk olarak zshrc dosyası oluşturulur, terminali kullanarak bu adımlara devam ediyoruz:
$touch ~/.zshrc

Ardından dosyayı düzenlemek için code veya bir metin editörüyle içerisine giriyoruz, ben nano kullanarak yapmayı tercih ettim:
$nano ~/.zshrc

Ardından içerisine aşağıdaki bilgileri ekleyip kaydederek çıkıyoruz, macte kaydetmek için Control+X ve YES kombinasyonunu kullanmanız gerekiyor:
$export PATH="/opt/homebrew/bin:$PATH"

son olarak yaptığımız değişiklikleri yüklemek için bu komutu çalıştırıyoruz:
$source ~/.zshrc

Artık path işlemi gerçekleşmiş olmalı ve terminale aşağıdaki komutu girerek homebrew yüklü sürümümüzü gözlemleyebilir ve bash komutlarını direkt terminalde kullanabiliriz:
$brew --version







Artık terminale bash komutu yazıp enter yaptıktan sonra kabuk arayüzüne geçerek diğer kurulumlarıma geçebilirim. Bu aşamadan önce multipass uygulamasını da ubuntu sitesinden indirip kurdum ve devamında bash üzerinde çalıştırdığım diğer komutları aşağıda listeliyorum:

$brew install qemu
$multipass help

Bu ekran lazım olabilir dursun burada:



$multipass version
$multipass launch -c 2 -m 2GB -d 30GB









Müthiş, harika bir kolaylık. Tek bir komutla ubuntu makinesi açıyorsunuz resmen. Virtualbox'la vs. dakikalarca uğraşmanıza gerek yok. Tek bir komut ve ubuntu elimin altında. Artık bundan sonrası RDP ile veya SSH ile veya canımız nasıl istiyorsa bağlanıp istediğimiz gibi ubuntuyu kullanmak kalıyor geriye.

Bu arada cihazlardan birini silmeyi denedim, bu komutu kullandım:
$multipass delete primary
Silme işleminin kalıcı olarak gerçekleşmesi için ek olarak buradaki komut çalıştırılır:
$multipass purge

instance ile ilgili bilgi almak için:
$multipass info unruffled-ghoul

Ve artık $multipass shell unruffled-ghoul komutunu yazarak kabuk üzerinden direkt ubuntunun shell ekranına salileser içerisinde geçiş yapabiliyoruz, hıza bakın bu inanılmaz bir şey değil mi?



$cat /etc/lsb-release
$sudo apt update
$sudo apt install neofetch
$neofetch

Eğer masaüstü ubuntu deneyimine geçmek istersek bu komut ile desktop özelliğini aktifleştirebiliyoruz, yani yükleme yapabiliyoruz.

$sudo apt install ubuntu-desktop xrdp 
$sudo passwd ubuntu
$ip a

Geriye ssh ile veya direkt multipass uygulaması kısayolu üzerinden shell linki ile tek tıklamayla sunucuya erişmeye veya RDP yaparak cihaza erişmeye kalıyor. Hepsi bu kadar.