1 points par doolayer 2025-08-20 | 2 commentaires | Partager sur WhatsApp

Bonjour !

Quand on utilise des modèles d’IA, on a souvent besoin d’une sortie JSON structurée.
Moi aussi, en menant plusieurs projets, je me suis souvent retrouvé dans des situations où il fallait exploiter une sortie JSON, et je rencontrais à chaque fois les mêmes désagréments.

Il y avait surtout 3 points pénibles avec les sorties structurées des LLM.

  1. Traitement des blocs de code (```json … ```)
    La plupart des LLM utilisent, lorsqu’ils renvoient du JSON, un bloc de code entouré de trois accents graves et du mot-clé json.
    On peut le traiter avec une regex simple, mais c’est pénible de répéter ça à chaque fois. Ce serait bien plus pratique si le package le gérait en une seule ligne.

  2. Problème des guillemets imbriqués
    En JSON, les chaînes doivent être entourées de guillemets doubles ("). Mais si des guillemets réapparaissent à l’intérieur d’une chaîne, il faut les échapper, par exemple avec \".
    Les LLM ratent souvent cette distinction et renvoient un JSON invalide. J’avais besoin d’une fonctionnalité qui corrige automatiquement ce problème.

  3. Guillemets typographiques (guillemets Unicode)
    Les phrases générées par les LLM contiennent souvent des guillemets typographiques comme “ ”.
    Comme ils ne sont pas conformes au standard JSON, il faut pouvoir les convertir automatiquement en guillemets doubles normaux (").

En cherchant, j’ai bien trouvé le projet ai-json-fixer basé sur Node.js, mais il n’existait pas vraiment d’outil approprié dans l’écosystème Python.

Alors je l’ai créé ! (avec l’aide de GPT, bien sûr 😄)
Vous pouvez l’installer simplement avec pip.
pip install jsonquotefixer

Essayez-le et critiquez-le sans retenue 😄

2 commentaires

 
onandon 2025-08-26

Ce serait bien que les exemples soient bien visibles sur GitHub au format ipynb.

 
doolayer 2025-08-20

La complexité temporelle est de n (longueur de séquence) !