Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -90,109 +90,39 @@ def generate_complete_latex(client, image_bytes):
|
|
90 |
image = Image.open(io.BytesIO(image_bytes))
|
91 |
|
92 |
prompt = f"""
|
93 |
-
#
|
94 |
-
Agis en tant qu'expert en mathématiques et tuteur pédagogue
|
95 |
|
96 |
# CONTEXTE
|
97 |
- **Input:** Une image contenant un exercice de mathématiques.
|
98 |
- **Niveau Cible:** Élève de Terminale S (Lycée, filière scientifique française).
|
99 |
-
- **Output Attendu:** Un fichier source LaTeX (.tex) autonome
|
100 |
|
101 |
# TÂCHE PRINCIPALE
|
102 |
-
1.
|
103 |
-
2.
|
104 |
-
3.
|
105 |
|
106 |
# SPÉCIFICATIONS TECHNIQUES DU CODE LATEX
|
107 |
-
1.
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
#
|
123 |
-
1.
|
124 |
-
|
125 |
-
|
126 |
-
- Date du jour automatique
|
127 |
-
|
128 |
-
2. **Structure Visuelle Avancée:**
|
129 |
-
- En-têtes et pieds de page personnalisés avec le titre du document et numéros de page
|
130 |
-
- Table des matières pour les documents longs
|
131 |
-
- Sections et sous-sections avec titres colorés et hiérarchisés
|
132 |
-
- Espacement optimisé entre les paragraphes et les sections
|
133 |
-
|
134 |
-
3. **Boîtes Colorées pour Mettre en Évidence:**
|
135 |
-
- L'énoncé de l'exercice (boîte grise)
|
136 |
-
- Les résultats importants (boîte rouge)
|
137 |
-
- Les notes explicatives et astuces (boîte verte)
|
138 |
-
- Les définitions et théorèmes importants (boîte bleue)
|
139 |
-
|
140 |
-
4. **Typographie Soignée:**
|
141 |
-
- Utilisation de la police Latin Modern
|
142 |
-
- Micro-ajustements typographiques pour une lisibilité optimale
|
143 |
-
- Espacement mathématique équilibré
|
144 |
-
|
145 |
-
5. **Commandes Personnalisées:**
|
146 |
-
- Définir des commandes pour les notations mathématiques récurrentes
|
147 |
-
- Créer des environnements spécifiques pour les différentes parties de la solution
|
148 |
-
|
149 |
-
6. **Représentation Graphique:**
|
150 |
-
- Inclure une représentation graphique des fonctions ou concepts mathématiques quand c'est pertinent
|
151 |
-
- Utiliser TikZ pour créer des figures claires et profesionnelles
|
152 |
-
|
153 |
-
# CONTENU PÉDAGOGIQUE DE LA SOLUTION
|
154 |
-
1. **Structure Logique Claire:**
|
155 |
-
- Introduction rappelant l'énoncé dans une boîte distinctive
|
156 |
-
- Corps de la solution organisé par étapes numérotées ou sections
|
157 |
-
- Conclusion récapitulant les résultats principaux
|
158 |
-
|
159 |
-
2. **Approche Pédagogique:**
|
160 |
-
- Explication détaillée et justification de chaque étape
|
161 |
-
- Mise en évidence des points clés et des techniques importantes
|
162 |
-
- Suggestions d'astuces et de méthodes alternatives quand c'est pertinent
|
163 |
-
|
164 |
-
3. **Rigueur et Clarté:**
|
165 |
-
- Présentation irréprochable des calculs via des environnements adaptés
|
166 |
-
- Alignement soigné des équations mathématiques
|
167 |
-
- Explications textuelles entre les étapes mathématiques
|
168 |
-
|
169 |
-
4. **Mention Obligatoire:** Insère la ligne suivante **exactement** telle quelle, juste avant la ligne `\\end{{document}}`:
|
170 |
-
{LATEX_MENTION}
|
171 |
-
|
172 |
-
# PROCESSUS DE CRÉATION RECOMMANDÉ
|
173 |
-
1. **Conception du Préambule:**
|
174 |
-
- Configurer tous les packages et personnalisations pour une mise en page professionnelle
|
175 |
-
- Définir les environnements personnalisés pour l'énoncé, les résultats, les notes et les définitions
|
176 |
-
|
177 |
-
2. **Élaboration de la Structure:**
|
178 |
-
- Créer une page de titre élégante
|
179 |
-
- Organiser le contenu en sections logiques
|
180 |
-
- Préparer les en-têtes et pieds de page
|
181 |
-
|
182 |
-
3. **Rédaction de la Solution:**
|
183 |
-
- Présenter l'énoncé dans une boîte colorée distinctive
|
184 |
-
- Développer la solution étape par étape avec justifications
|
185 |
-
- Mettre en évidence les résultats importants dans des boîtes colorées
|
186 |
-
- Ajouter des figures ou graphiques si nécessaire
|
187 |
-
|
188 |
-
4. **Finalisation:**
|
189 |
-
- Vérifier la cohérence mathématique et la rigueur de la solution
|
190 |
-
- S'assurer que le code LaTeX est propre, bien indenté et commenté si nécessaire
|
191 |
-
- Confirmer que le document respecte toutes les spécifications demandées
|
192 |
-
|
193 |
-
Produis un document LaTeX qui allie excellence mathématique et présentation visuelle de très haut niveau, digne des meilleures publications académiques.
|
194 |
-
|
195 |
-
|
196 |
"""
|
197 |
|
198 |
response = client.models.generate_content(
|
|
|
90 |
image = Image.open(io.BytesIO(image_bytes))
|
91 |
|
92 |
prompt = f"""
|
93 |
+
# ROLE & OBJECTIF
|
94 |
+
Agis en tant qu'expert en mathématiques et tuteur pédagogue. Ton objectif est de créer une correction détaillée et irréprochable pour l'exercice mathématique présenté dans l'image fournie. La correction doit être sous forme de document LaTeX complet et directement compilable.
|
95 |
|
96 |
# CONTEXTE
|
97 |
- **Input:** Une image contenant un exercice de mathématiques.
|
98 |
- **Niveau Cible:** Élève de Terminale S (Lycée, filière scientifique française).
|
99 |
+
- **Output Attendu:** Un fichier source LaTeX (.tex) autonome.
|
100 |
|
101 |
# TÂCHE PRINCIPALE
|
102 |
+
1. Analyse l'image pour comprendre parfaitement l'énoncé de l'exercice.
|
103 |
+
2. Résous l'exercice de manière rigoureuse, étape par étape.
|
104 |
+
3. Rédige la solution complète directement en code LaTeX, en respectant **toutes** les spécifications ci-dessous.
|
105 |
|
106 |
# SPÉCIFICATIONS TECHNIQUES DU CODE LATEX
|
107 |
+
1. **Structure du Document:** Commence **strictement** par `\\documentclass{{article}}` et se termine **strictement** par `\\end{{document}}`.
|
108 |
+
2. **Packages Requis:** Inclus impérativement les packages suivants via `\\usepackage{{...}}`: `amsmath`, `amssymb`, `geometry`, `hyperref`, `url`. Assure-toi qu'ils sont déclarés dans le préambule.
|
109 |
+
3. **Compilabilité:** Le code généré doit être valide et compilable sans erreur avec `pdflatex`.
|
110 |
+
4. **Formatage du Code:** Produis un code LaTeX propre, bien indenté et lisible.
|
111 |
+
5. **Environnements Mathématiques:** Utilise les environnements LaTeX appropriés (`align`, `equation`, `gather`, etc.) pour présenter les calculs et les équations de manière claire et standard.
|
112 |
+
6. **AUCUN Marqueur de Code:** Le résultat doit être **uniquement** le code LaTeX brut. N'inclus **JAMAIS** de marqueurs de code comme ```latex ... ``` ou ``` ... ``` au début ou à la fin.
|
113 |
+
|
114 |
+
# STYLE & CONTENU DE LA SOLUTION
|
115 |
+
1. **Pédagogie:** La correction doit être claire, aérée et facile à comprendre pour un élève de Terminale S.
|
116 |
+
2. **Justifications:** Justifie **chaque** étape clé du raisonnement mathématique. Explique *pourquoi* une certaine méthode est utilisée ou *comment* on passe d'une étape à l'autre.
|
117 |
+
3. **Rigueur:** Assure l'exactitude mathématique complète de la solution.
|
118 |
+
4. **Structure Logique:** Organise la solution de manière logique. Utilise des sections (`\\section*{{...}}`, `\\subsection*{{...}}`) si cela améliore la clarté pour des problèmes longs ou multi-parties.
|
119 |
+
5. **Mention Obligatoire:** Insère la ligne suivante **exactement** telle quelle, juste avant la ligne `\\end{{document}}`:
|
120 |
+
{LATEX_MENTION}
|
121 |
+
|
122 |
+
# PROCESSUS INTERNE RECOMMANDÉ (Pour l'IA)
|
123 |
+
1. **Analyse Approfondie:** Décompose le problème en sous-étapes logiques.
|
124 |
+
2. **Résolution Étape par Étape:** Effectue la résolution mathématique complète en interne.
|
125 |
+
3. **Traduction en LaTeX:** Convertis ta résolution raisonnée en code LaTeX, en appliquant méticuleusement toutes les spécifications de formatage et de style demandées
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
"""
|
127 |
|
128 |
response = client.models.generate_content(
|