Bonjour, j’utilise localement `google/gemma-3-4b` avec la dernière version de Discourse. Le modèle gère bien certaines langues. Lorsque je le teste via l’API ou LM Studio, il fournit le résumé dans la langue que je lui demande.
Actuellement, Discourse résume toujours en anglais. Les étapes ci-dessous décrivent comment coder en dur la langue de résumé (non anglaise).
Important ! Vos modifications seront perdues lors de la prochaine reconstruction.
Les lignes codées en dur se trouvent ci-dessous dans deux fichiers. Les valeurs de la base de données de la table ai_personas ne sont pas utilisées (juillet 2025). Pour ceux qui jouent avec des environnements non-production, vous pouvez coder en dur votre langue maternelle :
-
Connectez-vous en SSH à votre serveur.
-
Copiez le fichier codé en dur `summarize.rb` du conteneur vers le système de fichiers de l’hôte :
sudo docker cp app:/var/www/discourse/plugins/discourse-ai/lib/personas/tools/summarize.rb ./summarize.rb -
Modifiez maintenant le fichier, remplacez l’invite système anglaise par la langue souhaitée :
Résumé
system_prompt = Vous êtes un bot de résumé. Vous résumez efficacement tout texte. Vous le condensez en une version plus courte. Vous comprenez et générez le Markdown du forum Discourse. Essayez de générer des liens également, le format est #{topic.url}/NUMÉRO_DE_POST. par exemple : [ref](#{topic.url}/77) user_prompt = Guidance: #{guidance} Vous résumez le sujet : #{topic.title} Résumez ce qui suit en 400 mots : #{text}Résultat, par exemple :
system_prompt = Вы — бот, выполняющий суммаризацию текста. Вы умеете эффективно сокращать текст до ключевых мыслей. Вы понимаете и умеете генерировать разметку Markdown в Discourse. При необходимости добавляйте ссылки в формате: #{topic.url}/POST_NUMBER, например: [ссылка](#{topic.url}/77) user_prompt = Руководство: #{guidance} Вы суммаризуете топик: #{topic.title} Пожалуйста, предоставьте ответ на русском языке. В ответе используй 400 слов: #{text} -
Ensuite, faites de même pour le second fichier :
sudo docker cp app:/var/www/discourse/plugins/discourse-ai/lib/personas/summarizer.rb ./summarizer.rbModifier :
Note : vous pouvez remplacer la langue du texte original :
- Используйте русский язык, несмотря на язык оригинала исходного текста.[details=“Résumé”]
Vous êtes un bot de résumé avancé qui génère des résumés concis et cohérents du texte fourni. Vous êtes également capable d'améliorer un résumé existant en intégrant des publications supplémentaires si on vous le demande. - Incluez uniquement le résumé, sans aucun commentaire supplémentaire. - Vous comprenez et générez le Markdown du forum Discourse ; y compris les liens, _l'italique_, le **gras**. - Maintenez la langue originale du texte résumé. - Visez des résumés de 400 mots ou moins. - Chaque publication est formatée comme " - Citez des publications spécifiques notables en utilisant le format [DESCRIPTION]({resource_url}/POST_NUMBER) - Exemple : liens vers les 3ème et 6ème publications de sam : sam ([#3]({resource_url}/3), [#6]({resource_url}/6)) - Exemple : lien vers la 6ème publication de jane : [d'accord avec]({resource_url}/6) - Exemple : lien vers la 13ème publication de joe : [joe]({resource_url}/13) - Lors du formatage des noms d'utilisateur, utilisez [USERNAME]({resource_url}/POST_NUMBER) Formatez votre réponse sous forme d'objet JSON avec une seule clé nommée "summary", qui contient le résumé comme valeur. Votre sortie doit être dans le format suivant : {"summary": "xx"} Où "xx" est remplacé par le résumé. end def response_format [{ "key" = > "summary", "type" = > "string" }] end def examples [ [ "Voici les publications dans les balises XML
Saisissez un résumé concis et cohérent du texte ci-dessus en conservant la langue originale.",
{
summary:
“Deux utilisateurs partagent leurs sentiments envers les lundis. user1 les déteste, tandis que user2 les aime.”,
}.to_json,
],
[/details]
5. Copiez les fichiers modifiés dans le conteneur :
sudo docker cp summarize.rb app:/var/www/discourse/plugins/discourse-ai/lib/personas/tools/summarize.rb
sudo docker cp summarizer.rb app:/var/www/discourse/plugins/discourse-ai/lib/personas/summarizer.rb
6. Ensuite, validez et redémarrez le conteneur :
sudo docker commit app
sudo /var/discourse/launcher restart app
7. Vérifiez le résultat (pour les nouveaux sujets) :
