GPT-5.4 API Nasıl Kullanılır

Ashley Innocent

Ashley Innocent

6 March 2026

GPT-5.4 API Nasıl Kullanılır

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

TL;DR / Kısa Cevap

GPT-5.4 API'yi kullanmak için: OpenAI SDK'sını (pip install openai) yükleyin, istemciyi API anahtarıyla başlatın, gpt-5.4 modeliyle chat.completions.create() çağırın. Temel özellikler: bilgisayar kullanımı (yerel tarayıcı otomasyonu), araç arama (%47 token azaltma), 1M bağlam penceresi, görme yetenekleri. Fiyatlandırma: 2,50$/M giriş token'ı, 15$/M çıkış token'ı. Bu kılavuz kurulumu, kod örneklerini, bilgisayar kullanım yapılandırmasını, araç entegrasyonunu ve üretim en iyi uygulamalarını kapsar.

Giriş

GPT-5.4 sadece başka bir model yükseltmesi değildir. OpenAI'nin yerel bilgisayar kullanım yetenekleri, verimli araç arama ve 1M token bağlam pencerelerine sahip ilk genel amaçlı modelidir. GPT-5.4'ü etkili bir şekilde kullanmak, bu yeni yetenekleri ve bunları iş akışlarınıza nasıl entegre edeceğinizi anlamayı gerektirir.

Bu kılavuz, her ana GPT-5.4 özelliği için çalışan kod örnekleri sunmaktadır. Bilgisayar kullanım otomasyonunu nasıl uygulayacağınızı, MCP sunucuları için araç aramasını nasıl yapılandıracağınızı, yüksek çözünürlüklü görüntüleri nasıl işleyeceğinizi, uzun bağlamlı kod tabanlarını nasıl yöneteceğinizi ve üretim dağıtımları için maliyetleri nasıl optimize edeceğinizi öğreneceksiniz.

İster yapay zeka ajanları inşa ediyor, ister tarayıcı iş akışlarını otomatikleştiriyor, ister GPT-5.4'ü mevcut uygulamalarınıza entegre ediyor olun, bu kılavuz size ihtiyacınız olan uygulama ayrıntılarını sunar.

💡
GPT-5.4'ü uygulamalarınıza entegre ederken, API uç noktalarınızı tasarlamak, test etmek ve belgelemek için Apidog'u kullanın. Apidog'un birleşik platformu, API isteklerini ayıklamanıza, otomatik test paketleri oluşturmanıza, geliştirme sırasında yanıtları taklit etmenize ve ekibiniz için belge oluşturmanıza yardımcı olur. Bu, GPT-5.4'ü diğer hizmetlerle birleştiren yapay zeka destekli özellikler oluştururken özellikle değerlidir.
button

Hızlı Başlangıç: İlk GPT-5.4 İsteğiniz

5 dakikadan kısa sürede GPT-5.4 ile çalışmaya başlayın. Kod yazmadan önce, GPT-5.4 API isteklerinizi Apidog'da test edin:

  1. POST ile https://api.openai.com/v1/chat/completions adresine yeni bir HTTP isteği oluşturun
  2. Yetkilendirme başlığı ekleyin: Bearer YOUR_API_KEY
  3. İstek gövdesini model, mesajlar ve parametrelerle ayarlayın
  4. Yanıtı gönderin ve inceleyin
  5. Tekrarlanan testler için bir koleksiyona kaydedin
  6. API anahtarları arasında geçiş yapmak için ortam değişkenlerini kullanın
Bu görsel yaklaşım, başlangıçtaki testleri hızlandırır ve kodu uygulamadan önce API yapısını anlamanıza yardımcı olur.

Önkoşullar

Python Hızlı Başlangıç

from openai import OpenAI
import os

# Initialize client
client = OpenAI(
    api_key=os.getenv("OPENAI_API_KEY")
)

# Make request
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "system", "content": "You are a helpful coding assistant."},
        {"role": "user", "content": "Write a Python function to sort a list of dictionaries by a key."}
    ]
)

print(response.choices[0].message.content)

Node.js Hızlı Başlangıç

const OpenAI = require('openai');

const client = new OpenAI({
    apiKey: process.env.OPENAI_API_KEY
});

async function main() {
    const response = await client.chat.completions.create({
        model: 'gpt-5.4',
        messages: [
            { role: 'system', content: 'You are a helpful coding assistant.' },
            { role: 'user', content: 'Write a Python function to sort a list of dictionaries by a key.' }
        ]
    });

    console.log(response.choices[0].message.content);
}

main();

Beklenen Çıktı

def sort_dicts_by_key(dict_list, key, reverse=False):
    """
    Sort a list of dictionaries by a specified key.

    Args:
        dict_list: List of dictionaries to sort
        key: The dictionary key to sort by
        reverse: If True, sort in descending order

    Returns:
        Sorted list of dictionaries
    """
    return sorted(dict_list, key=lambda x: x.get(key, ''), reverse=reverse)

