Validator Output JSON LLM
Tempel JSON Schema dan respons LLM untuk melihat setiap error validasi beserta path JSON dan barisnya. Code fence, koma di akhir, kutip tunggal atau melengkung, komentar, dan True/None Python diperbaiki dulu. Validasi memakai Ajv 8.20.0 (draft-07, 2019-09, 2020-12) di browser Anda.
Cara memakai
- Tempel JSON Schema di kiri. Pembungkus response_format OpenAI dengan name dan schema dibuka otomatis.
- Tempel output model di kanan, persis seperti yang diterima, termasuk code fence atau teks di sekitarnya.
- Baca hasilnya. Setiap error menampilkan baris dan kolom (klik untuk melompat ke sana), path JSON, dan masalahnya. Jika output harus dibersihkan dulu, perbaikannya dicantumkan dan JSON bersih siap disalin.
Cara menghitung
Output dibaca apa adanya lebih dulu. Jika gagal, alat ini membuang masalah yang paling sering dibuat model lalu mencoba lagi: code fence Markdown, teks sebelum atau sesudah JSON, BOM, tanda kutip melengkung, string dengan kutip tunggal, komentar // dan /* */, koma di akhir, serta True, False, dan None dari Python. Teks di dalam string tidak pernah diubah.
Skema diperiksa dengan Ajv 8.20.0, validator JSON Schema yang banyak dipakai, dan baru dimuat saat Anda menempelkan sesuatu. Draft 2020-12 dan 2019-09 dipakai bila field $schema menyebutnya, selain itu draft-07. Semua error dilaporkan, bukan hanya yang pertama.
Kata kunci format (email, date-time, dan lainnya) tidak diperiksa, dan tautan $ref jarak jauh tidak diambil.
Apa pun yang Anda tempel tidak disimpan, tidak dikirim, dan tidak ditulis ke alamat halaman.
Kesalahan LLM yang paling sering
| Masalah | Contoh | Diperbaiki otomatis |
|---|---|---|
| Code fence | ```json { ... } ``` | Ya |
| Teks di sekitar JSON | Sure! Here it is: { ... } | Ya |
| Koma di akhir | {"a": 1,} | Ya |
| Kutip tunggal atau melengkung | {'a': 'b'} | Ya |
| Field wajib hilang | {"title": "x"} | Tidak, dilaporkan |
| Tipe salah | "rating": "5" | Tidak, dilaporkan |
| Field berlebih | "author": "x" dengan additionalProperties false | Tidak, dilaporkan |
Mendapat output valid sejak awal
- Gunakan mode structured output dari penyedia bila bisa. json_schema strict dari OpenAI dan structured outputs dari Anthropic membatasi model pada skema.
- Mode strict mewajibkan semua properti masuk required dan additionalProperties bernilai false. Pastikan skema Anda mengikuti aturan itu.
- Saat membaca output model tanpa mode strict, pertahankan langkah pembersihan seperti ini dan validasi sebelum memercayai datanya.
Pertanyaan umum
Mengapa JSON saya gagal dibaca padahal kelihatan benar?
Penyebab umumnya koma setelah item terakhir, code fence di sekitar JSON, atau tanda kutip melengkung dari jendela chat. Alat ini memperbaikinya dan menyebutkan apa yang diubah.
Draft JSON Schema mana yang didukung?
Draft-07 secara bawaan, ditambah 2019-09 dan 2020-12 bila field $schema menyebutkannya.
Apakah data saya diunggah?
Tidak. Pembacaan dan validasi berjalan di browser Anda, dan teks tidak disimpan maupun dimasukkan ke URL.
Bisakah saya menempel objek response_format OpenAI?
Bisa. Objek dengan name dan schema, atau dengan json_schema.schema, dibuka dan skema di dalamnya dipakai.