JavaScript ile AI API'ye fetch ile sohbet isteği nasıl atılır?
Neden fetch Kullanmalısınız?
JavaScript dünyasında sunucuya istek atmanın en temel yollarından biri fetch API'sidir. Tarayıcıda ve Node.js ortamlarında yerleşik olarak gelir; ekstra kütüphane kurulumu gerektirmez. Apicloud gibi AI API platformlarıyla çalışırken de fetch ile saniyeler içinde istek gönderebilir, yanıtı işleyebilirsiniz. Özellikle JSON formatında veri alışverişi yapan modern API'ler için fetch, temiz ve anlaşılır bir yapı sunar.
Temel Bir Sohbet İsteği Nasıl Kurulur?
Bir AI API'ye sohbet isteği göndermek için temel olarak dört şey gerekir: endpoint URL'i, API anahtarı, istek gövdesi ve doğru HTTP metodu. Aşağıda Apicloud üzerinden basit bir metin tabanlı istek örneğini görebilirsiniz:
const response = await fetch('https://api.apicloud.com.tr/v1/chat/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer SİZİN_API_ANAHTARINIZ'
},
body: JSON.stringify({
model: 'gpt-4o-mini',
messages: [{ role: 'user', content: 'JavaScript\'te fetch nedir?' }]
})
});
const data = await response.json();
console.log(data.choices[0].message.content);
Bu kod parçası, kullanıcı mesajını ilgili modele gönderir ve modelin cevabını konsola yazdırır. Burada dikkat etmeniz gereken nokta, Authorization başlığının doğru şekilde Bearer token formatında olmasıdır. API anahtarınızı kodunuza düz metin olarak gömmek yerine ortam değişkenleri ile yönetmek güvenlik açısından daha doğrudur.
Hata Yönetimi ve Dikkat Edilmesi Gerekenler
API isteklerinde hata almak kaçınılmazdır. Bağlantı kopması, geçersiz API anahtarı veya model kaynaklı hatalar yaşanabilir. Bu nedenle try-catch bloğu kullanmak ve HTTP durum kodlarını kontrol etmek önemlidir:
try {
const response = await fetch(endpoint, options);
if (!response.ok) {
throw new Error(`HTTP Hatası: ${response.status}`);
}
const data = await response.json();
return data;
} catch (error) {
console.error('İstek başarısız:', error.message);
}
Bunun yanı sıra, uzun sohbet geçmişlerini takip ediyorsanız messages dizisini doğru sırada tutmak ve token sınırlarını aşmamaya dikkat etmek gerekir. Her istekte tüm konuşma geçmişini göndermek bazen maliyeti artırabilir; bu nedenle akıllı bir sayfalama veya özetleme stratejisi geliştirmek faydalı olacaktır.
Ekstra İpuçları
- Stream desteği: Bazı API'ler akışlı yanıt sunar. Büyük metinler için streaming yapmak kullanıcı deneyimini önemli ölçüde iyileştirir.
- Gecikme süresi: Uzun yanıt gerektiren isteklerde timeout ayarı yapın; aksi takdirde işlem asılı kalabilir.
- Yeniden deneme mantığı: Geçici sunucu hatalarında otomatik yeniden deneme eklemek uygulamanızı daha dayanıklı hale getirir.
fetch ile AI entegrasyonu, hem初学者 hem de deneyimli geliştiriciler için hızlıca hayata geçirilebilir bir yaklaşımdır. Doğru header'ları ayarlayıp gövde yapısını kurduğunuzda, Apicloud.com.tr üzerinden de benzer şekilde istek göndererek projelerinize zekâ katmanız mümkün olur.