Yapay Zeka API'lerine Giriş

Kendi uygulamalarınızı bir "beyin" ile donatmanın en kısa yolu, gelişmiş yapay zeka modellerine (OpenAI, Anthropic, Google Gemini) API aracılığıyla bağlanmaktır. Bu rehberde, bir AI entegrasyonu yaparken bilmeniz gereken temel kavramları inceleyeceğiz.

Temel Mantık: Request & Response

Siz JSON formatında bir veri (prompt) gönderirsiniz, model bunu işler ve size yine JSON formatında bir yanıt döner. Bu süreçteki maliyet ve erişim yönetimi ise Token ve API Key ile sağlanır.

1) Temel Kavramlar

A) API Key (Erişim Anahtarı)

Sizin dijital kimliğinizdir. Servis sağlayıcı (örneğin OpenAI), bu anahtar sayesinde isteğin sizden geldiğini ve hangi ödeme planına dahil olduğunuzu anlar.

⚠️ Güvenlik Uyarısı: API anahtarlarınızı asla istemci tarafında (JavaScript/Frontend) açıkça paylaşmayın. Daima .env dosyalarında saklayın ve sunucu taraflı (PHP, Node.js) çağrılar yapın.

B) Endpoint (Uç Nokta)

İsteği gönderdiğiniz spesifik URL adresidir. Farklı görevler için farklı uç noktalar kullanılır.

  • /v1/chat/completions: Metin tabanlı sohbetler için.
  • /v1/images/generations: Görsel oluşturmak için.
  • /v1/embeddings: Verileri vektörel sayılara dönüştürmek için.

2) Token Mantığını Anlamak

Yapay zeka modelleri kelimeleri değil, "token" adı verilen karakter gruplarını okur. Bu, hem maliyeti hem de modelin hafıza (context window) kapasitesini belirler.

Metin Tahmini Token
"Kodornekleri" 2-3 Token
~750 Kelime ~1000 Token

3) Örnek API İsteği (PHP & cURL)

Bir yapay zeka modeline mesaj göndermek için en temel cURL yapısı şöyledir:

PHP OpenAI API Example
$apiKey = "YOUR_API_KEY";
$url = "https://api.openai.com/v1/chat/completions";

$data = [
    "model" => "gpt-4",
    "messages" => [
        ["role" => "system", "content" => "Sen yardımcı bir asistansın."],
        ["role" => "user", "content" => "API nedir?"]
    ],
    "temperature" => 0.7
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 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;

Özet İpuçları

  • Sıcaklık (Temperature): Değer 0'a yakınsa yanıt daha tutarlı, 1'e yakınsa daha yaratıcı olur.
  • Hata Yönetimi: 429 (Rate Limit) ve 401 (Unauthorized) hatalarına karşı kodunuzu hazırlayın.
  • Maliyet: İsteklerinizde max_tokens parametresini kullanarak bütçenizi koruyun.