L'IA est coupée avant d'avoir fini d'écrire

J’ai donc reçu des rapports sur le forum (et je les ai moi-même constatés) indiquant que l’IA n’achève tout simplement pas l’écriture. Au début, je pensais que c’était dû au modèle lui-même, alors je n’y ai pas vraiment prêté attention… sauf qu’aujourd’hui, en vérifiant, il s’avère que le modèle répond complètement, mais que quelque chose dans l’interface utilisateur coupe le texte. Cela arrive aussi avec les publications automatisées. J’en ai créé une pour résumer hebdomadairement le forum, et elle ne « termine » tout simplement pas d’écrire le post.

data: {"nonce": "e90626a4a8", "candidates": [{"content": {"parts": [{"text": "Le contrôle longitudinal sur les véhicules HKG (Hyundai, Kia, Genesis) avec direction à angle (LFA2) est un domaine en développement actif dans sunnypilot. Il ne s'agit pas simplement de terminer un \"portage de voiture standard\","thoughtSignature": "CiQBcsjafFMGRiE4o6w0sZw7zZuBte9C9oTrfuwIjpQbPpnU6LcKagFyyNp80bv/vTM9jEh7sXozJX9m4GNmtqQNBRvWMKCoXmyhWHMpmW23o4jDekxbAxK465e1GXi3reCTEl6+21CUt9lIcqzyatOnIhAnGxXBspsD+t8+V0j2wC+YZDjkQW9Mr0jyNXKoELgKhQIBcsjafG5PrYkNwgx9YUITe3HZjvx5SzncZ2Ojy5sxTUuEUn/nyPubl1+JuTag9iAI5momjZYGu2Ikq2GQsrweK4FSZP8KJtZ0fnyY6hEYN//6a7gubhoO/rzu1/sTKc/NDt3oVx0kPZ+sW1XlYaRk3CbKfboRV+6BTcBfto0QL7ybvEQI9TpKrh7bEwESz1P1/HMip/XFdIzUxFRbIxXoBk2E/6WZkiO59uNePOixBScYV5MqzTgh+k06cUKXH8Jo+GKR6psIqwRluCiPLMkIatBp3wAnBdVjXFy1HRP1XxBGGYlrm/IxKSKryOl1OCOmG7+p4hQgms528e6jzClI7XPJ4zkK5QEBcsjafCXaY4ii0jCt1BWnhv7OLCOZsFsJUndy+KGnLoPD8MoNgoZm8lo6jf/V+NIFnMKCsdbB8zuGN4vzsuIFVNOKF4T96cvvAr1c7cMFhrapkeHBgHElQ8oVqVJbAWs9bYSMYisp1ir4zrYku8OAmia7PGfIpGDuRjKftW7qRtUftiba6SWcS0IX+fHwkmop6IZzB7CpWXkOJUso9fZzF2ZIzKkxSWM0HrKCr0kXF4+iLi7aoiFmbOxZiQAyEf4rdkxWSd4NMtqoDeHetDCrofWhbS8psN19XS41FptlkVtqimkvCtgBAXLI2nwL5IX8V/R9MzwZqCOGPLh6O4YDHwyzcPl6F0eJJ3BmuNVR14dswLOaE6SUhs6113jLWLUJk+RVe0BhztFBivv72MtMC7PeH6IlN7XA6Siozgz9H0AvLmPVOJPF6+dLhwzguDd/xaQOeVtn5ovKM0Zvto+6EC509IfNniu05+AsrgFCrO1Q3ck2IZP77Mfty/69hEpGM/QEJAtLyofnuND+O11ib09yQ/iXjCsxnPS1JUz/t3+LXNC1NtGu6CwZtLbuzP7ILHyhfZv5W8SH6KWKRvsnCtYBAXLI2nxU4u+DiCPWQyOenB5E06f9BUaemo2dWG6KK+umyOR39awa5bj3AXw07bStW1TPhedwSsBXbluHhtHbKYXdXiZZde1ub3mYpC3kHZ5B7nmKrDET29HtXGArCQn+Acq17X0k/ixqEWTLJN/jNLwQ6uDsFAajEyurBoHjdzYUcI2Xv2UnGfJcMcIwExfaRpFKSC1YRcSM+yQ3h6t/q93obZPNgubRnCtkzoLIoefeR4FZX/+b8EU5E2cstCkKK1mCrdspzlkc5OZS4LPu0hC0RMY3QgrYAQFyyNp82O39p8+kFI3YKdKX29TuoJsJvuW4vdQq9PakjWL3l1UMMK17BvJlpdEVv2Q88FC1Ka3Rrvgh7aB5fhS/1QqRvy2eCZlpS1tIHo8rGnAjiQnV435CP3jsRpfbmEHS6QS8C3fJV4WJ8ATi5gFe7WzbwuU4vryoApHLp6Z6lswkHbiYo9Km5xDB4QlvW88l5iti1zOu1DU8+RMzFXCUmJdgrb84W505vQ/Q+tjYACDQCnggwTWNoBe7qOYciTk3yXDnEpnp4Sok+FveuQZFtTs9nKrMpArOAQFyyNp8/OxVTWuH3pg1tFJWG6p/rYgEsK8ZQoFPbIih9mMUhzAbiKuEcAe/y+9c0hXrU4+MkyqvVD6H63s9Wrkh15fHTJDaWfex7WsiElxL2GsgbuV++HzKHrsdya+3e2QZpVngj2NNFrVjAKGIl0mH4u/Y7ybDUaNhmpjDK6bfalsta8IrUoKOw7WqNe0ald+P8XrGy8Bwnp43yV1G34aok06uim7IFSgixF3itjmnP4eldG5x0sy7E2mNUdGfdN2btnTKLLPKmsgjfC2lCucBAXLI2nwFCNwbEBoafguzpMjuCxN7NkllOt4Br8qAHbjl4y84ctU4UWKyvVNK3hQJ5Da/HT/1Hg1VIJfR3dDIzKsqiC6VfgeFlg6Sz/pl2f/k5zZj1zPTfW7AfsCr6nerDPAAPI33NPhnStDod8E++VdsvISm/0AYqbYpZ7nn5Fnshtc4GwDzdnIewCil0x4QzCPBaIe4Myy56bQLuOqUzcAPwoPp7u9nVNMriBkwWLZkLwWgvZ0JwzkM6Cq5/q1n0S3UCC9niyxpo2DSH5Jtcp6LBFjphOctAgsNHhaR6iS9Y7aQLJRkCucBAXLI2nxqPFreWTEgzpPskwyhP3c+BmWOU97SF67kM29n+F6B4S+1R7zyWnt32nbKCUXImy/+K713O4iApefGw8uMXQi3JBd73Rh23V2+yflfc8ioEkfOj92wLD1dw1mNLin3TRBJXnJi7dZGjOlBUuoAbQqDgdyhUDBv9QmSUiawZwLR5TRgstfbjvCcZLwadjp9Mg1+iKaoblu1MWF5J3Qj/DAVQn2JzRT9b7YMntlPXczrCSPI76LzLxeVVMxwKNrcohDz93mGR29iuGK2Y7Xd7EdX1v6+YG47J3AbdBeGoyOVMd+PCpMCAXLI2ny7Y1WDW8MWZqt24bjtPzOSnxKdoGtflzCSb9j39+nZRb71gd+dZ4l+ge25jzx+Xbir/yQLqo9Sj2ARI7WGNmR68WfE7JbYb/vFoJpGeL4o72h/LgCfot6HIXk/+ol77SpnAq0lrF1b2DZ+xaSNYevOWbwVhPkmPlae2eU4UWE6TLTsrzbzV2QtFbO4rAJVGW1GAs0RNtwIszKSKL29huHEtr+PUI/KuQpA4ZFkJe2S4uAktty2YuNkgsSU6ceCWo1rVUmtRyILKGKdR4hVaX2HmbtAbJmZ1kQsBlyq08TldBTxyfk6yQYBnn26ZpXN4wzxusC6LvCwLLvyWxb8HVI9yJpvBThI5kUiRWZpcLwK3AEBcsjafKWLGNajcg6g9PbgvTUFkAYNH2+V/hdR72UKmKdD4LCnk9Qw40Rf8i3eVdPjT/fXIyd/U14LPisMhQogxXjm72KdgYL8W72+4r5yC+6hDL5u1mvimI0iXkPcodW3/vvY0wxx3QLeIItyeaNXMXdB4ohrNRgCaNyCQfpQ0bMT5lPa5DfwWww76AXxjpVxs4TgBni1slWVO8nruqyLZhG1rMLCI6WP37bspYILKGOKHWF0OKF60gZL6bmqMpASDiqi7Pg2Tzv+idvfC3ca/R/dQsHIL6L/edaiCocCAXLI2nwGVYCk1kVAwDrW+H5fzwuQSWiVTAnAvPYv3ElvDrxsEVrT82ZKdJ5IExzlXjvbYZGlgjo5kPePWKBX1QVAl842pOLSb/eDSzDpD6YAJ7+0JV+y+2h7LpyiFUdG2mX3j2QAkslAu3/VDr1LRIGuv58Qwbo7py5BdnDLIb45Y8iPmzl40jc29Xcq/sRh7nKMVtBAUK5HRVLkEuY2eW8UUr43L+Zdm1LEkLXz0fcYHPSaWO1pVisoBBaxvKzMEyhi4eBV06DTKA7jzqBfIy+A1o9rtO9Y64XnUrHEwjQ+jxQDTrWGoLh9j4f9A95tu4SmDrC58Sm/EgVfzo88nkQmO0JiBDgK/QEBcsjafLzEkSnVLMQ1vde+FBjpiK3hBfBSGVk1km2Lqk+ZToTj0sWE/8BcUQ72iHt3jMUs3VZN15qci8trtGE8Ua1LQ+B9akbQ2byUpT5WizmbT54kgA+B8vU/wiq2El86k4mutbdwTuNtSt3nZsjPFWuKEGu+zoO0GeGtQkAU6XOgNK6mPapAfNIojRVLQdrkcQM8W3ZkU/iQ/DHzkmqOo4oAqiJVgTxrDFx2my/Sn0rfa9P3DEy5/NsnJpJMWcjrXfWpPl/jEZF47RCwffyKX8FJqTNNowdwnLb1/2ElbxQ9zQppn408BAwrIDCbpFlZ+GqAYzSLDuacaTWwCpgCAXLI2nzRpsiZpsCeuOTo6Y8d989U4ORaixkC4WQEIywlFZf8HiMthqXlbf1VSD9OgfAfZc7chyD2aydT1xQd+gjhIu1vXaHbBO0qSfTt+B/z+JRDGEiww1XjYYSdCGRm9/XSI8npyowXXXlcVYUsKsLIqu5IVA8IslzWhIFbhkKMe0kP/FS6zqR66oXX2t/nlJ95cmrD/wC9oqFaXCx7qcSDljXwL06tBHWdKwWrkO6YP0733d8jCHcWtVrfbxGus5T8FkUAJnBY3oKSPLQPA5d7hvPovyrFMl+xs5Mv3iSKTIFlc3VfQgJjO8Kq4QqoLP57qcHBeYeO4D9Ab5cVDXNOR/0V7Ur+cZdjQUWib+99bIW3NmWQ8wrdAQFyyNp8wAY11eQeRNEY9azg+mu/DGxbhqhOGziyEjLF6sXUDgTGHN6PJXY142XdwCyGNI+EXTUpxpOImxoaSK0GNzKr8kNTVhMs/L4QzbJOWFEGQli8biuYlky36BwAVzX9NVKAFmuzPdbPqpK6jfAnr3pdvNnayoBRIp5KPNNqDQwwgWXjn8NJTZ9pq5OztlvR4WS/nwhxuCUbh8+8AkYyKX2xz0QNbDyogiavC8RRbUntPhgj04f945hlVK4LpahO8fFiqJJRkDha02ALGZCISVrlpZvTnSgZP1ej"}],"role": "model"},"index": 0}],"usageMetadata": {"promptTokenCount": 20565,"candidatesTokenCount": 48,"totalTokenCount": 21305,"promptTokensDetails": [{"modality": "TEXT","tokenCount": 20565}],"thoughtsTokenCount": 692},"modelVersion": "gemini-2.5-flash","responseId": "3q8saZzqKaWOjMcPgPj5oA4"}

data: {"nonce": "f743860cb8", "candidates": [{"content": {"parts": [{"text": "\" au sens traditionnel, car ces véhicules utilisent une nouvelle API de contrôle nécessitant une implémentation spécialisée.\n\nVoici un résumé de la situation basé sur les discussions au sein de la communauté :\n\n*   **Nouvelle API de contrôle :** La direction à angle (LFA2)"}],"role": "model"},"index": 0}],"usageMetadata": {"promptTokenCount": 20565,"candidatesTokenCount": 98,"totalTokenCount": 21355,"promptTokensDetails": [{"modality": "TEXT","tokenCount": 20565}],"thoughtsTokenCount": 692},"modelVersion": "gemini-2.5-flash","responseId": "3q8saZzqKaWOjMcPgPj5oA4"}

data: {"nonce": "fd16d9ff", "candidates": [{"content": {"parts": [{"text": " fait référence à une nouvelle API de contrôle de Hyundai, Kia et Genesis, qui s'applique principalement aux modèles de 2025 et ultérieurs. L'implémentation de sunnypilot doit s'adapter à ce nouveau système.\n*   **Branches de développement :**"}],"role": "model"},"index": 0}],"usageMetadata": {"promptTokenCount": 20565,"candidatesTokenCount": 147,"totalTokenCount": 21404,"promptTokensDetails": [{"modality": "TEXT","tokenCount": 20565}],"thoughtsTokenCount": 692},"modelVersion": "gemini-2.5-flash","responseId": "3q8saZzqKaWOjMcPgPj5oA4"}

data: {"nonce": "4f85", "candidates": [{"content": {"parts": [{"text": " Il existe des branches de développement spécifiques pour la direction à angle, telles que `hkg-angle-steering-2025` (développement actif) et `hkg-angle-steering-2025-prebuilt` (test stable"}],"role": "model"},"index": 0}],"usageMetadata": {"promptTokenCount": 20565,"candidatesTokenCount": 195,"totalTokenCount": 21452,"promptTokensDetails": [{"modality": "TEXT","tokenCount": 20565}],"thoughtsTokenCount": 692},"modelVersion": "gemini-2.5-flash","responseId": "3q8saZzqKaWOjMcPgPj5oA4"}

data: {"nonce": "9ca7bd", "candidates": [{"content": {"parts": [{"text": ").\n*   **En cours :** Certaines branches, comme `hkg-angle-steering-2025-hda1`, sont actuellement en pause car d'autres branches principales (`ccnc` et `hkg-angle-steering-branch"}],"role": "model"},"index": 0}],"usageMetadata": {"promptTokenCount": 20565,"candidatesTokenCount": 246,"totalTokenCount": 21503,"promptTokensDetails": [{"modality": "TEXT","tokenCount": 20565}],"thoughtsTokenCount": 692},"modelVersion": "gemini-2.5-flash","responseId": "3q8saZzqKaWOjMcPgPj5oA4"}

data: {"nonce": "fb9ecd1b15a7", "candidates": [{"content": {"parts": [{"text": "-2025`) doivent d'abord converger. Cela signifie que le contrôle longitudinal complet sur toutes les configurations de direction à angle est encore en cours de développement.\n*   **Limitations et recommandations :**\n    *   Si vous êtes sur une branche de direction à angle non-HDA1"}],"role": "model"},"index": 0}],"usageMetadata": {"promptTokenCount": 20565,"candidatesTokenCount": 296,"totalTokenCount": 21553,"promptTokensDetails": [{"modality": "TEXT","tokenCount": 20565}],"thoughtsTokenCount": 692},"modelVersion": "gemini-2.5-flash","responseId": "3q8saZzqKaWOjMcPgPj5oA4"}

data: {"nonce": "fd3cac2dd11ba065", "candidates": [{"content": {"parts": [{"text": " angle steering branch, you might not have full longitudinal control and could see dashboard warnings, though other functionalities should work.\n    *   NNLC (Neural Network Longitudinal Control) is not currently supported for any angle steering cars in sunnypilot"}],"role": "model"},"index": 0}],"usageMetadata": {"promptTokenCount": 20565,"candidatesTokenCount": 345,"totalTokenCount": 21602,"promptTokensDetails": [{"modality": "TEXT","tokenCount": 20565}],"thoughtsTokenCount": 692},"modelVersion": "gemini-2.5-flash","responseId": "3q8saZzqKaWOjMcPgPj5oA4"}

data: {"nonce": "549c58", "candidates": [{"content": {"parts": [{"text": " or openpilot.\n    *   For optimal and safe operation, proper car porting is recommended. If your specific vehicle model isn't officially ported, using a similar model might work, but it's advised to provide a route and"}],"role": "model"},"index": 0}],"usageMetadata": {"promptTokenCount": 20565,"candidatesTokenCount": 394,"totalTokenCount": 21651,"promptTokensDetails": [{"modality": "TEXT","tokenCount": 20565}],"thoughtsTokenCount": 692},"modelVersion": "gemini-2.5-flash","responseId": "3q8saZzqKaWOjMcPgPj5oA4"}

data: {"nonce": "9cfd63cbefcde6", "candidates": [{"content": {"parts": [{"text": " request proper porting for safety reasons.\n    *   If you're using a prebuilt angle steering branch and find the longitudinal control a bit limited, some users have found success by adjusting \"min active torque\" in the steering settings"}],"role": "model"},"index": 0}],"usageMetadata": {"promptTokenCount": 20565,"candidatesTokenCount": 442,"totalTokenCount": 21699,"promptTokensDetails": [{"modality": "TEXT","tokenCount": 20565}],"thoughtsTokenCount": 692},"modelVersion": "gemini-2.5-flash","responseId": "3q8saZzqKaWOjMcPgPj5oA4"}

data: {"nonce": "998628", "candidates": [{"content": {"parts": [{"text": " (e.g., to 90% or 95%).\n\nIn essence, special work is indeed needed due to the new control API for LFA2 cars, and while progress is being made on dedicated branches, it's still an"}],"role": "model"},"index": 0}],"usageMetadata": {"promptTokenCount": 20565,"candidatesTokenCount": 493,"totalTokenCount": 21750,"promptTokensDetails": [{"modality": "TEXT","tokenCount": 20565}],"thoughtsTokenCount": 692},"modelVersion": "gemini-2.5-flash","responseId": "3q8saZzqKaWOjMcPgPj5oA4"}

data: {"nonce": "2f", "candidates": [{"content": {"parts": [{"text": " evolving feature set with some current limitations.\n\nYou can follow the ongoing discussions and updates in the #Vehicle-Talk:Hyundai-Kia-Genesis category, especially in the thread [Support for newer vehicles equipped with Angle Steering (LFA2"}],"role": "model"},"index": 0}],"usageMetadata": {"promptTokenCount": 20565,"candidatesTokenCount": 541,"totalTokenCount": 21798,"promptTokensDetails": [{"modality": "TEXT","tokenCount": 20565}],"thoughtsTokenCount": 692},"modelVersion": "gemini-2.5-flash","responseId": "3q8saZzqKaWOjMcPgPj5oA4"}

data: {"nonce": "15d69a6453c811", "candidates": [{"content": {"parts": [{"text": ")](https://community.sunnypilot.ai/t/support-for-newer-vehicles-equipped-with-angle-steering-lfa2/22)."}],"role": "model"},"finishReason": "STOP","index": 0}],"usageMetadata": {"promptTokenCount": 20565,"candidatesTokenCount": 578,"totalTokenCount": 21835,"promptTokensDetails": [{"modality": "TEXT","tokenCount": 20565}],"thoughtsTokenCount": 692},"modelVersion": "gemini-2.5-flash","responseId": "3q8saZzqKaWOjMcPgPj5oA4"}


Toute indication sur où chercher et enquêter m’aiderait énormément. Merci !

J’ai corrigé quelques problèmes concernant exactement ce problème dans :

Plus précisément, la reproduction cohérente du problème consistait à avoir 2 conversations en cours et à basculer entre elles.
Vous êtes… presque… à ce commit, le commit devrait arriver au milieu de cette semaine.

Je confirme cependant, lorsque vous rechargez la page après que tout soit terminé, voyez-vous les choses s’afficher correctement ?

malheureusement ce n’est pas le cas, c’est comme si le message avait été envoyé tronqué et c’est tout, même si clairement le débogage montre que la réponse était complète… J’ai donc peur de dire que cela pourrait être un problème différent ? Cela a commencé autour du 25 novembre, peut-être quelques jours plus tôt ? Une autre intuition que j’ai est que cela semble se produire lorsque la conversation reçoit un titre, mais je peux me tromper ou ce n’est peut-être qu’une coïncidence.

Merci, désolé, je pensais que vous étiez hébergé par nous :hugs: J’allais proposer de me connecter et d’aider à enquêter.

Pouvez-vous jeter un œil dans /logs, y a-t-il des erreurs là-bas ? Il semble que vous utilisiez le point de terminaison de compatibilité openai pour gemini, pouvez-vous essayer celui de gemini pour voir si les résultats sont différents ?

Rien n’appelle particulièrement mon attention dans les journaux

(Désolé pour les captures d’écran du téléphone, j’étais sorti pour mon anniversaire toute la journée mais je ne peux pas laisser passer ça hahahah)

Je n’étais pas au courant que j’utilisais cela, mais cela se produit avec tous les modèles… même ceux de ChatGPT ou même gemini3. J’utilise la passerelle IA de Cloudflare. Mais j’ai aussi testé sans elle et même résultat

Edit :

Concernant le point de terminaison de compatibilité… je ne sais pas si je fais mal les choses mais je ne pense pas que j’atteigne le point de terminaison de compatibilité, je comprends qu’il se termine par /openai mais ce n’est pas le cas pour moi. Je partage la configuration que j’ai au cas où cela donnerait un indice.

Aussi, j’ai l’impression que cela a également commencé à se produire lorsque j’ai activé les quotas, mais je n’y suis pas soumis et cela se produit pour les modèles ou les assistants sans quota. Donc, cela pourrait être entièrement une coïncidence aussi

ces données que vous avez liées ne me semblent pas être des données du fournisseur Google, elles me semblent être des données du fournisseur OpenAI, pouvez-vous essayer de les basculer et voir ce qui se passe ?

Malheureusement, le définir sur le fournisseur OpenAI provoque une erreur (impossible d’« exécuter le test »), donc le fournisseur Google le fait certainement passer. Je vais supprimer la passerelle IA de Cloudflare pour tester « brut », mais ce qui me surprend, c’est que les données sont toujours reçues intégralement par Discourse de toute façon, sinon ces données de réponse que j’ai publiées ne seraient pas visibles. J’obtiens cela en cliquant sur le bouton « info » et en copiant la réponse.

Edit :

Passer de la passerelle IA de Cloudflare à l’API directement semble donner de bons résultats. Je vais continuer à surveiller et à tester.

Salut @sam, une petite mise à jour de statut : jusqu’à présent, tout va bien. Les requêtes que j’ai faites au bot qui échouaient ne m’ont pas échoué aujourd’hui. Il semble que pour une raison quelconque, la passerelle d’IA de Cloudflare était la coupable, mais je ne comprends pas pourquoi… Je continuerai à vérifier et je vous ferai savoir si je la vois échouer à nouveau.

Dernière mise à jour sur le sujet :

Après avoir supprimé la passerelle IA (AI Gateway) des modèles, je peux affirmer avec confiance que le problème a disparu. La raison pour laquelle cela a commencé à se produire est quelque chose que je ne comprends pas.

Mais il y a quelques minutes, une automatisation hebdomadaire publiant un résumé de la semaine a échoué avec la même coupure. J’ai réalisé qu’elle utilisait un autre modèle qui utilisait encore la passerelle IA. J’ai supprimé la passerelle et déclenché le résumé environ 3 fois, et pas un seul échec.

Donc, si votre IA est coupée avant d’avoir tout écrit, et que vous utilisez la passerelle IA (AI Gateway) de Cloudflare, la première étape est d’interroger directement l’API du modèle !