# Example usage
data = [
    {'name': 'Alice', 'age': 30},
    {'name': 'Bob', 'age': 25},
    {'name': 'Charlie', 'age': 35}
]

sorted_by_age = sort_dicts_by_key(data, 'age')
print(sorted_by_age)
# [{'name': 'Bob', 'age': 25}, {'name': 'Alice', 'age': 30}, {'name': 'Charlie', 'age': 35}]

GPT-5.4 Yeteneklerini Anlamak

GPT-5.4 dört temel alanda üstündür. Bunları anlamak, her kullanım durumu için doğru yaklaşımı seçmenize yardımcı olur.

1. Bilgi Çalışması (%83 GDPval Kazanma Oranı)

Şunlar için en iyisi:

2. Bilgisayar Kullanımı (%75 OSWorld Onaylı)

Şunlar için en iyisi:

3. Kodlama (%57.7 SWE-Bench Pro)

Şunlar için en iyisi:

4. Araç Entegrasyonu (%54.6 Toolathlon)

Şunlar için en iyisi:

Bilgisayar Kullanımı API'si

GPT-5.4'ün yerel bilgisayar kullanım yetenekleri, bu sürümdeki en büyük atılımı temsil ediyor. Model, ekran görüntüleri, fare komutları ve klavye girişi aracılığıyla bilgisayarları çalıştırabilir.

Bilgisayar kullanım özelliklerine sahip uygulamalar oluştururken, iş akışının her adımını Apidog'da test edin:

Bilgisayar Kullanımı Nasıl Çalışır?

Bilgisayar kullanım iş akışı, API isteklerinde computer aracını kullanır. Model:

  1. Mevcut ekran durumunun ekran görüntülerini alır
  2. Kullanıcı arayüzü öğelerini analiz eder ve eylemleri belirler
  3. Bilgisayar komutları döndürür (tıklama, yazma, kaydırma vb.)
  4. Uygulamanız komutları yürütür ve yeni ekran görüntüleri yakalar
  5. Görev tamamlanana kadar döngü devam eder

Temel Bilgisayar Kullanımı Kurulumu

from openai import OpenAI
import base64

client = OpenAI()

def take_screenshot():
    """Capture current screen state - implement for your platform."""
    # Use pyautogui, PIL, or platform-specific screenshot
    import pyautogui
    screenshot = pyautogui.screenshot()
    import io
    buffer = io.BytesIO()
    screenshot.save(buffer, format='PNG')
    return base64.b64encode(buffer.getvalue()).decode('utf-8')

def execute_computer_command(command):
    """Execute computer command - implement based on command type."""
    import pyautogui

    action = command.get('action')

    if action == 'click':
        x, y = command.get('coordinate', [0, 0])
        pyautogui.click(x, y)
    elif action == 'type':
        text = command.get('text', '')
        pyautogui.write(text, interval=0.05)
    elif action == 'scroll':
        amount = command.get('scroll_amount', 0)
        pyautogui.scroll(amount)
    elif action == 'keypress':
        key = command.get('key', '')
        pyautogui.press(key)

    # Return new screenshot after action
    return take_screenshot()

# Computer use conversation
messages = [{
    "role": "user",
    "content": [
        {
            "type": "text",
            "text": "Navigate to gmail.com and log in with the credentials I provided."
        },
        {
            "type": "image_url",
            "image_url": {
                "url": f"data:image/png;base64,{take_screenshot()}"
            }
        }
    ]
}]

# Request with computer tool
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=messages,
    tools=[{
        "type": "computer",
        "display_width": 1920,
        "display_height": 1080,
        "display_number": 1
    }],
    tool_choice="required"
)

# Parse and execute computer commands
for tool_call in response.choices[0].message.tool_calls:
    if tool_call.type == "computer":
        command = tool_call.function.arguments
        new_screenshot = execute_computer_command(command)

        # Continue conversation with new screenshot
        messages.append({
            "role": "assistant",
            "content": response.choices[0].message.content
        })
        messages.append({
            "role": "user",
            "content": [{
                "type": "image_url",
                "image_url": {"url": f"data:image/png;base64,{new_screenshot}"}
            }]
        })

Bilgisayar Kullanımı Güvenlik Politikaları

Risk toleransınıza göre güvenlik davranışını yapılandırın:

