Beh, tecnicamente vero, ma indica un bug nel codice. Il fallback funziona, quindi non viene generato alcun errore, ma è meglio correggere la fonte invece di spostarlo al livello INFO per nascondere il problema, non è così?
JSON consente caratteri di avanzamento riga come spaziatura, ma non consente sequenze di escape al di fuori delle stringhe; la funzione di escape, tuttavia, le escape. Per correggerlo, puoi modificare l’escape solo dei caratteri ASCII da 0x0 a 0x1f inclusi, secondo la specifica JSON. (Non so come scriverlo in Ruby, quindi nessuna PR.)
Credo che llama.cpp imponga lo schema selezionando solo token che vi conformano. Ho anche catturato una risposta con tcpdump e verificato che la risposta restituita sia JSON valido.
Conteniva spazi e interruzioni di riga all’esterno delle stringhe (ovvero era un JSON formattato), e queste interruzioni di riga sono state escape da Discourse, rendendolo non valido (l’ho verificato nella console Rails).
Sto usando la funzione di rilevamento dello spam, tra l’altro.