Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -156,7 +156,7 @@ def submit_geographie():
|
|
156 |
def analyze_images(images, prompt):
|
157 |
"""Analyse les images fournies et génère une réponse textuelle."""
|
158 |
|
159 |
-
model = genai.GenerativeModel('gemini-
|
160 |
response = model.generate_content(
|
161 |
[prompt, *images],
|
162 |
generation_config=generation_config,
|
@@ -255,4 +255,61 @@ def submit_geographie_type2():
|
|
255 |
images = []
|
256 |
for file in files:
|
257 |
if file.filename == '':
|
258 |
-
return jsonify({"error": "Un ou plusieurs fichiers n'ont pas de nom."}),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
def analyze_images(images, prompt):
|
157 |
"""Analyse les images fournies et génère une réponse textuelle."""
|
158 |
|
159 |
+
model = genai.GenerativeModel('gemini-exp-1206')
|
160 |
response = model.generate_content(
|
161 |
[prompt, *images],
|
162 |
generation_config=generation_config,
|
|
|
255 |
images = []
|
256 |
for file in files:
|
257 |
if file.filename == '':
|
258 |
+
return jsonify({"error": "Un ou plusieurs fichiers n'ont pas de nom."}), 400
|
259 |
+
|
260 |
+
try:
|
261 |
+
img = PIL.Image.open(file)
|
262 |
+
images.append(img)
|
263 |
+
except Exception as e:
|
264 |
+
return jsonify({"error": f"Impossible de lire l'image : {file.filename}. Erreur : {str(e)}"}), 400
|
265 |
+
|
266 |
+
try:
|
267 |
+
# Prompt pour l'analyse d'images en histoire
|
268 |
+
prompt = f"""
|
269 |
+
|
270 |
+
je souhaite faire mon travail de géographie sous forme de dissertation. le thème est {sujet}.
|
271 |
+
|
272 |
+
Voici la méthodologie que tu devras scrupuleusement respecté pour la dissertation et assure toi d'intégrer les connecteur logique pour débuter les arguments Je veux un travail bien détaillé. commence directement ta réponse par l'introduction :
|
273 |
+
|
274 |
+
Introduction:
|
275 |
+
|
276 |
+
1er Paragraphe: Définition du thème (ou définition des mots-clés). Il faut commencer par clairement définir le sujet de l'étude. Si nécessaire, il faut définir les mots-clés importants et les concepts liés au thème étudié.
|
277 |
+
|
278 |
+
2ème Paragraphe: Présentation des documents (Natures uniquement). Il faut présenter la nature des documents : cartes, graphiques, photos, etc. Contrairement à l'histoire, l'accent est mis ici uniquement sur la nature des documents, sans mention des auteurs.
|
279 |
+
|
280 |
+
3ème Paragraphe: Résumé des idées majeures. Il faut synthétiser les principales idées, les tendances ou les problématiques qui se dégagent des documents et de la définition du thème.
|
281 |
+
|
282 |
+
Note: Il est recommandé de sauter 2 ou 3 lignes entre l'introduction et le développement.
|
283 |
+
|
284 |
+
Développement:
|
285 |
+
|
286 |
+
Le développement en géographie suit une structure identique à celle de l'histoire, basée sur des consignes :
|
287 |
+
|
288 |
+
Pour chaque consigne (n°1, n°2, n°3):
|
289 |
+
|
290 |
+
1er Paragraphe: Constat. Présentez ce qui est observable dans les documents, un fait géographique, une tendance, une répartition spatiale, etc.
|
291 |
+
|
292 |
+
2ème Paragraphe: Explication. Analysez les raisons de ce constat. Quels facteurs géographiques (naturels, humains, économiques, politiques...) expliquent ce qui a été observé ?
|
293 |
+
|
294 |
+
3ème Paragraphe: Critique. Analysez les limites des documents ou de l'approche, la pertinence des facteurs explicatifs, les éventuelles alternatives ou nuances.
|
295 |
+
|
296 |
+
4ème Paragraphe: Phrase de transition. Une courte phrase pour passer en douceur à la consigne suivante.
|
297 |
+
|
298 |
+
Note: Il est recommandé de sauter 1 ligne entre chaque consigne du développement.
|
299 |
+
|
300 |
+
|
301 |
+
Conclusion
|
302 |
+
bilan
|
303 |
+
phrase d'ouverture
|
304 |
+
|
305 |
+
|
306 |
+
|
307 |
+
"""
|
308 |
+
|
309 |
+
# Analyse des images et génération de la réponse
|
310 |
+
response_text = analyze_images(images, prompt)
|
311 |
+
return jsonify({"output": response_text}), 200
|
312 |
+
|
313 |
+
except Exception as e:
|
314 |
+
return jsonify({"error": str(e)}), 500
|
315 |
+
|