# Güvenli mod - hassas eylemler için onay gerektirir
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=messages,
    tools=[{
        "type": "computer",
        "display_width": 1920,
        "display_height": 1080,
        "confirmation_policy": "always"  # veya "asla" veya "seçici"
    }],
    # Güvenlik için özel sistem mesajı
    system_message="""Bir bilgisayarı işletiyorsunuz. Şu güvenlik kurallarına uyun:
    1. Açık kullanıcı onayı olmadan asla kimlik bilgileri girmeyin
    2. Dosyaları veya verileri silmeden önce sorun
    3. E-posta veya mesaj göndermeden önce onaylayın
    4. Hataları veya beklenmedik durumları derhal bildirin
    """
)

Tarayıcı Otomasyon Örneği

Playwright entegrasyonu ile tarayıcı görevlerini otomatikleştirin:

from playwright.sync_api import sync_playwright

def browser_automation_workflow():
    with sync_playwright() as p:
        browser = p.chromium.launch(headless=False)
        page = browser.new_page()

        # Navigate to page
        page.goto("https://example.com")

        # GPT-5.4 için ekran görüntüsü alın
        screenshot = page.screenshot()
        screenshot_b64 = base64.b64encode(screenshot).decode('utf-8')

        messages = [{
            "role": "user",
            "content": [
                {"type": "text", "text": "Find the login form and fill it out."},
                {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{screenshot_b64}"}}
            ]
        }]

        # GPT-5.4'ten bilgisayar komutlarını alın
        response = client.chat.completions.create(
            model="gpt-5.4",
            messages=messages,
            tools=[{"type": "computer"}],
            tool_choice="required"
        )

        # Tarayıcıda komutları ayrıştırın ve yürütün
        for tool_call in response.choices[0].message.tool_calls:
            if tool_call.type == "computer":
                command = json.loads(tool_call.function.arguments)

                if command.get('action') == 'click':
                    x, y = command.get('coordinate', [0, 0])
                    page.mouse.click(x, y)
                elif command.get('action') == 'type':
                    page.keyboard.type(command.get('text', ''))

                # Yeni ekran görüntüsü alın ve devam edin
                new_screenshot = page.screenshot()
                # ... döngüyü devam ettir

E-posta ve Takvim Otomasyonu

Gerçek dünya örneği: E-postaları işleyin ve etkinlikleri planlayın:

def process_email_and_schedule_meeting():
    """
    İş akışı: Okunmamış e-postaları okuyun, toplantı isteklerini çıkarın,
    takvim uygunluğunu kontrol edin ve takvim davetiyeleri gönderin.
    """

    workflow_prompt = """
    Bu iş akışını tamamlayın:
    1. Gmail'i açın ve son 24 saatteki okunmamış e-postaları bulun
    2. Herhangi bir toplantı isteği veya planlama sorusu olup olmadığını belirleyin
    3. Her toplantı isteği için:
       - Önerilen tarihleri/saatleri çıkarın
       - Katılımcıları ve toplantı amacını not alın
    4. Google Takvim'i açın ve uygunluğu kontrol edin
    5. Onaylanmış toplantılar için takvim davetiyeleri gönderin
    6. Planlanan saati onaylayan e-postaları yanıtlayın

    Yapılanların özetini raporlayın.
    """

    # Gelen kutusu ekran görüntüsü ile başlayın
    screenshot = take_screenshot()

    messages = [{
        "role": "user",
        "content": [
            {"type": "text", "text": workflow_prompt},
            {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{screenshot}"}}
        ]
    }]

    # Çok turlu bilgisayar kullanım iş akışını yürütün
    for turn in range(10):  # Sonsuz döngüleri önlemek için tur sayısını sınırlayın
        response = client.chat.completions.create(
            model="gpt-5.4",
            messages=messages,
            tools=[{"type": "computer"}],
            tool_choice="required"
        )

        # Görevin tamamlanıp tamamlanmadığını kontrol edin
        if "complete" in response.choices[0].message.content.lower():
            print(f"İş akışı {turn + 1} turda tamamlandı")
            break

        # Bilgisayar komutlarını yürütün ve yeni ekran görüntüsü alın
        # ... (önceki örnekten komut yürütme mantığı)

Performans Optimizasyonu

Mainstay'in 30 bin emlak vergisi portalını işleme sonuçları:

Optimizasyon ipuçları:

  1. Yüksek kaliteli ekran görüntüleri kullanın (minimum 1920x1080)
  2. Açık, belirli görev tanımları sağlayın
  3. Döngüleri önlemek için tur limitleri uygulayın
  4. Yinelenen yakalamaları önlemek için ekran görüntülerini önbelleğe alın
  5. Güvenilir iş akışları için seçici onay politikaları kullanın

Araç Arama ve Entegrasyon

Araç arama, token kullanımını %47 oranında azaltırken, büyük araç ekosistemleriyle çalışmayı mümkün kılar.

Araç Arama Nasıl Çalışır?

Tüm araç tanımlarını baştan yüklemek yerine, model hafif bir liste alır ve tanımları isteğe bağlı olarak arar.

Temel Araç Arama Kurulumu

# Mevcut araçları tanımla (hafif liste)
available_tools = [
    {
        "name": "get_weather",
        "description": "Bir konum için mevcut hava durumunu al"
    },
    {
        "name": "send_email",
        "description": "Bir alıcıya e-posta gönder"
    },
    {
        "name": "calendar_search",
        "description": "Takvimde etkinlik ara"
    },
    # ... yüzlerce başka araç
]

# İlk istek - model, tam tanımları değil, araç listesini görür
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "user", "content": "Tokyo'da hava nasıl ve ekibime gönder?"}
    ],
    tools=available_tools,
    tool_choice="auto"
)

