Ana sayfa → Yardım
JSON modu yine de ayrıştırılamayan metin döndürüyor
Düz JSON modu, yalnızca model sonuna kadar çalıştığında sözdizimsel olarak geçerli JSON vaat eder. Şemanızı vaat etmez ve üretim max_tokens yüzünden erken durursa hiçbir şey vaat edemez.
Gördüğünüz hata
JSONDecodeError on output that looks almost rightThe object is cut off mid-stringMarkdown fences around the JSONValid JSON that is missing fields your code requires
Neden oluyor
Çıktı sınırına ulaşmak nesneyi bir token'ın ortasında keser. Sonuç, istemin hiçbir suçu olmadan ayrıştırılamaz – ayrıştırıcıdan önce finish_reason'ı kontrol edin.
Temel JSON modunun şeması yoktur. Model farklı anahtarlarla ya da beklemediğiniz iç içe bir yapıyla geçerli JSON döndürebilir; bu temiz şekilde ayrıştırılır ama kodunuzu bozar.
Bazı modeller, istem o şekilde biçimlendirilmiş örnekler içeriyorsa çıktıyı markdown kod bloğuna sarar. İçerik sorunsuzdur; başarısız olan sarmalayıcıdır.
Nasıl düzeltilir
- Ayrıştırmadan önce finish_reason'ı kontrol edinlength değerindeki bir finish_reason kesilme demektir. Ayrıştırıcıyla uğraşmak yerine max_tokens'ı artırın ya da daha küçük bir nesne isteyin.
- Model destekliyorsa şemayla zorlanan çıktı kullanınDüz yazıyla JSON istemek yerine bir JSON şeması geçmek, anahtarları gerçekten sınırlayan şeydir. Sonucu yine de doğrulayın.
- Kod bloğu işaretlerini önlem olarak temizleyinBaştaki ve sondaki işaretleri silen üç satırlık bir ön adım hiçbir şeye mal olmaz ve koca bir hata sınıfını ortadan kaldırır.
Kesilen çıktı yine de üretilmiş çıktıdır, bu yüzden APICLAN'da yine de ücretlendirilir. finish_reason'ı okumak ve max_tokens'ı doğru boyutlandırmak yeniden denemeden tasarruf ettirir – asıl maliyet de odur.
İlgili konular
Son kontrol: 2026-10-01. Canlı bir OpenAI uyumlu ağ geçidinde teşhis edilen
sorunlardan yazılmıştır, başka sitelerden derlenmemiştir.