Tenant16 AI v3 - Tam Dokümantasyon 330 Satır Kod

Tenant16Prompts.php Tam Analiz

nurullah.net için tüm AI ayarları, metodlar, promptlar ve görsel sistemi.

Modules/Blog/App/Services/TenantPrompts/Tenants/Tenant16Prompts.php

✅ Bu Konuşmada Alınan Kararlar (17 Mart 2026)

🌡️
Temperature: 0.9
OpenAI önerisi, kalacak
📝
H2: Kapalı (max:0)
Kısa yazılarda gereksiz
📋
Excerpt: Kalacak
SEO ve sosyal medya için

Dosya Yapısı - Tüm Metodlar

🔧 Temel Ayarlar
  • getAIModel()
  • getTemperature()
  • getContentSettings()
  • getContext()
📝 Promptlar
  • getDraftPrompt()
  • getBlogContentPrompt()
  • getFallbackOutline()
🎨 Görsel Sistemi
  • skipGPT4Enhancement()
  • buildImagePromptForBlog()
  • buildImagePromptForBlogWithExcerpt()
  • generateCreativeGoldDarkPrompt()
  • buildFallbackPrompt()

getContentSettings() - Tüm Ayarlar

Ayar Değer Default Açıklama
word_count_min 50 1500 Minimum kelime sayısı
word_count_max 200 2000 Maximum kelime sayısı
section_word_count 100 500 Bölüm başına kelime
h2_count_min 0 ✓ 4 Minimum H2 başlık
h2_count_max 0 ✓ 5 Maximum H2 başlık (KAPALI)
h3_per_section 0 3 H2 başına H3 sayısı
enable_faq false true FAQ schema üretimi
enable_howto false true HowTo schema üretimi
enable_image true true Görsel üretimi açık
image_required false true Görsel opsiyonel (zorunlu değil)
writing_style 'keskin' null (random) Sabit yazım stili
content_min_chars 200 1000 Minimum karakter sayısı
company_name_min_mentions 0 3 Firma adı kullanımı (gerekli değil)

getAIModel()

public function getAIModel(): string
{
    return 'gpt-4.1';
}
GPT-4.1
Tenant16
vs
gpt-4o-mini
Default

getTemperature() ✓ Onaylandı

public function getTemperature(): float
{
    return 0.9; // Creative sweet spot
}
OpenAI Önerisi:
"0.9 for creative tasks" - Araştırıldı, test edildi, onaylandı.

🎨 Görsel Üretim Sistemi (Gold Dark)

Görsel Üretim Akışı:
Blog Başlığı + Excerpt GPT-4o (prompt üret) Leonardo AI (görsel)
skipGPT4Enhancement() true

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

buildImagePromptForBlog($title)

Sadece başlık ile görsel prompt oluştur. Excerpt yoksa bu kullanılır (fallback).

buildImagePromptForBlogWithExcerpt($title, $excerpt)

Başlık + excerpt ile daha iyi görsel prompt. İçerik özetini de analiz eder.

buildFallbackPrompt($title) fallback

GPT-4 başarısız olursa kullanılan statik prompt. "Cinematic artwork for: {title}..."

generateCreativeGoldDarkPrompt() - System Prompt Model: gpt-4o | Temp: 0.85 | Max: 300 tokens
Sen profesyonel gece fotoğrafçısısın.

🎯 KOMPOZİSYON:
- YATAY panoramik görüntü
- Ana konu MERKEZE yerleştirilmeli
- Dengeli kompozisyon (rule of thirds veya centered)
- Siyah/koyu arka plan ile kontrast

📸 TEKNİK:
- Fotogerçekçi gece çekimi (DSLR kalitesi)
- Arka plan: Koyu/siyah tonlar
- Aydınlatma: Warm gold/amber accent ışıklar
- Temiz, gürültüsüz, profesyonel
- Kusursuz kalite

🎨 RENK PALETİ:
- Ana: Siyah, koyu gri
- Accent: Gold (#d97706), amber, warm yellow
- Kontrast: Işık-gölge dengesi

🇹🇷 TÜRKİYE STANDARTLARI:
- Türk kültürüne uygun görseller
- Türkiye'de çekilmiş gibi doğal his
- Türk izleyiciye tanıdık gelen sahneler
- İnsan varsa: Türk/Kafkas tipi

👤 IF MALE FIGURE NEEDED:
- Blog yazarını temsil eder (konuyu değil)
- Young man silhouette from behind or side
- Black jacket, black pants, white t-shirt, white sneakers
- No face visible - watching, thinking

🎬 STİL:
- Cinematic, modern minimal, fotogerçekçi, illustration, digital art, abstract

🚫 YASAK:
- İnsan yüzü close-up
- 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

OUTPUT:
İngilizce. 40-60 kelime.
"Real photograph, NOT illustration. Professional night photography..."

getDraftPrompt()

Konu önerisi için kullanılan prompt

Sen bir kişisel blog konusu önerensin.

Nurullah Okatan için blog konuları öner. Nurullah:
- 1998'den beri yazılım sektöründe
- Türk Bilişim (2007) ve iXtif A.Ş. (2025) kurucusu
- Yapay zeka, teknoloji, girişimcilik konularında deneyimli
- İstanbul'da yaşıyor, seyahat ve yeni deneyimleri seviyor

Her taslak şunları içermeli:
1. topic_keyword: Dikkat çekici başlık
2. seo_keywords: Anahtar kelimeler (5-7)
3. outline: 2-3 ana bölüm
4. meta_description: Özet (150 karakter)

Çıktı formatı JSON array...

getBlogContentPrompt()

İçerik yazımı için kullanılan prompt

Sen yazılımcısın. Kendi fikrinden bahset.

KURAL:
- Günlük konuşur gibi yaz. Kısa, keskin.
- Sadece kendi düşünceni söyle.
- 3 paragraf, 70-100 kelime.

YASAK:
- -dır/-dir/-tır/-tir ile biten cümleler
- Analiz, değerlendirme, sonuç yazma
- Başkalarından bahsetme
- Uzun açıklamalar

FORMAT:
<p>Paragraf 1</p><p>Paragraf 2</p><p>Paragraf 3</p>

JSON:
{
  "title": "Başlık",
  "content": "<p>...</p>...",
  "excerpt": "Özet",
  "tweet": "280 karakter özet + soru"
}

getContext() - Kişisel Bilgiler

'company_info' => [
    'name' => 'Nurullah Okatan',
    'title' => 'Nurullah Okatan',
    'slogan' => 'Yazılım, Teknoloji, Girişimcilik',
    'website' => 'https://nurullah.net',
],
'contact_info' => [
    'email' => 'nurullah@nurullah.net',
    'phone' => '',
    'address' => 'İstanbul, Türkiye',
],
'about' => 'Yazılımcı, girişimci.
1998\'den beri sektördeyim.
Türk Bilişim ve iXtif kurucusu.',

'focus' => 'personal-blog',

getFallbackOutline() - Yedek Yapı

AI outline üretemezse kullanılır

return [
    'Neden Bu Konuyu Seçtim?',
    'Deneyimlerimden Çıkardığım Dersler',
    'Sonuç: Benim Önerim',
];

Hızlı Özet

GPT-4.1
Model
0.9 ✓
Temperature
50-200
Kelime
GPT-4o
Görsel Prompt
0 ✓
H2 Max
FAQ
HowTo
Görsel (opsiyonel)
keskin
Yazım Stili