jsonquotefixer: pacote Python que organiza de forma limpa saídas JSON estruturadas incorretas de LLMs
(github.com/abzb1)Olá!
Ao usar modelos de IA, muitas vezes é essencial ter uma saída JSON estruturada.
Eu também, ao tocar vários projetos, frequentemente precisei usar saída JSON e acabava passando pelos mesmos incômodos todas as vezes.
Havia basicamente 3 inconvenientes nas saídas estruturadas de LLMs.
-
Tratamento de blocos de código (````json … ``` )
A maioria dos LLMs usa blocos de código envolvidos por três crases e a palavra-chavejsonao retornar JSON.
Dá para resolver com uma regex simples, mas é cansativo repetir isso toda vez. Seria muito mais prático se o pacote resolvesse isso em uma linha. -
Problema de aspas aninhadas
Em JSON, strings precisam ser envolvidas por aspas duplas ("). Mas, quando aspas aparecem novamente dentro da própria string, é necessário fazer escape, como em\".
Os LLMs frequentemente deixam passar essa distinção e retornam JSON inválido. Eu precisava de um recurso que corrigisse isso automaticamente. -
Aspas inteligentes (aspas Unicode)
Frases geradas por LLMs costumam incluir aspas inteligentes como“ ”.
Como isso não está de acordo com o padrão JSON, era necessário conseguir convertê-las em massa para aspas duplas comuns (").
Pesquisando, encontrei o projeto ai-json-fixer, baseado em Node.js, mas não havia uma ferramenta adequada no ecossistema Python.
Então eu criei uma! (junto com o professor GPT, haha)
Você pode instalar e usar facilmente com pip.
pip install jsonquotefixer
Experimentem e critiquem à vontade, haha
2 comentários
Seria bom se os exemplos aparecessem bem no GitHub em
ipynb.A ordem de tempo é n (comprimento da sequência)!