From 5080274e8f5e636089245be14c9dde81f98e9f4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Miquel?= Date: Mon, 14 Sep 2026 09:49:01 +0200 Subject: [PATCH] small changes to prompts --- copienator/commands/gemini_for_enonce.py | 5 +++++ copienator/prompting.py | 13 ++++++++++++- tests/test_statement_personal_flow.py | 5 +++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/copienator/commands/gemini_for_enonce.py b/copienator/commands/gemini_for_enonce.py index a461ddd..2e6625b 100644 --- a/copienator/commands/gemini_for_enonce.py +++ b/copienator/commands/gemini_for_enonce.py @@ -86,6 +86,11 @@ même si certains textes fournis sont dans une autre langue. Conserve les formules mathématiques, les labels exacts des questions et les clés JSON `rubrics`, `label` et `rubric_content` sans les traduire. Chaque question DOIT être notée sur exactement 4 points. Propose une répartition logique de ces points. +Il est inutile d'indiquer dans `rubric_content` que le barème totalise 4 points : +ce total est toujours implicite. +N'utilise pas de caractères mathématiques Unicode dans `rubric_content`. +Écris les expressions mathématiques en LaTeX, par exemple +`$\\lfloor \\sqrt{k} \\rfloor$` plutôt qu'avec des symboles Unicode. Par exemple : - Au moins 2 points si le résultat est correct. - Mettre la moitié des points si le raisonnement est correct mais pas le résultat. diff --git a/copienator/prompting.py b/copienator/prompting.py index 9823442..74542f7 100644 --- a/copienator/prompting.py +++ b/copienator/prompting.py @@ -2,6 +2,11 @@ from pathlib import Path import io from . import utils +PERSPECTIVE_GUIDANCE = ( + "Ce barème est indicatif, si une réponse est entièrement correcte mais utilise " + "une méthode différente, elle mérite quand même tous les points." +) + main_prompt = """Je te fournis une image contenant plusieurs réponses manuscrites à un examen. Chaque réponse est séparée de la précédente par une ligne horizontale noire. @@ -103,7 +108,13 @@ def make_prompt(input_dir,full_label): # print("Debug : l/t/c/p", full_label, text, corr, persp) if persp: - persp = "\n\nVoici des consignes de notation complémentaires : \n\n```\n" + persp +"\n```\n" + persp = ( + "\n\nVoici des consignes de notation complémentaires :\n\n" + + PERSPECTIVE_GUIDANCE + + "\n\n```\n" + + persp + + "\n```\n" + ) return main_prompt.replace("<>", text).replace("<>", corr).replace("<>", persp).replace("<