Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Laravel’da Yapay Zeka Destekli İçerik Üretimi: OpenAI ve Kuyruklar ile Pratik Bir Rehber
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Laravel’da Yapay Zeka Destekli İçerik Üretimi: OpenAI ve Kuyruklar ile Pratik Bir Rehber

Yazılım

Laravel’da Yapay Zeka Destekli İçerik Üretimi: OpenAI ve Kuyruklar ile Pratik Bir Rehber

teknomers
Son güncelleme: 23 Mart 2026 04:22
teknomers
Paylaş
Paylaş

Bu makalede, gerçek üretim ortamında bir Laravel uygulamasında yapay zeka içerik oluşturma işlevinin nasıl kurulacağını inceleyeceğiz. İşlemler, kuyruklu işler, akış yanıtları, oran sınırlama ve token maliyeti farkındalığını içerecek.


Neden Laravel’de Bunu Oluşturmalısınız?

Laravel ekosistemi, yapay zeka içerik işlemleri için beklenenden daha uygun bir altyapı sunar. Asenkron işleme için kuyruklar, gerçek zamanlı geri bildirim için olaylar, maliyetli API çağrıları için önbellekleme ve üretim geçmişini depolamak için Eloquent kullanabilirsiniz. OpenAI API’si ile birleştirildiğinde, ayrı bir mikro hizmete ihtiyaç duymadan sağlam bir temel oluşturursunuz.

Pratik bir içerik oluşturma özelliği geliştirelim — bu, bir blog taslak aracı, ürün açıklama oluşturucu veya iç belgeler asistanı işlevi görebilir.


OpenAI İstemcisini Ayarlama

Öncelikle resmi OpenAI PHP istemcisini ekleyin:

composer require openai-php/client
        

API çağrılarını kontrolcüleriniz arasında dağıtmaktansa, özel bir hizmet sınıfı oluşturun:

// app/Services/ContentGeneratorService.php

namespace App\Services;

use OpenAI\Client;
use Illuminate\Support\Facades\Cache;

class ContentGeneratorService
{
    public function __construct(private readonly Client $client) {}

    public function generateDraft(string $topic, string $tone = 'professional'): string
    {
        $cacheKey = 'draft_' . md5($topic . $tone);

        return Cache::remember($cacheKey, now()->addHours(6), function () use ($topic, $tone) {
            $response = $this->client->chat()->create([
                'model' => 'gpt-4o-mini',
                'messages' => [
                    [
                        'role' => 'system',
                        'content' => "You are a professional content writer. Write in a {$tone} tone. Return only the article body — no titles or meta commentary."
                    ],
                    [
                        'role' => 'user',
                        'content' => "Write a detailed 400-word article draft about: {$topic}"
                    ]
                ],
                'max_tokens' => 800,
                'temperature' => 0.7,
            ]);

            return $response->choices[0]->message->content;
        });
    }
}

Bunu bir hizmet sağlayıcısına bağlayabilir veya Laravel’in otomatik çözümlemesini kullanabilirsiniz. Buradaki önbellekleme katmanı önemlidir — aynı talepler API tokenlerini iki kez harcamaz.


İşleri Asenkron Olarak İşleme

Hızlı bir demo dışında, içerik üretimini bir kuyrukta gerçekleştirmek istersiniz — 5-10 saniye boyunca bir istek döngüsünü engellemeden.

php artisan make:job GenerateContentJob
        
// app/Jobs/GenerateContentJob.php

namespace App\Jobs;

use App\Models\ContentDraft;
use App\Services\ContentGeneratorService;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;

class GenerateContentJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public int $tries = 3;
    public int $backoff = 30; // yeniden deneme süreleri

    public function __construct(
        private readonly int $draftId,
        private readonly string $topic,
        private readonly string $tone
    ) {}

    public function handle(ContentGeneratorService $generator): void
    {
        $draft = ContentDraft::findOrFail($this->draftId);

        $draft->update(['status' => ]);

        try {
            $content = $generator->generateDraft($this->topic, $this->tone);

            $draft->update([
                => $content,
                => ,
                => now(),
            ]);
        } catch (\Exception $e) {
            $draft->update([=> ]);
            throw $e; // kuyruk yeniden denemeleri yönetsin
        }
    }
}

Bu desen, kontrolcünüzü ince tutar ve Laravel Horizon ile işleri izlemenizi sağlar.


Token Kullanımını ve Maliyetleri Takip Etme

Bu, çoğu öğreticinin göz ardı ettiği bir kısmıdır — ancak üretimde, token kullanımı doğrudan maliyeti etkiler. Bunu depolayın:

$response = $this->client->chat()->create([...]);

$usage = $response->usage;

TokenUsageLog::create([
    => ,
    => $usage->,
    => $usage->,
    => $usage->,
    => ($usage->/ ) * , // model fiyatlandırmasına göre ayarlayın
    => ,
]);

