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.
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)
$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.
$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.