# Model bir araç kullanmak isterse, tanımını ister
# Uygulamanız o noktada tam tanımı sağlar

MCP Sunucu Entegrasyonu

Scale'ın MCP Atlas kıyaslaması, araç aramasıyla %47 token azaltımı gösterdi.

# Çok sayıda araçla MCP Sunucusu
mcp_servers = [
    {
        "name": "filesystem",
        "description": "Dosya sistemi işlemleri",
        "tool_count": 12
    },
    {
        "name": "database",
        "description": "Veritabanı sorgulama işlemleri",
        "tool_count": 8
    },
    {
        "name": "web-search",
        "description": "Web araması ve kazıma",
        "tool_count": 15
    }
    # ... kıyaslamadaki 36 MCP sunucusu
]

# Araç arama yapılandırması
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "user", "content": "Bugün değiştirilen tüm Python dosyalarını bulun ve TODO yorumlarını arayın."}
    ],
    tools=mcp_servers,
    # Bu desen kullanıldığında araç araması otomatik olarak etkinleştirilir
    parallel_tool_calls=True
)

# Model, gerektiğinde araç tanımlarını isteyecektir
# Token tasarrufu: %47'ye karşılık tüm tanımları baştan yükleme

Toolathlon Tarzı Çok Adımlı İş Akışları

Toolathlon, karmaşık çok adımlı araç iş akışlarını test eder:

def grade_assignments_workflow():
    """
    Karmaşık iş akışı: Ekli e-postaları okuyun,
    notlandırma sistemine yükleyin, ödevleri notlandırın,
    sonuçları elektronik tabloya kaydedin.
    """

    workflow_steps = """
    1. Öğrencilerden ödev ekleri içeren e-postaları okuyun
    2. Her eki indirin
    3. Notlandırma portalına yükleyin
    4. Rubrik kullanarak her ödevi notlandırın
    5. Notları elektronik tabloya kaydedin
    6. Öğrencilere onay e-postaları gönderin
    """

    tools = [
        {"name": "email_read", "description": "Gelen kutusundan e-postaları oku"},
        {"name": "email_send", "description": "E-posta gönder"},
        {"name": "file_download", "description": "Dosya eklerini indir"},
        {"name": "file_upload", "description": "Web portalına dosya yükle"},
        {"name": "web_form_fill", "description": "Web formlarını doldur ve gönder"},
        {"name": "spreadsheet_write", "description": "Elektronik tabloya veri yaz"},
        {"name": "rubric_evaluate", "description": "Çalışmayı rubrike göre değerlendir"}
    ]

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[
            {"role": "user", "content": workflow_steps}
        ],
        tools=tools,
        parallel_tool_calls=True  # Paralel araç yürütmeyi etkinleştir
    )

    # GPT-5.4, Toolathlon'da %54.6'ya karşılık GPT-5.2 için %45.7 başarı elde eder
    # Anahtar: Daha iyi araç seçimi ve daha az tur gerekliliği

Görüntü İşleme ve Vizyon

GPT-5.4, 10.24M piksele kadar orijinal görüntü ayrıntısıyla gelişmiş görsel algıyı destekler.

Görüntü Detay Seviyeleri

# Orijinal detay - en yüksek doğruluk (10.24M piksel, 6000 piksel maksimum boyut)
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "image_url",
                "image_url": {
                    "url": "https://example.com/high-res-image.jpg",
                    "detail": "original"  # veya "yüksek" veya "düşük"
                }
            },
            {"type": "text", "text": "Bu teknik diyagramı analiz edin."}
        ]
    }]
)

# Yüksek detay - 2.56M piksel, 2048 piksel maksimum boyut
# Düşük detay - En hızlı işleme, daha düşük doğruluk

Belge Ayrıştırma Örneği

