Output Parsing: JSON Schema, XML Tags, Structured Outputs
Çıktıyı parse edilebilir hale getirmek. JSON, XML, custom delimiter'lar ve tip-güvenliği.
Şükrü Yusuf KAYA
9 min read
AdvancedÜretim ortamında: parse edilemeyen çıktı = hata#
LLM çıktısı bir API yanıtı olarak kullanılacaksa, parse edilebilir olmalı. 4 yaygın yaklaşım:
- JSON — en yaygın, en güçlü tooling
- JSON Schema (Structured Outputs) — tip-garantili JSON
- XML Tags — Anthropic stili, daha esnek
- Custom delimiter — özel ayraçla bölme
Yanıtı **sadece** JSON olarak ver: { "title": string, "tags": string[], "score": number (0-1) }
Parse: . %95 oranla başarılı; %5 oranla code block içinde gelir veya markdown ile sarılı — temizleme gerekir.
JSON.parse(response)javascript
// Robust JSON extractor — markdown code block veya plain JSON içinfunction extractJSON(raw) { // 1. Markdown code block içinde mi? const blockMatch = raw.match(/```(?:json)?\s*([\s\S]*?)\s*```/); const jsonStr = blockMatch ? blockMatch[1] : raw.trim(); // 2. JSON parse, hata varsa "balanced braces" yaklaşımı try { return JSON.parse(jsonStr); } catch (e) { // İlk { ile son } arası const first = jsonStr.indexOf("{"); const last = jsonStr.lastIndexOf("}"); if (first !== -1 && last !== -1) { return JSON.parse(jsonStr.slice(first, last + 1)); } throw new Error("JSON parse failed: " + raw.slice(0, 200)); }}Hatasız JSON çıkarımı için yardımcı fonksiyon — markdown sarılı veya plain her ikisini de yakalar.
Özet#
✓ Üretimde parse edilebilirlik şart — JSON / Schema / XML / Delimiter
✓ Schema (Structured Outputs) %100 garantili
✓ XML iç içe karmaşık veriye daha esnek
✓ Robust parser her zaman fallback olarak yazın
Sıradaki ders: Multi-Step Pipelines — pipeline tasarımı.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
Related Content
Modül 1: Başlangıç ve Temeller
ChatGPT Nedir? Tarihçe, Evrim ve Bugünün Manzarası
Start LearningModül 1: Başlangıç ve Temeller
Hesap Açma ve Plan Karşılaştırması: Free, Plus, Pro, Team, Enterprise
Start LearningModül 1: Başlangıç ve Temeller
Arayüz Anatomisi: Her Buton, Menü ve Ayar Açıklamalı
Start LearningConnected pillar topics