حسنًا، هذا صحيح تقنيًا، لكنه يشير إلى وجود خطأ برمجي في الكود. تعمل آلية الاستبدال البديلة (fallback) لذا لا يتم رفع خطأ، ولكن من الأفضل إصلاح المصدر بدلاً من نقله إلى مستوى INFO لإخفاء المشكلة، أليس كذلك؟
يسمح JSON باستخدام أحرف السطر الجديد (line feed) كفضاء أبيض، لكنه لا يسمح بتسلسلات الهروب (escape sequences) خارج النصوص؛ ومع ذلك، تقوم دالة الهروب بإخفائها. لإصلاح ذلك، يمكنك تغيير الإعداد لتخفيف الهروب فقط للأحرف ASCII من 0x0 إلى 0x1f شاملاً، وفقًا لمواصفات JSON. (لا أعرف كيفية كتابتها بلغة Ruby لذا لا يوجد طلب سحب PR.)
أعتقد أن llama.cpp يفرض المخطط من خلال اختيار الرموز التي تتوافق معه فقط. كما قمت بالتقاط استجابة باستخدام tcpdump والتحقق من أن الاستجابة المعادة هي JSON صالح.
ومع ذلك، احتوت على مسافات وانقطاعات أسطر خارج السلاسل النصية (أي إنها JSON منسق بشكل جميل)، وقد تم ترميز انقطاعات الأسطر هذه بواسطة Discourse، مما جعلها غير صالحة (تحققت من ذلك في وحدة تحكم rails).