OpenAI GPT-4o Uygulamaları

OpenAI'ın amiral gemisi modeli GPT-4o, hem hız hem de akıl yürütme yeteneği ile öne çıkıyor. Geliştiriciler için bu modelin en kritik iki özelliği, mesajlaşma yapısını kuran Chat Completions ve verileri işlenebilir formatta sunan JSON Mode'dur.

Chat Completions Nedir?

Modelin sadece bir girdi alıp çıktı vermesi yerine; sistem mesajları, kullanıcı mesajları ve asistan geçmişi ile bir "sohbet" akışı içinde çalışmasıdır.

1. Temel Chat Completions Yapısı (PHP cURL)

Aşağıdaki örnek, GPT-4o modeline bir rol tanımlayarak soru sormanızı sağlar.

$url = "https://api.openai.com/v1/chat/completions";
$apiKey = "YOUR_OPENAI_API_KEY";

$data = [
    "model" => "gpt-4o",
    "messages" => [
        ["role" => "system", "content" => "Sen profesyonel bir yazılım eğitmenisin."],
        ["role" => "user", "content" => "Recursion nedir?"]
    ]
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Content-Type: application/json",
    "Authorization: Bearer $apiKey"
]);

$response = curl_exec($ch);
echo $response;

2. JSON Mode Kullanımı

Uygulamanızın gelen yanıtı doğrudan `json_decode()` ile diziye çevirip kullanmasını istiyorsanız, JSON Mode hayat kurtarıcıdır. Bu modu kullanmak için iki kural vardır:

  • response_format => ["type" => "json_object"] parametresini eklemek.
  • Sistem mesajında modelden mutlaka JSON formatında yanıt vermesini istemek.
$data = [
    "model" => "gpt-4o",
    "response_format" => ["type" => "json_object"],
    "messages" => [
        ["role" => "system", "content" => "Sen bir veri asistanısın. Çıktıyı mutlaka JSON formatında ver."],
        ["role" => "user", "content" => "Bana 3 adet popüler programlama dili ve kullanım alanlarını listeleyen bir JSON hazırla."]
    ]
];

Güvenlik Hatırlatması

API anahtarlarınızı asla GitHub gibi platformlarda açık paylaşmayın. `.env` dosyası veya sunucu ortam değişkenlerini kullanmaya özen gösterin.