Yapay Zeka API Entegrasyon Rehberi: Gemini & OpenAI

Modern yazılım geliştirme süreçlerinde yapay zekayı bir mikroservis olarak kullanmak, uygulamalarınıza akıllı özellikler kazandırmanın en hızlı yoludur. Bu rehberde, dünyanın en popüler iki modeli olan Google Gemini ve OpenAI (GPT) sistemlerine nasıl bağlanacağınızı inceleyeceğiz.

Önemli Güvenlik Uyarısı

API anahtarlarınızı (API Keys) asla istemci taraflı (JavaScript gibi) kodlarda açıkta bırakmayın. Her zaman sunucu taraflı (PHP, Python) çağrılar yapın ve anahtarlarınızı .env dosyalarında saklayın.

1) Google Gemini API Bağlantısı

Google'ın en güçlü modeli Gemini'ye bağlanmak için hem Python hem de PHP yöntemlerini kullanabilirsiniz.

Python (google-generativeai)
import google.generativeai as genai

genai.configure(api_key="YOUR_GEMINI_API_KEY")
model = genai.GenerativeModel('gemini-pro')

response = model.generate_content("Yazılımda temiz kod yazmanın 3 kuralı nedir?")
print(response.text)
PHP (cURL Method)
$apiKey = "YOUR_GEMINI_API_KEY";
$url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=" . $apiKey;

$data = ["contents" => [["parts" => [["text" => "Merhaba Gemini!"]]]]];

$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']);

$response = curl_exec($ch);
echo json_decode($response, true)['candidates'][0]['content']['parts'][0]['text'];

2) OpenAI (GPT-4) API Bağlantısı

OpenAI tarafında genellikle resmi kütüphaneler veya doğrudan REST API çağrıları kullanılır.

PHP (cURL Method)
$ch = curl_init('https://api.openai.com/v1/chat/completions');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer YOUR_OPENAI_API_KEY'
]);
$data = [
    'model' => 'gpt-4',
    'messages' => [['role' => 'user', 'content' => 'API nedir?']]
];
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$result = curl_exec($ch);
print_r(json_decode($result, true));
💡 Uzman Tavsiyesi: API yanıt süreleri (latency) değişkenlik gösterebilir. Kullanıcı deneyimini bozmamak için bu işlemleri asenkron yapıda veya bir "Loading" animasyonu eşliğinde kurgulamanız önerilir.