avatar
dilara_altin
1555 puan • 680 soru • 670 cevap
✔️ Cevaplandı • Doğrulandı

ChatGPT API Yanıtlarını Anlama ve İşleme

ChatGPT API'sinden gelen yanıtları nasıl doğru şekilde anlayıp işlemem gerektiğini çözemedim. Hangi formatta geliyor ve nasıl kullanabilirim, bilemiyorum.
WhatsApp'ta Paylaş
1 CEVAPLARI GÖR
✨ Konuları Gir, Yapay Zeka Saniyeler İçinde Sınavını Üretsin!
✔️ Doğrulandı
0 kişi beğendi.
avatar
Bilge_34
1240 puan • 676 soru • 635 cevap

🎨 ChatGPT API Yanıt Formatını Anlama

ChatGPT API'sinden gelen yanıtlar genellikle JSON formatında olur. Bu format, veriyi düzenli bir şekilde saklamak ve aktarmak için idealdir. Bir ChatGPT API yanıtı temel olarak aşağıdaki öğeleri içerir:

  • 🔑 id: Her isteğe özel benzersiz bir kimlik (ID) numarasıdır. Bu, isteği takip etmek ve hataları ayıklamak için kullanılır.
  • ⏱️ object: Yanıtın türünü belirtir. Genellikle "text_completion" veya benzeri bir değer alır.
  • 🗓️ created: Yanıtın oluşturulma zamanını gösteren bir zaman damgasıdır (timestamp).
  • 🤖 model: Kullanılan dil modelinin adını belirtir (örneğin, "gpt-3.5-turbo").
  • 🧩 choices: Üretilen metinleri ve ilgili bilgileri içeren bir listedir. Bu liste genellikle tek bir öğe içerir, ancak birden fazla seçenek üretildiğinde daha fazla öğe içerebilir.
  • 💸 usage: İstek ve yanıt için kullanılan token (sözcük parçası) sayısını gösterir. Bu, maliyet takibi için önemlidir.

🌈 "choices" Dizisini İnceleme

"choices" dizisi, API yanıtının en önemli bölümüdür. İçinde, modelin ürettiği metinler ve bu metinlerle ilgili meta bilgiler bulunur. Bir "choice" nesnesi aşağıdaki gibi olabilir:

  • 📃 text: Modelin ürettiği asıl metni içerir. Bu, sizin uygulamanızda kullanacağınız ana bilgidir.
  • 📍 index: Dizideki öğenin sırasını belirtir. Genellikle 0'dan başlar.
  • 🛑 logprobs: (İsteğe bağlı) Üretilen her bir token'ın olasılıklarını içerir. Bu, metnin ne kadar "kesin" olduğunu anlamanıza yardımcı olabilir.
  • finish_reason: Metnin neden tamamlandığını belirtir. Örneğin, "stop" (model belirtilen durma sekansına ulaştı) veya "length" (maksimum uzunluğa ulaşıldı) gibi değerler alabilir.

🧰 API Yanıtlarını İşleme Teknikleri

ChatGPT API yanıtlarını etkili bir şekilde işlemek için aşağıdaki teknikleri kullanabilirsiniz:

  • 📦 JSON Ayrıştırma: API yanıtı JSON formatında olduğundan, öncelikle bir JSON ayrıştırma (parsing) kütüphanesi kullanarak yanıtı bir nesneye dönüştürmeniz gerekir. Python'da `json` modülü, JavaScript'te `JSON.parse()` fonksiyonu bu iş için kullanılabilir.
  • ✂️ Metin Çıkarma: Ayrıştırılmış JSON nesnesinden "choices" dizisine erişin ve ardından her bir "choice" nesnesinden "text" alanını çıkarın. Bu, modelin ürettiği metni elde etmenizi sağlar.
  • 🧹 Temizleme: Elde ettiğiniz metni temizlemek önemlidir. Başlangıçta veya sonda oluşabilecek boşlukları (`trim()`) temizleyin ve gerekirse diğer düzenlemeleri yapın.
  • 🚦 Hata Yönetimi: API istekleri sırasında hatalar oluşabilir. Bu nedenle, yanıtın başarılı olup olmadığını kontrol etmek ve hataları uygun şekilde ele almak önemlidir. Örneğin, HTTP durum kodunu kontrol edebilir veya JSON yanıtındaki hata mesajlarını inceleyebilirsiniz.

🔑 Örnek Kod Parçacığı (Python)

Aşağıdaki örnek, Python kullanarak bir ChatGPT API yanıtının nasıl işleneceğini göstermektedir:

import json response_text = ''' { "id": "cmpl-...", "object": "text_completion", "created": 1678888888, "model": "gpt-3.5-turbo", "choices": [ { "text": "Merhaba dünya!", "index": 0, "logprobs": null, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 5, "completion_tokens": 3, "total_tokens": 8 } } ''' response_json = json.loads(response_text) if 'choices' in response_json: text = response_json['choices'][0]['text'] print(f"ChatGPT'nin yanıtı: {text}") else: print("Hata oluştu.")

🧪 Örnek Kod Parçacığı (JavaScript)

Aşağıdaki örnek, JavaScript kullanarak bir ChatGPT API yanıtının nasıl işleneceğini göstermektedir:

const responseText = `{ "id": "cmpl-...", "object": "text_completion", "created": 1678888888, "model": "gpt-3.5-turbo", "choices": [ { "text": "Merhaba dünya!", "index": 0, "logprobs": null, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 5, "completion_tokens": 3, "total_tokens": 8 } }`; const responseJson = JSON.parse(responseText); if (responseJson.choices && responseJson.choices.length > 0) { const text = responseJson.choices[0].text; console.log(`ChatGPT'nin yanıtı: ${text}`); } else { console.log("Hata oluştu."); }

Yorumlar