1 poin oleh doolayer 2025-08-20 | 2 komentar | Bagikan ke WhatsApp

Halo!

Saat menggunakan model AI, sering kali kita benar-benar membutuhkan keluaran JSON terstruktur.
Saya sendiri juga sering berada dalam situasi yang memerlukan keluaran JSON saat mengerjakan berbagai proyek, dan setiap kali selalu menemui ketidaknyamanan yang sama.

Ada 3 kendala utama pada keluaran terstruktur LLM.

  1. Penanganan code block (```json … ```)
    Sebagian besar LLM menggunakan code block yang dibungkus tiga backtick dan kata kunci json saat mengembalikan JSON.
    Ini memang bisa ditangani dengan regex sederhana, tetapi melelahkan kalau harus mengulanginya setiap saat. Akan jauh lebih nyaman jika bisa ditangani dalam satu baris di level paket.

  2. Masalah tanda kutip bertingkat
    Dalam JSON, string harus dibungkus dengan tanda kutip ganda ("). Namun, jika di dalam string itu ada tanda kutip lagi, diperlukan escape seperti \".
    LLM sering gagal membedakan ini dan mengembalikan JSON yang tidak valid. Saya butuh fitur yang bisa mengoreksi masalah ini secara otomatis.

  3. Smart quotes (tanda kutip Unicode)
    Kalimat yang dihasilkan LLM sering mengandung smart quotes seperti “ ”.
    Karena ini tidak sesuai dengan standar JSON, harus ada cara untuk mengonversinya secara massal menjadi tanda kutip ganda biasa (").

Setelah saya cari, memang ada proyek ai-json-fixer berbasis Node.js, tetapi di ekosistem Python belum ada alat yang benar-benar pas.

Jadi saya membuatnya! (bersama guru GPT, hehe)
Bisa dipasang dan digunakan dengan mudah lewat pip.
pip install jsonquotefixer

Silakan dicoba dan kritik habis-habisan, hehe

2 komentar

 
onandon 2025-08-26

Akan bagus kalau contoh-contohnya terlihat jelas di GitHub dalam format ipynb.

 
doolayer 2025-08-20

Kompleksitas waktunya adalah n (panjang urutan)!