Laravel'e Yapay Zeka Entegrasyonu
Çoğu yapay zeka eğitimi Python kullandığınızı varsayar. Bu durum PHP geliştiricilerini geride bırakıyor.
Yakın zamanda canlıdaki bir Laravel paneline yapay zeka özellikleri ekledim. Ham verilerden rapor özetleri oluşturmak için Claude ve OpenAI API'lerini kullandım. Zor değildi. Asıl zorluk iyi bir PHP dokümantasyonu bulmaktı.
İşte Laravel'de temiz ve üretime hazır bir yapay zeka entegrasyonunu nasıl kuracağınız:
- Kimlik bilgilerinizi ayarlayın
Anahtarlarınızı .env dosyanıza ekleyin. Bunları asla doğrudan kodun içine yazmayın.
AI_PROVIDER=claude ANTHROPIC_API_KEY=your_key OPENAI_API_KEY=your_key
Bunları config/services.php dosyasında kaydedin. Bu, Laravel yapılandırma önbelleğe almayı (config caching) kullanmanıza olanak tanır.
- Bir Sürücü (Driver) Deseni Kullanın
API çağrılarını controller'larınıza dağıtmayın. Önce bir arayüz (interface) oluşturun.
Tam bir metoda sahip bir AiClientInterface tanımlayın. Ardından iki sınıf oluşturun: ClaudeClient ve OpenAiClient. Her ikisi de aynı arayüzü uygulasın.
Bu, .env dosyanızda tek bir satırı değiştirerek sağlayıcılar arasında geçiş yapmanızı sağlar. Bir servis çökerse, uygulamanız çalışmaya devam eder.
- Laravel'in HTTP İstemcisini Kullanın
Laravel, API çağrılarını basitleştirir. Karmaşık cURL kodlarına ihtiyacınız yoktur.
• OpenAI için withToken() kullanın.
• Claude için withHeaders() kullanın.
• Askıda kalan istekleri önlemek için timeout() kullanın.
• Hız sınırlarını (rate limits) otomatik olarak yönetmek için retry() kullanın.
- Üretim Ortamı İçin En İyi Uygulamalar
Yapay zeka çağrıları yavaş ve maliyetlidir. Para tasarrufu yapmak ve hızı artırmak için bu kuralları izleyin:
• Sonuçları önbelleğe alın: Eğer girdi verisi aynıysa, önbelleğe alınmış özeti döndürün. Bu, maliyetlerimi %70 oranında düşürdü.
• Kuyrukları (Queues) kullanın: Bir kullanıcının bir yanıt için asla 10 saniye beklemesine izin vermeyin. Yapay zeka görevini arka planda işlemek için kuyruğa alınmış bir iş (queued job) kullanın.
• Hataları yönetin: Yapay zeka çağrılarınızı try-catch blokları içine alın. Yapay zeka başarısız olursa, bir hata sayfası yerine ham veriyi gösterin.
• Sınırlar belirleyin: Harcamalarınızı kontrol etmek için her zaman bir max_tokens değeri belirleyin.
Yapay zeka özellikleri geliştirmek için Python öğrenmenize gerek yok. PHP becerileriniz burada mükemmel bir şekilde işe yarar.
PHP uygulamalarınıza yapay zeka eklediniz mi? Bir SDK mı yoksa ham HTTP mi kullandınız?
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi
