Kısaca:
Yerel yapay zeka donanımınızda çalışır, istek başına hiçbir maliyet getirmez ve verileri gizli tutar. API tabanlı yapay zeka ile başlamak daha hızlıdır, daha yeteneklidir ve altyapı gerektirmeden ölçeklenir. Çoğu ekip her ikisine de ihtiyaç duyar. Bu kılavuz, her yaklaşımın ne zaman öne çıktığını somut sayılarla ele almaktadır.
Giriş
Gemma 4'ün bir iPhone'da yerel olarak çalışması. Tam bir dil modelini API anahtarı olmadan entegre eden bir tarayıcı eklentisi. Bunlar 18 ay önce mümkün değildi. Bugün HackerNews'te yayınlanıyorlar.
Karar eskiden basitti: öncü modeller yalnızca API tabanlıydı, diğer her şey önemsiz kalacak kadar zayıftı. Bu durum değişti. Qwen2.5-72B, Gemma 4 ve DeepSeek-V3 gibi yerel modeller artık gerçek karşılaştırmalarda rekabet ediyor. Daha önce varsayılan olarak OpenAI'nin API'sini kullanan geliştiriciler, özellikle gizlilik hassasiyeti olan uygulamalar veya token başına maliyetlerin hızla arttığı yüksek hacimli görevler için yeniden düşünüyor.
Bu makale pazarlama söylemlerini bir kenara bırakıyor. Maliyet, gecikme süresi ve yetenek hakkında somut sayılar elde ederek kullanım durumunuz için doğru kararı verebileceksiniz.
/v1/chat/completions'ına yönlendirebilir ve aynı doğrulamaları çalıştırabilirsiniz. Bunun hakkında daha sonra daha fazla bilgi vereceğiz. Temel test yaklaşımı için [internal: api-testing-tutorial] bölümüne bakın.Yapay Zekayı "Yerel Olarak Çalıştırmak" Gerçekte Ne Anlama Geliyor?
Yerel yapay zeka tek bir şey değildir. Üç farklı kurulum mevcuttur:
Cihaz üzerinde çıkarım: Model tamamen cihaz üzerinde, sunucu olmadan çalışır. Bir tarayıcı sekmesindeki Gemma Gem, bir iPhone'un Sinirsel Motorundaki Gemma 4 veya MacBook'unuzdaki bir Ollama modeli. İndirdikten sonra internet gerekmez.
Kendi kendine barındırılan sunucu: Kendi donanımınızda (bir iş istasyonu, kontrol ettiğiniz bir bulut VM veya şirket içi bir sunucu) bir model çalıştırır ve bir API sunarsınız. Model son kullanıcının cihazında çalışmaz, ancak OpenAI'de de değildir. llama-server, Ollama ve vLLM gibi araçlar bunu yönetir.
Özel bulut: Kendi bulut altyapınıza bir model dağıtırsınız (AWS Bedrock özel modelleri, Azure özel uç noktaları, GCP Vertex AI özel modelleri). Genel API'den daha fazla kontrol, tamamen kendi kendine barındırmaktan daha az sorun.
Bu makaledeki karşılaştırma, çoğu geliştiricinin karşılaştığı karar olduğu için kendi kendine barındırılan sunucu ve genel API'ye odaklanmaktadır.
Maliyet karşılaştırması
Yüksek hacimli iş yüklerinde yerel yapay zekanın açıkça kazandığı nokta burasıdır.
Genel API fiyatlandırması (Nisan 2026):
| Model | Giriş (1M token başına) | Çıkış (1M token başına) |
|---|---|---|
| GPT-4o | $2.50 | $10.00 |
| Claude 3.5 Sonnet | $3.00 | $15.00 |
| Gemini 1.5 Pro | $1.25 | $5.00 |
| GPT-4o mini | $0.15 | $0.60 |
| Claude 3 Haiku | $0.25 | $1.25 |
Kendi kendine barındırma maliyet tahmini (tek bir A100 80GB üzerinde Qwen2.5-72B):
Lambda Labs'tan bir A100 80GB, isteğe bağlı olarak saatte ~1.99 dolara mal olur. INT4 nicelemesindeki Qwen2.5-72B tek bir A100'e sığar ve kabaca saniyede 200 token sunar.
%100 kullanım ile saniyede 200 token'da, bu saatte 720K token veya toplamda (giriş + çıkış) 1K token başına kabaca 0.0028 dolardır. Bağlam için, GPT-4o yalnızca 1K token çıkış başına 0.01 dolar ücret alır.
Maliyetleri karşılama noktası: Günde sürekli olarak ~70K'dan fazla çıkış tokenı işliyorsanız, kendi kendine barındırma GPT-4o'yu maliyet açısından yener. Bunun altında, API kazanır çünkü boşta kalan GPU süresi için ödeme yapmazsınız.
Daha hafif modeller için: 4-bit nicelenmiş bir Gemma 4 (12B), tek bir RTX 4090 üzerinde çalışır (ikinci el 600-800 dolar). Eşdeğer bulut GPU süresi için saatte 0.40 dolar ile kendi kendine barındırma, günde kabaca 15K çıkış tokenında GPT-4o mini'ye karşı maliyetleri karşılar.
Gecikme süresi karşılaştırması
İşte burası daha incelikli hale geliyor.
İlk tokena kadar geçen süre (TTFT): Tahsis edilmiş bir A100'de, 72B modelle 1K tokenlık bir istem için TTFT kabaca 800ms-1.5s'dir. OpenAI'nin API'si, benzer girdiler için normal yük altında genellikle ilk tokenı 300-800ms'de döndürür.
Cihaz üzerinde çıkarım için (iPhone Sinirsel Motoru, Apple Silicon), Gemma 4 için TTFT 200-400ms'dir çünkü ağ gecikmesi sıfırdır. Cihaz üzerinde çalışmanın açıkça kazandığı nokta burasıdır.
Verimlilik (Throughput): INT4'te 72B bir model çalıştıran tek bir A100, tek bir kullanıcıya iyi hizmet verir ancak toplu işlem yapılmadığında eşzamanlı yük altında performansı düşer. Genel API'ler eşzamanlılığı şeffaf bir şekilde yönetir.
Akış (Streaming): Her iki yaklaşım da akışı destekler. Cihaz üzerindeki modeller için tüm üretim yerel olarak gerçekleşir, bu nedenle ağ titremesi yoktur. API modelleri için ise ağ koşullarına bağlısınızdır.
Özet: En düşük gecikme süresi (ağ yok) için cihaz üzerinde çalışma kazanır. Ölçekte verimlilik için (vLLM aracılığıyla uygun toplu işlemle) kendi kendine barındırma kazanır. Ani kapasite ve basitlik için genel API kazanır.
Yetenek karşılaştırması
En zorlu görevler için genel API'lerin hala bir avantajı olduğu nokta burasıdır.
Muhakeme ve karmaşık görevler: GPT-4o ve Claude 3.5 Sonnet, MMLU, HumanEval ve karmaşık çok adımlı muhakemede açık ağırlık modellerinin önünde kalmaya devam ediyor. Qwen2.5-72B ve DeepSeek-V3 ile aradaki fark önemli ölçüde azaldı, ancak hala gerçek.
Kod üretimi: Yakın. DeepSeek-Coder-V2 ve Qwen2.5-Coder-32B, birçok kod kıyaslamasında GPT-4o ile eşleşiyor. Kendi kendine barındırılan bir kurulumda koda özgü görevler için genel amaçlı bir model yerine özel bir kod modeli kullanabilirsiniz.
Bağlam uzunluğu: Öncü API modelleri 128K-1M token bağlamlarını destekler. Çoğu kendi kendine barındırılan model pratikte 32K-128K'da sınırlıdır (daha uzun bağlamlar orantılı olarak daha fazla bellek gerektirir).
Çok modlu: GPT-4o ve Gemini 1.5 Pro, görüntü, ses ve video girişlerini işler. Açık ağırlıklı çok modlu modeller (LLaVA, Qwen-VL) mevcut ancak geride kalıyor.
Fonksiyon çağırma / araç kullanımı: OpenAI ve Anthropic en güvenilir araç kullanım desteğine sahiptir. Araç kullanımı olan açık ağırlık modelleri çalışır ancak karmaşık araç zincirlerinde daha az tutarlıdır. Bunun aracı mimarilerini nasıl etkilediğini öğrenmek için [internal: how-ai-agent-memory-works] bölümüne bakın.
Gizlilik ve veri kontrolü
Burada yerel çözüm tartışmasız kazanır.
Genel bir API ile: - İstemleriniz ağınızdan ayrılır - Sağlayıcının veri saklama politikası geçerlidir (OpenAI, API aracılığıyla devre dışı bırakmadığınız sürece varsayılan olarak girişleri 30 gün boyunca saklar) - Hassas içerik konusunda sağlayıcının hizmet koşullarına tabisiniz - Düzenlemeye tabi sektörlerde (sağlık, finans, hukuk), bu bir uyumluluk engelleyici olabilir
Kendi kendine barındırılan bir modelle: - İstemler altyapınızda kalır - Üçüncü taraf veri saklama yok - Modelin neyi işleyip neyi işleyemeyeceği üzerinde tam kontrol - GDPR/HIPAA uyumluluğunu sürdürmek daha kolaydır
Kişisel sağlık verilerini, yasal belgeleri veya tescilli kodları işleyen uygulamalar için kendi kendine barındırma genellikle isteğe bağlı değildir.
Model nerede çalışırsa çalışsın yapay zeka entegrasyonları nasıl test edilir
İster https://api.openai.com/v1/chat/completions'a ister http://localhost:11434/api/chat (Ollama) veya http://localhost:8080/v1/chat/completions (llama-server) adresine erişiyor olun, API yüzeyi OpenAI ile uyumludur. Bu önemlidir çünkü Apidog Test Senaryoları herhangi bir HTTP uç noktasına karşı çalışır.
Tek bir Test Senaryosu her ikisine karşı da çalışabilir:
{
"scenario": "Chat completion smoke test",
"environments": {
"local": {"base_url": "http://localhost:11434"},
"production": {"base_url": "https://api.openai.com"}
},
"steps": [
{
"name": "Basic completion",
"method": "POST",
"url": "{{base_url}}/v1/chat/completions",
"body": {
"model": "{{model_name}}",
"messages": [{"role": "user", "content": "Say 'test passed' and nothing else"}],
"max_tokens": 20
},
"assertions": [
{"field": "status", "operator": "equals", "value": 200},
{"field": "response.choices[0].message.content", "operator": "contains", "value": "test passed"},
{"field": "response.usage.total_tokens", "operator": "less_than", "value": 50}
]
}
]
}
Bu senaryoyu geliştirme sırasında yerel Ollama örneğinize ve CI'da OpenAI API'sine karşı çalıştırın. Kodunuz yerel modele karşı çalışıyorsa, API'ye karşı da çalışmalıdır. Çalışmıyorsa, fark genellikle şunlarda olur: - Model adı formatı (Ollama qwen2.5:72b kullanırken, OpenAI gpt-4o kullanır) - Fonksiyon çağırma yanıt yapısı (sağlayıcılar arasında küçük farklar) - Akış olay formatı (veri vs. delta vs. tam yanıt nesneleri)
Apidog'un Smart Mock'u, GPU'nun çevrimiçi olmasına gerek kalmadan CI'da yerel model davranışını simüle etmek için kullanışlıdır. Geçerli OpenAI uyumlu yanıtlar döndüren bir mock yapılandırın ve Test Senaryolarınızı buna karşı çalıştırın. Yanıt yapılarının model düzeyinde neden farklılaştığına dair arka plan bilgisi için [internal: how-to-build-tiny-llm-from-scratch] bölümüne bakın.
10 dakikada yerel bir model sunucusu kurma
Taahhütte bulunmadan önce kendi kendine barındırmayı denemek isterseniz, Ollama en hızlı yoldur:
# Ollama'yı kurun
curl -fsSL https://ollama.com/install.sh | sh
# Bir model çekin (Gemma 4 12B, 10GB VRAM'e sığar)
ollama pull gemma4:12b
# Sunucuyu başlatın (11434 portunda OpenAI uyumlu API)
ollama serve
# Test edin
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gemma4:12b",
"messages": [{"role": "user", "content": "Hello"}]
}'
Çok kullanıcılı eşzamanlılıkla üretimde kendi kendine barındırma için vLLM daha iyi bir seçimdir:
pip install vllm
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen2.5-72B-Instruct-AWQ \
--quantization awq \
--max-model-len 32768
Bu, 8000 portunda OpenAI uyumlu bir API sunar. Apidog'u http://sunucunuz:8000 adresine yönlendirin ve Test Senaryolarınızı doğrudan çalıştırın.
Her bir yaklaşımı ne zaman seçeceğinizi
| Senaryo | Yerel | API |
|---|---|---|
| Yüksek hacimli toplu işleme (günde >100K token) | Daha ucuz | Pahalı |
| Gizlilik hassasiyeti olan veriler (sağlık, hukuk, finans) | Gerekli | Riskli |
| Cihaz üzerinde en düşük gecikme | En iyi | Mümkün değil |
| Öncü model yeteneği gerekliliği | Yetersiz | Gerekli |
| Değişken trafikli ani iş yükleri | Ölçeklendirmesi karmaşık | Otomatik olarak yönetir |
| GPU mevcut değil | Zor | Kolay |
| Geliştirme/test ortamı | Harika (Ollama) | Maliyeti var |
| Çok modlu görevler | Sınırlı | Tam destek |
| Düzenlemeye tabi sektör uyumluluğu | Daha kolay | DPA gerektirir |
Çoğu ekip için dürüst cevap: Üretim için genel bir API kullanın (kalite gerektiren görevler için Claude veya GPT-4o, yüksek hacimli daha ucuz görevler için Haiku veya 4o-mini) ve geliştirme ve test için yerel olarak Ollama kullanın. Bu size her iki dünyanın da en iyisini sunar: üretimde öncü kalite, geliştirmede sıfır maliyet ve baştan sona tutarlı OpenAI uyumlu API yüzeyi.
Açık kaynak kodlama asistanlarının yerel yapay zeka resmine nasıl oturduğunu görmek için [internal: open-source-coding-assistants-2026] bölümüne bakın.
Sonuç
Yerel ve API kararı ikili değildir. Doğru cevap hacminize, gizlilik gereksinimlerinize, gecikme süresi ihtiyaçlarınıza ve ihtiyacınız olan yetenek düzeyine bağlıdır.
Yapay zeka destekli uygulamalar geliştiren çoğu geliştirici için: genel bir API ile başlayın, aylık faturanız 200-300 doları aştığında kendi kendine barındırmaya geçin ve ilk günden itibaren yerel ortamınızda Ollama kullanın. Her yerde OpenAI uyumlu API yüzeyini kullanarak kodunuzu sağlayıcıdan bağımsız tutun.
Yerel ve bulut modeli davranışları arasındaki ince farklılıkları üretim hataları haline gelmeden yakalamak için her iki ortamı Apidog ile tutarlı bir şekilde test edin.
Sıkça Sorulan Sorular
Kullanışlı bir yerel modeli çalıştırmak için minimum GPU nedir?Bir RTX 3060 (12GB VRAM), Qwen2.5-7B veya Gemma 4 4B'yi tam kalitede çalıştırır. Bir RTX 4090 (24GB VRAM), çoğu 14B-20B modeli INT4 nicelemede ve 34B modelleri INT2'de işler. 72B modelleri için 2x 24GB GPU veya tek bir A100/H100'e ihtiyacınız vardır.
Apple Silicon üzerinde yerel yapay zeka çalıştırabilir miyim?Evet. Ollama'nın yerel Apple Silicon desteği vardır ve hızlandırma için Sinirsel Motoru kullanır. Bir M3 Pro (18GB birleşik bellek) Qwen2.5-14B'yi rahatça çalıştırır. Bir M4 Max (128GB) 70B modelleri işler.
Yerel model çıktısı kalitesi üretim için yeterince iyi mi?Göreve bağlıdır. Kod üretimi, özetleme ve yapılandırılmış veri çıkarımı için: evet, 32B+ bir modelle. Karmaşık muhakeme, incelikli yazım veya derin dünya bilgisi gerektiren görevler için: öncü API modellerinin hala açık bir avantajı vardır.
Yerel modeller fonksiyon çağırmayı destekler mi?Evet, ancak tutarsızdır. Llama 3.1, Qwen2.5 ve Mistral'in hepsi araç kullanımını destekler. Karmaşık araç zincirlerinde güvenilirliği GPT-4o veya Claude 3.5 Sonnet'ten daha düşüktür. Üretimde yerel model araç kullanımına güvenmeden önce Apidog Test Senaryoları ile kapsamlı bir şekilde test edin. Öncü modellerin kodlama bağlamlarında araç kullanımını nasıl ele aldığını görmek için [internal: claude-code] bölümüne bakın.
AWS'te 70B bir modeli kendi kendine barındırmak ne kadara mal olur?Bir p4d.24xlarge (8x A100 40GB), isteğe bağlı olarak saatte 32.77 dolara mal olur. Yüksek verimlilikle 70B INT8 bir model çalıştırır. Saatlik 1.21 dolar olan bir g5.2xlarge (1x A10G 24GB), daha hafif iş yükleri için 14B INT4 bir model çalıştırır. Ayrılmış örnekler bunları %30-40 oranında azaltır.
Ollama ve llama.cpp arasındaki fark nedir?llama.cpp, temel çıkarım motorudur. Ollama, llama.cpp'yi bir REST API, model yönetimi (çekme, listeleme, silme) ve basit bir CLI ile sarar. Geliştirme için Ollama'yı kullanın. Niceleme formatları veya donanım yapılandırması üzerinde daha fazla kontrole ihtiyacınız varsa llama.cpp'yi doğrudan (llama-server aracılığıyla) kullanın.
Kodumu değiştirmeden yerel ve API modelleri arasında geçiş yapabilir miyim?Evet, OpenAI uyumlu bir istemci kullanırsanız. Python'da: openai.OpenAI(base_url='http://localhost:11434/v1', api_key='ollama') Ollama'ya bağlanır. base_url'yi https://api.openai.com/v1 olarak değiştirin ve api_key'i buluta geçmek için güncelleyin. Bunları ortam değişkenleri aracılığıyla ayarlayın ve kodunuz asla değişmez.
