v4 - Final

nurullah.net Blog AI Sistemi

Tenant16Prompts.php Teknik Dokümantasyonu

Son Güncelleme: 17 Mart 2026

GPT-4.1
İçerik Modeli
0.9
Temperature
50-150
Kelime Sayısı
2-3
Paragraf

Alınan Kararlar

✓ Karar Temperature: 0.9

1.0 ile karşılaştırıldı. 0.9 daha dengeli, yaratıcı ama tutarlı yazılar üretiyor. OpenAI dokümantasyonuna göre yaratıcı içerik için ideal aralık.

✓ Karar H2 Başlıkları: Kapalı

Kısa düşünce yazıları için başlık gereksiz. h2_count_min ve h2_count_max = 0 yapıldı.

✓ Karar Kelime Sayısı: 50-150

Tweet'e uygun kısa yazılar. 2-3 paragraf, keskin ve direkt anlatım.

✓ Karar Görsel: İnsan Yüzü Yok

Erkek figür gerekirse: 30'lu yaşlar, 185cm, 85kg, HER ZAMAN siluet veya arkadan - ASLA yüz görünmeyecek.

✓ Karar Profil Genişletildi

Sadece "yazılımcı" değil: Girişimci, iş adamı, şirket sahibi, AI uzmanı, dijital reklam, grafik, danışman, PlayStation tutkunu.

✓ Karar Kategoriler Eklendi

getDraftPrompt()'a 7 kategori ID'si eklendi: Teknoloji (3), Kariyer (4), Kişisel Gelişim (5), İş (10), Ekonomi (2), Türkiye (1), Gündem (12).

Yazar Profili

Kim?

  • Girişimci, iş adamı, şirket sahibi
  • Türk Bilişim (2007) & iXtif A.Ş. (2025) kurucusu
  • Yazılımcı (1998'den beri)
  • Yapay zeka uzmanı
  • Dijital reklam ve grafik deneyimi
  • Danışman
  • PlayStation tutkunu

Yazım Stili

  • Günlük konuşur gibi
  • Kısa, keskin, samimi
  • Kendi düşüncesi, deneyimi
  • 2-3 paragraf, 50-150 kelime

Yasak

  • -dır/-dir/-tır/-tir ile biten cümleler
  • "Sonuç olarak...", "Değerlendirildiğinde..."
  • "Analiz edildiğinde..." gibi akademik kalıplar
  • Uzun açıklamalar, tanımlar

İçerik Ayarları (getContentSettings)

Kelime & Yapı

word_count_min 50
word_count_max 150
section_word_count 75
content_min_chars 250

Başlık & Bölüm

h2_count_min 0
h2_count_max 0
h3_per_section 0

Özellikler

enable_faq false
enable_howto false
enable_image true
image_required false

Stil

writing_style 'keskin'
company_name_min_mentions 0

Blog Kategorileri

3
Teknoloji
yazılım, AI, kod, araçlar
4
Kariyer
iş hayatı, yöneticilik, ekip
5
Kişisel Gelişim
öğrenme, alışkanlıklar
10
İş
girişimcilik, şirket, proje
2
Ekonomi
piyasa, yatırım, finans
1
Türkiye
yerel, sektör gözlemleri
12
Gündem
aktüel olaylar, trendler

AI Model Yapısı

İçerik Üretimi

GPT-4.1
  • Blog yazısı üretimi
  • Başlık, içerik, özet, tweet
  • Temperature: 0.9
  • Keskin, samimi yazım

Görsel Prompt

GPT-4o
  • Gold Dark atmosferik prompt
  • Başlık + excerpt analizi
  • Temperature: 0.85
  • 40-60 kelime İngilizce çıktı

Görsel Üretim Sistemi

Renk Paleti

  • • Ana: Siyah, koyu gri
  • • Accent: Gold (#d97706), amber
  • • Işık-gölge dengesi

Teknik

  • • YATAY panoramik
  • • Merkeze yerleştirme
  • • DSLR kalitesi
  • • Fotogerçekçi

Türkiye

  • • Türk kültürüne uygun
  • • Tanıdık sahneler
  • • Doğal his

Erkek Figür (Gerekirse)

Bu figür blog yazarını temsil eder - konuyu değil. Sahneyi izleyen, düşünen biri.

  • Yaş: 30'lu yaşlar
  • Boy: 185cm
  • Kilo: 85kg atletik yapı
  • Kıyafet: Siyah ceket, siyah pantolon, beyaz t-shirt, beyaz sneaker
  • YÜZ: ASLA gösterilmez - HER ZAMAN siluet veya arkadan

YASAK

  • • İNSAN YÜZÜ (hiçbir açıdan)
  • • Kalabalık/karmaşık sahne
  • • Aşırı detay

ÖZGÜRLÜK

  • • Konuyu yaratıcı yorumla
  • • Tek düze düşünme
  • • Her blog için FARKLI yaklaşım

Tüm Metodlar

getAIModel() GPT-4.1

İçerik üretimi için kullanılan model. Keskin, samimi yazım için optimize.

getTemperature() 0.9

Yaratıcılık parametresi. 0.9 = yaratıcı ama tutarlı (kişisel blog için ideal).

getContentSettings() array

Kelime sayısı, başlık, FAQ, HowTo, görsel ayarları. Kısa düşünce yazıları için optimize.

getDraftPrompt() string

Konu önerisi promptu. Nurullah profili + 7 kategori (ID'li) + JSON format.

getBlogContentPrompt() string

Blog yazım promptu. Profil + kurallar + yasaklar + JSON format.

skipGPT4Enhancement() true

LeonardoAIService'in GPT-4 enhancement'ını atla. Tenant16 kendi GPT-4o çağrısını yapıyor.

buildImagePromptForBlog(title) string

Sadece başlıkla görsel prompt oluştur. Fallback - excerpt yoksa kullanılır.

buildImagePromptForBlogWithExcerpt(title, excerpt) string

Başlık + excerpt ile görsel prompt. Daha iyi sonuç için ana metod.

generateCreativeGoldDarkPrompt(title, excerpt) protected

GPT-4o ile Gold Dark atmosferik prompt oluşturur. Ana görsel üretim metodu.

buildFallbackPrompt(title) protected

GPT-4o başarısız olursa kullanılan fallback prompt. Basit ama etkili.

getFallbackOutline(topicKeyword) array

Outline bulunamazsa fallback bölümler: "Neden Bu Konuyu Seçtim?", "Deneyimlerimden Çıkardığım Dersler", "Sonuç: Benim Önerim".

getContext() array

Tenant bilgileri: isim, website, email, adres, slogan, focus (personal-blog).

JSON Çıktı Formatı

{
  "title": "Başlık",
  "content": "<p>Paragraf 1</p><p>Paragraf 2</p><p>Paragraf 3 (opsiyonel)</p>",
  "excerpt": "Özet (1 cümle)",
  "tweet": "280 karakter: hook + fikir + soru"
}

Sistem Akışı

1

TenantPromptLoader

Tenant ID'ye göre prompt class'ı yükler

2

Tenant16Prompts

Özel ayarlar ve promptlar

3

BlogAIContentWriter

İçerik üretimi orchestration

4

LeonardoAI

Görsel üretimi

Dosya Konumları

Modules/Blog/App/Services/TenantPrompts/
├── DefaultPrompts.php              # Base class
├── TenantPromptLoader.php          # Loader
└── Tenants/
    └── Tenant16Prompts.php         # nurullah.net

Modules/Blog/App/Services/
└── BlogAIContentWriter.php         # Orchestrator

App/Services/Media/
└── LeonardoAIService.php           # Görsel üretim