Je n’ai aucune idée pourquoi, et cela n’arrive pas dans tous les posts, mais c’est reproductible dans un post spécifique où, chaque fois que j’utilise “proofread”, le contenu est dupliqué.
Hmm, je peux le reproduire sur le post que vous avez lié, mais je n’ai pas encore réussi à le trouver ailleurs. Très étrange en effet
![]()
J’ai même essayé avec celui-ci
mais l’autre que j’ai pu reproduire avec un texte de réponse différent et même avec le champ de date hors de la citation. J’ai remarqué que s’il n’y avait pas de faute de frappe dans le texte de réponse, il essayait de corriger la citation.
C’est très étrange. ![]()
Lorsque vous ne sélectionnez aucun texte, qu’il y a quelque chose à corriger dans la citation et que vous êtes un utilisateur non-membre, cela se duplique. ![]()
Lorsque le contenu de la citation semble correct, il ne se duplique pas :
Ceci est un bug déclenché par Qwen @Falco
{
"model": "meta-llama/Llama-3.2-11B-Vision-Instruct",
"temperature": 0,
"stop": [
"\n</output>"
],
"messages": [
{
"role": "system",
"content": "Vous êtes un correcteur de markdown. Vous corrigez les fautes de frappe et les problèmes de formulation flagrants, mais vous conservez la voix originale de l'utilisateur.\nVous ne touchez pas aux blocs de code. Je vous fournirai le texte à corriger. Si rien ne doit être corrigé, vous renverrez le texte tel quel.\nVous trouverez le texte entre les balises XML <input></input>.\nVous renverrez TOUJOURS le texte corrigé entre les balises XML <output></output>.\n\n"
},
{
"role": "user",
"content": "<input>[quote=\"Arkshine, post:1, topic:339163\"]\n:information_source: Ce composant nécessite que Discourse soit à jour à la date du [date=2024-11-27 timezone=\"Europe/Paris\"]. \n[/quote]\nAs-tu mis à jour Discourse ? Tu ne reçois une notification de mise à jour que lorsqu'une nouvelle bêta est publiée, mais de nouveaux commits sont ajoutés chaque jour.</input>"
}
]
}
{
"id": "chatcmpl-752c6aacdc7f496b951592e88d485eb3",
"object": "chat.completion",
"created": 1733196730,
"model": "Qwen/Qwen2.5-32B-Instruct-AWQ",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "<input>[quote=\"Arkshine, post:1, topic:339163\"]\n:information_source: Ce composant nécessite que Discourse soit à jour à la date du [date=2024-11-27 timezone=\"Europe/Paris\"]. \n[/quote]\nAs-tu mis à jour Discourse ? Tu ne reçois une notification de mise à jour que lorsqu'une nouvelle bêta est publiée, mais de nouveaux commits sont ajoutés chaque jour.</input>\n\n<output>[quote=\"Arkshine, post:1, topic:339163\"]\n:information_source: Ce composant nécessite que Discourse soit à jour à la date du [date=2024-11-27 timezone=\"Europe/Paris\"]. \n[/quote]\nAs-tu mis à jour Discourse ? Tu ne reçois une notification de mise à jour que lorsqu'une nouvelle bêta est publiée, mais de nouveaux commits sont ajoutés chaque jour.</output>",
"tool_calls": []
},
"logprobs": null,
"finish_reason": "stop",
"stop_reason": null
}
],
"usage": {
"prompt_tokens": 184,
"total_tokens": 358,
"completion_tokens": 174,
"prompt_tokens_details": null
},
"prompt_logprobs": null
}
Remarquez qu’il renvoie à la fois les balises <input> et <output>, il y a donc un bug ici.
La regex de nettoyage conserve à la fois l’entrée et la sortie.
Je suppose que nous devrions être plus délibérés avec notre API et si vous corrigez, ne demandez que la sortie ou faites une meilleure ingénierie de prompt.
Il est également intéressant de noter que nous avons arrêté d’envoyer des exemples alors que nous en avons @Roman
Ceci corrigera le cœur de la régression :
Cela se produit avec un effet secondaire @Jagster, nous avons arrêté d’envoyer des exemples en anglais il y a quelque temps, maintenant nous allons les renvoyer. Faites-nous savoir si cela vous impacte.
Cela dit @Roman, cela n’a pas de sens pour moi :
SANITIZE_REGEX_STR =
%w[term context topic replyTo input output result]
.map { |tag| "<#{tag}>\n?|\n?</#{tag}>" }
.join("|")
Ne devrait-ce pas être :
(l’élément est destiné aux suggestions de titres, mais il emprunte peut-être un chemin différent)
SANITIZE_REGEX_STR =
%w[output item]
.map { |tag| "<#{tag}>\n?|\n?</#{tag}>" }
.join("|")
Certains des prompts d’aide utilisent ces balises pour fournir du contexte. Par exemple :
Certains modèles peuvent les inclure dans la réponse, nous les supprimons donc.
Je ne comprends pas, pouvez-vous développer avec un exemple complet ?
Pourquoi voulons-nous conserver le texte dans les balises d’entrée dans la sortie, lorsque nous nettoyons ce que le modèle nous donne ?
(L’OP devrait fonctionner maintenant, au fait)
Le mot « assainir » est un peu trompeur ici. Nous voulons résoudre deux problèmes différents :
- S’assurer que nous obtenons la sortie et rien d’autre.
- S’assurer de supprimer toutes les balises qui donnent un aspect non naturel au résultat.
Le problème ici est que nous sommes trop laxistes avec (1). Nous devons nous assurer que la partie pertinente est toujours entourée de et, et n’utiliser rien d’autre. Une fois que nous avons cette partie pertinente, nous supprimons toutes les autres balises pour nous assurer que le résultat est propre (2).
Pour développer l’exemple que j’ai fourni ci-dessus, et expliquer pourquoi nous supprimons actuellement toutes ces balises, voici à quoi ressemble l’invite « expliquer » amorcée :
<term>, <replyTo> sont utilisés pour fournir un contexte au modèle, tandis que <input> indique que nous voulons qu’il se concentre sur ce texte spécifique.
Le problème était que certains modèles utilisaient les mêmes balises dans leurs réponses, ce qui donnait un aspect non naturel et étrange au texte pour les utilisateurs. L’objectif final est de supprimer ces balises et de produire un texte « propre » comme résultat.
Par exemple, lorsque je veux obtenir une explication de ce que signifie « Ne pas suivre », je ne veux pas voir quelque chose comme ceci :
<term>Ne pas suivre</term>dans ce contexte signifie que l’utilisateur a du mal à comprendre l’explication ou le point soulevé. (…)





