jsonquotefixer: paket Python untuk merapikan keluaran struktur JSON LLM yang salah
(github.com/abzb1)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.
-
Penanganan code block (
```json … ```)
Sebagian besar LLM menggunakan code block yang dibungkus tiga backtick dan kata kuncijsonsaat 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. -
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. -
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
Akan bagus kalau contoh-contohnya terlihat jelas di GitHub dalam format ipynb.
Kompleksitas waktunya adalah n (panjang urutan)!