OmniDocBench: 0.109 hata oranı (GPT-5.2 için 0.140'a karşılık)

def parse_complex_document(pdf_path):
    """Tablolar ve şekiller içeren çok sayfalı PDF'yi ayrıştırın."""

    # PDF sayfalarını resimlere dönüştürün
    from pdf2image import convert_from_path
    pages = convert_from_path(pdf_path, dpi=300)

    messages = [{"role": "user", "content": []}]

    for i, page in enumerate(pages[:5]):  # İlk 5 sayfa
        import io, base64
        buffer = io.BytesIO()
        page.save(buffer, format='PNG')
        img_b64 = base64.b64encode(buffer.getvalue()).decode()

        messages[0]["content"].append({
            "type": "image_url",
            "image_url": {
                "url": f"data:image/png;base64,{img_b64}",
                "detail": "high"
            }
        })

    messages[0]["content"].append({
        "type": "text",
        "text": """
        Bu belgeden tüm verileri çıkarın:
        1. Satır/sütun başlıkları olan tablolar
        2. Anahtar şekiller ve başlıkları
        3. Metinde belirtilen özet istatistikler
        Yapılandırılmış JSON olarak döndürün.
        """
    })

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=messages
    )

    return response.choices[0].message.content

Kullanıcı Arayüzü Ekran Görüntüsü Analizi

def analyze_ui_screenshot(screenshot_path):
    """Erişilebilirlik sorunları için kullanıcı arayüzü ekran görüntüsünü analiz edin."""

    with open(screenshot_path, 'rb') as f:
        img_b64 = base64.b64encode(f.read()).decode()

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[{
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": f"data:image/png;base64,{img_b64}",
                        "detail": "original"
                    }
                },
                {
                    "type": "text",
                    "text": """
                    Bu kullanıcı arayüzü ekran görüntüsünü erişilebilirlik sorunları açısından inceleyin:
                    1. Renk kontrastı sorunları
                    2. Eksik etiketler veya alternatif metin göstergeleri
                    3. Klavye navigasyon sorunları (görünür odak durumları)
                    4. Metin boyutu ve okunabilirlik
                    5. Ekran okuyucu uyumluluk endişeleri

                    Sorunları belirli konumlar ve şiddet dereceleriyle listeleyin.
                    """
                }
            ]
        }]
    )

    return response.choices[0].message.content

Uzun Bağlam İş Akışları

GPT-5.4, 1M token'a kadar bağlam pencerelerini destekler (deneysel).

Standart Bağlam (272K token)

# Büyük kod tabanı dosyasını yükle
with open('large_codebase.py', 'r') as f:
    code = f.read()

response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "system", "content": "Siz bir kod inceleme asistanısınız."},
        {"role": "user", "content": f"""
        Bu kod tabanını şunlar açısından inceleyin:
        1. Güvenlik açıkları
        2. Performans sorunları
        3. Kod stili tutarsızlıkları
        4. Eksik hata yönetimi

        Kod:
        {code}
        """}
    ],
    max_tokens=4000
)

Genişletilmiş Bağlam (1M token)

API parametreleri aracılığıyla yapılandırın:

response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "user", "content": large_document}
    ],
    # Genişletilmiş bağlam yapılandırması
    extra_body={
        "model_context_window": 1048576,  # 1M token
        "model_auto_compact_token_limit": 272000  # 272K'dan sonra otomatik sıkıştırma
    }
)

# Not: 272K'yı aşan istekler 2 kat kullanım oranıyla sayılır

Çoklu Belge Analizi

def analyze_multiple_documents(documents):
    """Tek bağlamda 10'dan fazla belgeyi analiz edin."""

    content_parts = []

    for i, doc in enumerate(documents):
        content_parts.append(f"=== Belge {i+1}: {doc['title']} ===\n")
        content_parts.append(doc['content'][:50000])  # Gerekirse kırp
        content_parts.append("\n\n")

    combined_content = "".join(content_parts)

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[{
            "role": "user",
            "content": f"""
            Bu belgeleri analiz edin ve şunları sağlayın:
            1. Tüm belgelerdeki ana temaların özeti
            2. Belgeler arasındaki çelişkiler veya tutarsızlıklar
            3. Herhangi bir belgede belirtilen eylem maddeleri
            4. Varsa olayların zaman çizelgesi

            {combined_content}
            """
        }],
        max_tokens=8000
    )

    return response.choices[0].message.content

Kodlama ve Geliştirme İş Akışları

GPT-5.4, ek bilgisayar kullanım yetenekleriyle SWE-Bench Pro'da (57.7%) GPT-5.3-Codex ile eşleşir.

Ön Uç Oluşturma