Bu tablo, aylık API faturalarını gözden geçirirken veya model değişikliği yapıp yapmamaya karar verirken son derece değerlidir.


Daha İyi Kullanıcı Deneyimi İçin Akış

Kullanıcıların beklediği yazı makinesi efektini istiyorsanız, OpenAI’nin akış API’si ile Laravel’in StreamedResponse‘ini birleştirmek temiz bir çözüm sunar:

public function stream(Request $request): StreamedResponse
{
    return response()->stream(function () use ($request) {
        $stream = $this->->chat()->createStreamed([
            => ,
            => [
                [=> ,
                => $request->input()]
            ],
        ]);

        foreach ($stream as $response) {
            $text = $response->choices[]->delta->?? ;
            echo . json_encode([=> ]) .  \n\n;
            ob_flush();
            flush();
        }

        echo  \n\n;
    }, , [
        => ,
        => ,
        => ,
    ]);
}

Frontend’de küçük bir Alpine.js bileşeni bu SSE akışını alabilir ve UI’yi token token güncelleyebilir — WebSocket gerektirmeden.


Oran Sınırlama ve Suistimalleri Önleme

Bu adımı atlamayın. Üretim uç noktalarınızı Laravel’in oran sınırlayıcısı ile sarın:

// In RouteServiceProvider or routes/api.php
RateLimiter::for(, function (Request $request) {
    return Limit::perMinute()->by($request->()?->?: ->());
});

Route::([, ])
    ->(, [::, ]);

Bu, çoğu kullanım durumu için cömert bir limit. Maliyet modelinize bağlı olarak ayarlayın.


İhtiyaç Duyulan Prompt Mühendisliği

Sistem isteğinizin kalitesi, çıktınızın %80’ini belirler. İstekleri kod gibi ele alın — versiyonlayın, test edin ve sürekli geliştirin. İsteklerinizi veritabanında veya yapılandırma dosyalarında depolayın, sabit stringler yerine şunları kullanın:

// config/prompts.php
return [
    => [
        => ,
        => ,
    ],
];

Bu yaklaşım, farklı istem versiyonlarını A/B test etmeyi de kolaylaştırır — bir AI özellikleri oluştururken sıkça yaptığımız bir uygulama. Geliştiriciler için bu desenlerin nasıl bir araya geldiğini görme fırsatı arıyorsanız, web sitemizi ziyaret edin burada gerçek Laravel projelerinden uygulama desenlerini belgelemekteyiz.


Sonuç

Laravel’de AI içerik oluşturmayı inşa etmek sihir değil — sadece yeni bir I/O türüne uygulanmış iyi yazılım mimarisidir. İşlerinizi kuyruklayın, agresif şekilde önbellekleyin, token kullanımınızı günlüğe kaydedin ve istemlerinizi birinci sınıf yapılandırma olarak ele alın. API çağrısının etrafındaki farklılaştırıcı unsurlar, hata işleme, yeniden deneme mantığı, maliyet görünürlüğü ve asenkron işlemler sırasında UX durumlarını içerir. Bunları başarıyla uyguladığınızda, gerçekten faydalı bir şey elde edersiniz.

Kaynak: Orijinal Makale

Contents
  • Neden Laravel’de Bunu Oluşturmalısınız?
  • OpenAI İstemcisini Ayarlama
  • İşleri Asenkron Olarak İşleme
  • Token Kullanımını ve Maliyetleri Takip Etme
  • Daha İyi Kullanıcı Deneyimi İçin Akış
  • Oran Sınırlama ve Suistimalleri Önleme
  • İhtiyaç Duyulan Prompt Mühendisliği
  • Sonuç
Üç.js ve Laravel ile Canlı 3D Galaksi Oluşturma Sürecim
Ücretsiz 5 Bölümlük Laravel Giriş Serisi
Bir Kamperde Yaşıyorum ve Claude ile Aylık 150 Dolar Karşılığında Küresel Bir Haber Toplayıcı Geliştirdim
Laravel ile Çok Kiracılı Bir Bordro Motoru Geliştirirken Öğrendiklerimiz
Laravel için akıcı Bir Sayılabilir API geliştirdim (v1.0.0)
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Yapay Zeka Etkileyicileri Ödülleri Sezonu Başladı
Sonraki Makale Laravel 13 Özellikleri – DEV Community

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Yeni Çılgın Taksi Oyunu Tanıtıldı: Klasik Offspring Şarkısı ile Geri Dönüyor
Oyun
Yeni Oyun Duyurusu: Persona 6 Resmen Açıklandı
Oyun
Gears Of War: E-Day ile Testere Lancer’ın Hikayesi Keşfediliyor
Oyun
Gears Of War’ta Devrim Niteliğinde Hareket Yeniliği
Oyun
Acil: Yapay Zeka Destekli Windows Terminal ile Tanışın!
Siber Güvenlik
Elegoo Jupiter 2 Reçineli 3D Yazıcı İncelemesi: Dev Geri Döndü
Donanım
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?