Laravel ile AI Gateway Kurulumu: OpenAI + Ollama (Local AI) Tek Adresten Yönetim

Laravel ile AI Gateway Kurulumu: OpenAI + Ollama (Local AI) Tek Adresten Yönetim

Yapay zekâ entegrasyonları artık modern web uygulamalarının vazgeçilmez bir parçası haline geldi. Ancak çoğu projede şu sorun ortaya çıkar:

“Hangi AI sağlayıcısını kullanmalıyım? OpenAI mi, yoksa local (Ollama) mı?”

Bu yazıda, bu sorunu kökten çözen bir mimariyi anlatıyoruz:

👉 Tek bir API (ai.kitmote.com) üzerinden hem OpenAI hem de local AI (Ollama) kullanabilen bir sistem

Bu yapı sayesinde:

  • Tek endpoint ile tüm AI işlemleri yönetilir
  • Provider değiştirmek sadece ayar değişikliği olur
  • Trafik arttığında local AI’ya geçiş kolaylaşır
  • SaaS sistemler için multi-tenant AI altyapısı oluşturulur

🧠 Neden AI Gateway?

Klasik yaklaşım:

 
Frontend → OpenAI API
 

Bu yaklaşım:

  • API key güvenliği sorunları yaratır
  • Provider bağımlılığı oluşturur
  • Esnek değildir

Bizim yaklaşım:

 
Client → ai.kitmote.com → AI Provider
 

Yani:

  • Tüm AI istekleri tek merkezden geçer
  • Provider seçimi backend tarafından yapılır
  • Güvenlik ve loglama kontrol altına alınır

🏗️ Sistem Mimarisi

https://miro.medium.com/v2/resize%3Afit%3A875/0%2A0YiHfsf_hWAQ9Kw8.png
https://sgnl.ai/images/blog/3-sgnl-aws-api.png
https://media.licdn.com/dms/image/v2/D5612AQGEcPvpteKVOw/article-inline_image-shrink_400_744/B56ZWdPIlIHoAc-/0/1742099746253?e=2147483647&t=FkLkduUgprBZpXMnpJdUfO4y6QkANIafoHJ1YMMQ82A&v=beta
 

Genel akış şu şekildedir:

 
Client Domain

ai.kitmote.com (Laravel API)

Middleware (Security Layer)

AI Manager

Provider Resolver

[ OpenAI | Ollama | Fallback ]

Response + Logging
 

⚙️ Kullanılan Teknolojiler

  • Laravel 13 → API & orchestration
  • OpenAI API → cloud AI
  • Ollama → local AI (GPU gerekmeden çalışabilir)
  • MySQL → settings + log
  • Pest → test altyapısı

🔌 Provider Mantığı (Core Idea)

Sistemin kalbi şu prensip:

Controller provider’ı bilmez, sadece AI Manager çağırır.

Interface

 
interface AiProviderInterface
{
public function generate(AiRequestData $request): AiResponseData;
}
 

Provider örnekleri

  • OpenAiProvider
  • LocalAiProvider (Ollama)
  • NullProvider (fallback)

🔄 Provider Switching Algoritması

Sistemin en kritik kısmı:

 
1. aktif provider = settings tablosundan okunur
2. provider available mı kontrol edilir
3. değilse fallback provider’a geçilir
4. hiçbiri yoksa controlled error döner
 

Pseudo code

 
if (provider == local) {
if (local_available) {
return local;
}

if (fallback == openai) {
return openai;
}

return nullProvider;
}

if (provider == openai) {
return openai;
}
 

⚡ OpenAI Entegrasyonu (Cloud AI)

 
$response = Http::withToken($apiKey)
->post('https://api.openai.com/v1/responses', [
'model' => 'gpt-4.1-mini',
'input' => $prompt,
]);
 

Avantajları:

  • yüksek doğruluk
  • stabil performans
  • sıfır altyapı maliyeti (başlangıçta)

🖥️ Ollama ile Local AI

 
 
 

Ollama sayesinde:

  • GPU olmadan bile local model çalıştırabilirsin
  • API endpoint üzerinden erişim sağlar
 
ollama run llama3
 

Laravel tarafında:

 
Http::post('http://localhost:11434/api/generate', [
'model' => 'llama3',
'prompt' => $prompt,
]);
 

Avantajları:

  • maliyet yok (API yok)
  • veri dışarı çıkmaz
  • offline çalışabilir

🧩 Settings Tabanlı Yönetim

Tüm sistem ayarlardan yönetilir:

ai_provider = openai | local
ai_fallback_provider = openai
ai_local_enabled = true/false
ai_openai_api_key = xxx
 

Bu sayede:

👉 Kod değiştirmeden provider değiştirebilirsin


🔐 Güvenlik Katmanı

Bu sistemde kritik konu:

“Herkes API’yi kullanamasın”

Bu yüzden middleware katmanı:

  • API Token kontrolü
  • Domain whitelist
  • IP whitelist
  • Rate limit
 
Request → Token check → Domain check → IP check → AI
 

📊 Loglama ve Maliyet Takibi

Her AI isteği kayıt altına alınır:

  • provider
  • model
  • input/output token
  • response süresi
  • maliyet
  • domain

Bu sayede:

👉 “Ne kadar harcadım?” sorusuna net cevap alırsın


🚀 Gerçek Dünya Kullanım Senaryosu

Bu yapı özellikle şu sistemlerde çok güçlü:

  • CV oluşturma (KitResume tarzı)
  • Blog içerik üretimi
  • SEO açıklama üretimi
  • Chat sistemleri
  • SaaS AI servisleri

🔁 Hibrit AI Stratejisi (En kritik kısım)

En doğru yaklaşım:

Aşama Kullanım
Başlangıç OpenAI
Trafik artınca Hybrid
Büyük ölçek Local AI

Yani:

Bugün → OpenAI
Yarın → OpenAI + Local
Sonra → Local ağırlıklı
 

🎯 Sonuç

Bu yazıda şunu öğrendik:

  • AI Gateway ile tek endpoint yönetimi
  • Laravel ile provider abstraction
  • OpenAI + Ollama birlikte kullanımı
  • fallback ve provider switching mantığı
  • SaaS için ölçeklenebilir AI mimarisi

👉 En önemli çıkarım:

AI entegrasyonu sadece “API çağırmak” değil, doğru mimariyi kurmaktır.

Keywords: laravel ai integration, ollama laravel, openai laravel api, ai gateway nedir, local ai nasıl kurulur, laravel yapay zeka entegrasyonu

Sıkça Sorulan Sorular

AI Gateway nedir?

AI Gateway, OpenAI veya yerel modeller (Ollama gibi) gibi farklı yapay zekâ sağlayıcılarına gelen istekleri yöneten merkezi bir API katmanıdır.

Ollama GPU olmadan çalışır mı?

Evet, Ollama CPU üzerinde çalışabilir. Ancak performans, GPU kullanıldığında belirgin şekilde artar.

Neden OpenAI API’yi frontend’den direkt çağırmamalıyım?

Çünkü API anahtarları gizli tutulmalıdır. Backend üzerinden kullanmak; güvenlik, loglama, rate limit ve provider yönetimi açısından daha doğru bir yaklaşımdır.

Laravel ile birden fazla AI sağlayıcı yönetilebilir mi?

Evet. Provider pattern ve servis katmanı kullanılarak Laravel içinde farklı AI sağlayıcıları arasında dinamik geçiş yapılabilir.

Yorumlar

Log in or sign up to write a comment
Giriş
Sign Up