def generate_frontend_component(spec):
    """Stilleme ile eksiksiz React bileşeni oluşturun."""

    prompt = f"""
    Bu belirtimlere göre eksiksiz bir React bileşeni oluşturun:

    {spec}

    Gereksinimler:
    1. Hook'lu fonksiyonel bileşen
    2. Tüm prop'lar ve durum için TypeScript türleri
    3. Stil için Tailwind CSS
    4. Duyarlı tasarım (mobil, tablet, masaüstü)
    5. Erişilebilirlik (ARIA etiketleri, klavye navigasyonu)
    6. Jest/React Testing Library ile birim testleri

    Şunlar için tam kodu döndürün:
    - Bileşen dosyası (.tsx)
    - Stiller (Tailwind değilse)
    - Test dosyası (.test.tsx)
    """

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[{"role": "user", "content": prompt}],
        max_tokens=6000
    )

    return response.choices[0].message.content

# Örnek: Tema parkı simülasyonu (OpenAI demosundan)
theme_park_spec = """
Etkileşimli bir izometrik tema parkı simülasyon oyunu oluşturun:
- Karo tabanlı yol yerleştirme
- Eğlence ve manzara inşası
- Misafir yol bulma ve kuyruğa girme
- Park metrikleri (para, misafirler, mutluluk, temizlik)
- Playwright testi ile tarayıcıda oynanabilir
- Oluşturulmuş izometrik varlıklar
"""

component_code = generate_frontend_component(theme_park_spec)

Karmaşık Sorunları Ayıklama

def debug_with_full_context(error_logs, codebase_files, stack_trace):
    """Günlüklerin, kodun ve yığın izinin tam bağlamını kullanarak ayıklayın."""

    context = f"""
    HATA GÜNLÜKLERİ:
    {error_logs}

    YIĞIN İZİ:
    {stack_trace}

    İLGİLİ KOD DOSYALARI:
    {codebase_files}

    Görev: Temel nedeni belirleyin ve bir düzeltme sağlayın.
    Şunları göz önünde bulundurun:
    1. Yarış koşulları veya zamanlama sorunları
    2. Bellek sızıntıları veya kaynak tükenmesi
    3. Veri akışı hakkında yanlış varsayımlar
    4. Ele alınmayan uç durumlar
    5. Harici bağımlılık sorunları

    Şunları sağlayın:
    1. Temel neden analizi
    2. Gerekli belirli kod değişiklikleri
    3. Regresyonu önlemek için testler
    """

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[{"role": "user", "content": context}],
        max_tokens=4000
    )

    return response.choices[0].message.content

Playwright Etkileşimli Test

Tarayıcıda oyun testleri için deneysel Codex yeteneği:

def playwright_interactive_debug():
    """
    Tarayıcıda oyun testleri için Playwright Interactive'i kullanın.
    GPT-5.4, uygulamaları oluştururken test edebilir.
    """

    prompt = """
    Bir yapılacaklar web uygulaması oluşturun ve oluştururken test edin:

    1. HTML yapısını oluşturun
    2. CSS stilini ekleyin
    3. JavaScript işlevselliğini uygulayın
    4. Her özellikten sonra, Playwright'ı kullanarak:
       - Element görünürlüğünü doğrulayın
       - Kullanıcı etkileşimlerini test edin
       - Durum kalıcılığını kontrol edin
       - Uç durumları doğrulayın

    Test sırasında bulunan sorunları bildirin ve düzeltin.
    """

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[{"role": "user", "content": prompt}],
        tools=[{"type": "playwright_interactive"}],
        max_tokens=8000
    )

    return response.choices[0].message.content

Akış Yanıtları

Akış, uzun yanıtlar için algılanan gecikmeyi azaltır.

Python Akış

from openai import OpenAI

client = OpenAI()

stream = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Kuantum bilişimi hakkında detaylı bir açıklama yazın."}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Node.js Akış

const stream = await client.chat.completions.create({
    model: 'gpt-5.4',
    messages: [{ role: 'user', content: 'Kuantum bilişimi hakkında detaylı bir açıklama yazın.' }],
    stream: true
});

for await (const chunk of stream) {
    if (chunk.choices[0].delta.content) {
        process.stdout.write(chunk.choices[0].delta.content);
    }
}

Token Sayımı ile Akış

def stream_with_usage(stream):
    """Akış sırasında token kullanımını takip edin."""
    total_tokens = 0

    for chunk in stream:
        if chunk.choices[0].delta.content:
            content = chunk.choices[0].delta.content
            print(content, end="", flush=True)
            total_tokens += len(content) // 4  # Kabaca tahmin

        if chunk.usage:
            print(f"\n\nKullanım: {chunk.usage.total_tokens} token")

    return total_tokens

Hata Yönetimi ve Yeniden Deneme Mantığı

Üretim kodu sağlam hata yönetimi gerektirir.

Kapsamlı Hata Yönetimi

from openai import OpenAI, RateLimitError, APIError, AuthenticationError
import time

client = OpenAI()

