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

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

  1. 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.
  2. 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.
  3. 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

OpenAI uyumlu bir API'yi çağırırken Unexpected token '<' hatası401 invalid API key – anahtar doğru göründüğü halde hata veriyorsa

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.