small changes to prompts
This commit is contained in:
@@ -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
|
Conserve les formules mathématiques, les labels exacts des questions et les
|
||||||
clés JSON `rubrics`, `label` et `rubric_content` sans les traduire.
|
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.
|
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 :
|
Par exemple :
|
||||||
- Au moins 2 points si le résultat est correct.
|
- 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.
|
- Mettre la moitié des points si le raisonnement est correct mais pas le résultat.
|
||||||
|
|||||||
+12
-1
@@ -2,6 +2,11 @@ from pathlib import Path
|
|||||||
import io
|
import io
|
||||||
from . import utils
|
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.
|
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.
|
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)
|
# print("Debug : l/t/c/p", full_label, text, corr, persp)
|
||||||
|
|
||||||
if 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>>", text).replace("<<corr>>", corr).replace("<<persp>>", persp).replace("<<label>>", full_label)
|
return main_prompt.replace("<<text>>", text).replace("<<corr>>", corr).replace("<<persp>>", persp).replace("<<label>>", full_label)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -121,6 +121,11 @@ class SelectiveGeminiTests(unittest.TestCase):
|
|||||||
self.assertEqual(call.kwargs["contents"][0].parts[0].text, gemini.PROMPT_4)
|
self.assertEqual(call.kwargs["contents"][0].parts[0].text, gemini.PROMPT_4)
|
||||||
self.assertTrue(call.kwargs["config"].automatic_function_calling.disable)
|
self.assertTrue(call.kwargs["config"].automatic_function_calling.disable)
|
||||||
|
|
||||||
|
def test_rubric_prompt_omits_the_assumed_total_and_requires_latex(self):
|
||||||
|
self.assertIn("total est toujours implicite", gemini.PROMPT_4)
|
||||||
|
self.assertIn("caractères mathématiques Unicode", gemini.PROMPT_4)
|
||||||
|
self.assertIn(r"$\lfloor \sqrt{k} \rfloor$", gemini.PROMPT_4)
|
||||||
|
|
||||||
def test_incomplete_or_failed_rubrics_preserve_entire_persp(self):
|
def test_incomplete_or_failed_rubrics_preserve_entire_persp(self):
|
||||||
before = self.snapshot()
|
before = self.snapshot()
|
||||||
for last in (self.response({"rubrics": []}), RuntimeError("API unavailable")):
|
for last in (self.response({"rubrics": []}), RuntimeError("API unavailable")):
|
||||||
|
|||||||
Reference in New Issue
Block a user