def make_request_with_retry(messages, max_retries=3):
    """Üstel geri çekilme yeniden deneme mantığıyla istekte bulunun."""

    for attempt in range(max_retries):
        try:
            response = client.chat.completions.create(
                model="gpt-5.4",
                messages=messages,
                max_tokens=2000,
                temperature=0.7
            )
            return response

        except RateLimitError as e:
            if attempt == max_retries - 1:
                raise

            wait_time = 2 ** attempt  # 1s, 2s, 4s
            print(f"Oran sınırlaması. {wait_time}s bekleniyor...")
            time.sleep(wait_time)

        except APIError as e:
            if e.status_code >= 500:  # Sunucu hatası, yeniden dene
                if attempt == max_retries - 1:
                    raise
                wait_time = 2 ** attempt
                time.sleep(wait_time)
            else:
                raise  # İstemci hatası, yeniden deneme
        except AuthenticationError:
            print("Geçersiz API anahtarı. Kimlik bilgilerinizi kontrol edin.")
            raise

        except Exception as e:
            print(f"Beklenmedik hata: {e}")
            raise

    raise Exception("Maksimum yeniden deneme aşıldı")

# Kullanım
try:
    response = make_request_with_retry([
        {"role": "user", "content": "Merhaba, GPT-5.4!"}
    ])
    print(response.choices[0].message.content)
except Exception as e:
    print(f"İstek başarısız oldu: {e}")

Zaman Aşımı Yönetimi

import httpx

# Zaman aşımını yapılandır
client = OpenAI(
    timeout=httpx.Timeout(60.0, connect=10.0)  # Toplam 60s, bağlantı 10s
)

try:
    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[{"role": "user", "content": "Uzun süren görev..."}]
    )
except httpx.TimeoutException:
    print("İstek zaman aşımına uğradı. Akış kullanmayı veya karmaşıklığı azaltmayı düşünün.")

Üretim En İyi Uygulamaları

Üretim API İş Akışları için Apidog Kullanımı

GPT-5.4 entegrasyonlarını üretime dağıtmadan önce, sağlam test ve izleme iş akışları oluşturun:

API Test Süreci:

Ekip İşbirliği:

Entegrasyon Deseni:

Maliyet Optimizasyon Stratejileri

İstem Optimizasyonu

# Kötü: Ayrıntılı istem
bad_prompt = """
Merhaba! Umarım iyisinizdir. Bana bir konuda yardımcı olabilir misiniz diye merak ettim.
Burada bu kod var ve ne işe yaradığından pek emin değilim.
Bana açıklayabilir misiniz? İşte kod:
""" + code

# İyi: Doğrudan istem
good_prompt = f"Bu kod ne işe yarar açıklayın:\n{code}"

# Token tasarrufu: ~50 token = istek başına 0,000125$
# Ayda 1M istekte: 125$ tasarruf

Yanıt Uzunluğu Kontrolü

# max_tokens'ı uygun şekilde ayarlayın
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Bu makaleyi özetle."}],
    max_tokens=200  # Uzun uzun konuşmasına izin verme
)

# Durma dizileri kullanın
response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "5 öğe listele."}],
    stop=["\n\n", "6."]  # Listeden sonra dur
)

Toplu İşleme

# %50 indirim için Toplu API kullanın
from openai import OpenAI

client = OpenAI()

# Toplu dosya oluştur
batch_requests = []
for article in articles:
    batch_requests.append({
        "custom_id": article["id"],
        "method": "POST",
        "url": "/v1/chat/completions",
        "body": {
            "model": "gpt-5.4",
            "messages": [{"role": "user", "content": article["content"]}]
        }
    })

# Yükle ve işle
batch_file = client.files.create(
    file=json.dumps(batch_requests),
    purpose="batch"
)

batch = client.batches.create(
    input_file_id=batch_file.id,
    endpoint="/v1/chat/completions",
    completion_window="24h"
)

# Gerçek zamanlı olmayan iş yükleri için %50 maliyet tasarrufu

Tekrarlanan İstekleri Önbelleğe Alma

import hashlib
import json

class ResponseCache:
    """Aynı API yanıtlarını önbelleğe alın."""

    def __init__(self):
        self.cache = {}

    def _get_key(self, messages):
        return hashlib.md5(json.dumps(messages).encode()).hexdigest()

    def get_or_create(self, client, messages, **kwargs):
        key = self._get_key(messages)

        if key in self.cache:
            return self.cache[key]

        response = client.chat.completions.create(
            model="gpt-5.4",
            messages=messages,
            **kwargs
        )

        self.cache[key] = response
        return response

# Kullanım
cache = ResponseCache()
response = cache.get_or_create(client, messages)

Sonuç

GPT-5.4, yapay zeka destekli uygulamalar için yeni olanaklar sunuyor. Yerel bilgisayar kullanımı, tarayıcı otomasyonunu ve uygulamalar arası iş akışlarını mümkün kılıyor. Araç arama, daha büyük araç ekosistemlerini desteklerken maliyetleri %47 oranında azaltır. Gelişmiş vizyon, karmaşık belge ayrıştırmayı yönetir. Ve 1M bağlam pencereleri, tüm kod tabanlarını işler.

