ArrowCrisis commited on
Commit
bf3df8b
·
verified ·
1 Parent(s): 10b2f2a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -13
app.py CHANGED
@@ -14,7 +14,7 @@ ALBERT_URL = "https://albert.api.etalab.gouv.fr/v1/chat/completions"
14
 
15
  @app.route('/')
16
  def home():
17
- return "Serveur Albert Proxy en ligne !"
18
 
19
  @app.route('/verify', methods=['POST'])
20
  def verify_math():
@@ -28,29 +28,31 @@ def verify_math():
28
  return jsonify({"error": "Clé API ALBERT_KEY manquante dans les Settings"}), 500
29
 
30
  # 2. Préparation du prompt (Consignes strictes de formatage et de validation)
 
31
  system_prompt = (
32
- "Tu es un professeur de mathématiques expert pour des élèves de Première. "
33
- "Ton rôle est de vérifier la réponse de l'élève pour un exercice de développement d'expression. "
34
  "RÈGLES STRICTES DE VALIDATION :"
35
- "1. La réponse doit être mathématiquement équivalente à l'attendu."
36
- "2. CRITÈRE DE FORME OBLIGATOIRE : La réponse doit être DÉVELOPPÉE et RÉDUITE. "
37
- " - Refuse systématiquement (isCorrect: false) si l'expression contient des parenthèses indiquant un calcul non fini (ex: (t+h)^2, a(t+h)). "
38
- " - Refuse si l'élève a juste recopié la fonction 'f(t+h)'."
39
- " - Si c'est égal mais non développé, le feedback doit dire : 'C'est juste, mais tu dois développer et réduire l'expression'."
40
  "RÈGLES DE RÉPONSE :"
41
  "1. Réponds UNIQUEMENT au format JSON : {\"isCorrect\": boolean, \"feedback\": \"string\"}."
42
- "2. Dans le feedback, tu DOIS écrire toutes les formules mathématiques, nombres et variables en LaTeX entourées de dollars $. "
43
- "Exemple : 'La bonne réponse est $3t^2 + 2h$.'"
 
 
44
  )
45
 
46
- user_prompt = f"Expression attendue (forme développée finale) : {expected_latex}. Réponse de l'élève : {user_latex}."
47
 
48
  payload = {
49
  "model": "Qwen/Qwen2.5-Coder-32B-Instruct-AWQ",
50
  "temperature": 0,
51
  "messages": [
52
- {"role": "system", "content": system_prompt},
53
- {"role": "user", "content": user_prompt}
54
  ]
55
  }
56
 
 
14
 
15
  @app.route('/')
16
  def home():
17
+ return "Serveur Albert Proxy en ligne (Racines Carrées) !"
18
 
19
  @app.route('/verify', methods=['POST'])
20
  def verify_math():
 
28
  return jsonify({"error": "Clé API ALBERT_KEY manquante dans les Settings"}), 500
29
 
30
  # 2. Préparation du prompt (Consignes strictes de formatage et de validation)
31
+ # Adapté pour l'exercice de Simplification de Racines Carrées
32
  system_prompt = (
33
+ "Tu es un professeur de mathématiques expert. "
34
+ "Ton rôle est de vérifier la simplification d'une expression irrationnelle (type (a√b - √c)²). "
35
  "RÈGLES STRICTES DE VALIDATION :"
36
+ "1. ÉQUIVALENCE : La réponse de l'élève doit être mathématiquement égale à la réponse attendue."
37
+ "2. FORME : La réponse doit être sous la forme simplifiée 'a + b\\sqrt{c}' ou 'a - b\\sqrt{c}' ou un entier simple."
38
+ " - Refuse systématiquement (isCorrect: false) si l'expression contient des parenthèses ou des calculs non effectués (ex: (2\\sqrt{3})^2, 4*3)."
39
+ " - Refuse si la racine n'est pas réduite au maximum (ex: \\sqrt{12} au lieu de 2\\sqrt{3})."
 
40
  "RÈGLES DE RÉPONSE :"
41
  "1. Réponds UNIQUEMENT au format JSON : {\"isCorrect\": boolean, \"feedback\": \"string\"}."
42
+ "2. LOGIQUE DU FEEDBACK (Pour le tri par l'interface) :"
43
+ " - Cas 1 (Juste et simplifié) -> isCorrect: true, feedback: 'Bravo'."
44
+ " - Cas 2 (Mathématiquement juste MAIS forme non simplifiée/attendue) -> isCorrect: false, feedback: 'La réponse est juste mathématiquement mais la forme n'est pas celle demandée (simplification)'."
45
+ " - Cas 3 (Faux) -> isCorrect: false, feedback: 'C'est faux'."
46
  )
47
 
48
+ user_prompt = f"Expression attendue (forme simplifiée) : {expected_latex}. Réponse de l'élève : {user_latex}."
49
 
50
  payload = {
51
  "model": "Qwen/Qwen2.5-Coder-32B-Instruct-AWQ",
52
  "temperature": 0,
53
  "messages": [
54
+ { "role": "system", "content": system_prompt },
55
+ { "role": "user", "content": user_prompt }
56
  ]
57
  }
58