GPT-5.4 ile üretim uygulamaları oluşturmak, sağlam API test, hata ayıklama ve dokümantasyon iş akışları gerektirir. Apidog, eksiksiz API yaşam döngüsü için birleşik bir platform sağlar.

button

İster yapay zeka ajanları oluşturuyor, ister iş akışlarını otomatikleştiriyor, ister GPT-5.4 tarafından desteklenen müşteri odaklı özellikler yaratıyor olun, sağlam API geliştirme uygulamalarına sahip olmak teslimatı hızlandırır ve hataları azaltır.

Temel sohbet tamamlamalarıyla başlayın, ardından kullanım durumlarınız gerektirdikçe bilgisayar kullanımını, araç aramayı ve vizyonu katmanlayın. İlk dağıtım sırasında maliyetleri yakından izleyin ve istemleri ve önbelleğe alma stratejilerini optimize edin.

SSS

GPT-5.4 bilgisayar kullanım özelliğini nasıl kullanırım?

API isteklerinde computer aracını kullanın. Ekran görüntülerini resim olarak gönderin, yanıt olarak bilgisayar komutları (tıklama, yazma, kaydırma) alın. pyautogui veya Playwright kullanarak komutları yürütün, ardından yeni ekran görüntüleri gönderin. Görev tamamlanana kadar döngüyü sürdürün. Risk toleransınıza göre güvenlik politikalarını yapılandırın.

Araç arama nedir ve nasıl etkinleştiririm?

Araç arama, araç tanımlarını baştan yerine isteğe bağlı olarak yükler, token kullanımını %47 oranında azaltır. İsteklerde hafif bir araç listesi sağlayarak etkinleştirin. Model, gerektiğinde tam tanımları ister. MCP sunucularıyla otomatik olarak çalışır.

1M token bağlam penceresini nasıl kullanırım?

extra_body parametreleri aracılığıyla yapılandırın: model_context_window: 1048576 ve model_auto_compact_token_limit: 272000. Not: 272K token'ı aşan istekler 2 kat kullanım oranıyla sayılır. Deneysel olarak Codex'te mevcuttur.

gpt-5.4 ile gpt-5.4-pro arasındaki fark nedir?

GPT-5.4 Pro, karmaşık akıl yürütmede daha yüksek doğruluk sunar (BrowseComp'ta %89.3'e karşılık %82.7) ancak 12 kat daha pahalıdır ($30/$180'e karşılık $2.50/$15). Çoğu iş yükü için standardı, maksimum doğruluk gerektiren görevler için Pro'yu kullanın.

GPT-5.4 API maliyetlerini nasıl azaltırım?

Önbelleğe alınmış girdileri (%90 tasarruf) kullanın, istem uzunluğunu optimize edin, max_tokens limitleri ayarlayın, Toplu API'yi (%50 indirim) kullanın, yanıt önbellekleme uygulayın ve görüntüler için uygun detay seviyelerini seçin.

GPT-5.4 tek bir istekte birden fazla görüntüyü işleyebilir mi?

Evet. Tek bir mesajda birden fazla image_url içerik bölümü ekleyin. Çok sayfalı belgeler, karşılaştırma görevleri veya sıralı ekran görüntüleri için kullanışlıdır.

Üretimde hız limitlerini nasıl yönetirim?

Üstel geri çekilme yeniden deneme mantığı (1s, 2s, 4s gecikmeler) uygulayın, toplu işleme için Toplu API'yi kullanın, istekleri zamana yayarak dağıtın ve yüksek hacimli ihtiyaçlar için limit artışları isteyin.

GPT-5.4 hangi programlama dillerini en iyi destekler?

GPT-5.4, Python, JavaScript/TypeScript, React, Node.js ve yaygın web teknolojilerinde üstündür. Ayrıca Java, Go, Rust ve SQL'de de güçlüdür. GPT-5.3-Codex performansıyla (%57.7 SWE-Bench Pro) eşleşir.

GPT-5.4 yanıtlarını nasıl yayınlarım (stream ederim)?

API isteklerinde stream=True olarak ayarlayın. Parçalar üzerinde yineleme yapın ve her deltayı işleyin. Uzun yanıtlar için algılanan gecikmeyi azaltır.

GPT-5.4 üretim iş yükleri için uygun mudur?

Evet. GPT-5.4, GPT-5.2'den %33 daha az gerçek hataya sahiptir, tokenleri daha verimli kullanır ve sağlam hata yönetimi içerir. Üretim dağıtımları için yeniden deneme mantığı, izleme ve maliyet takibi uygulayın.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin