Docfile commited on
Commit
b1c6513
·
verified ·
1 Parent(s): a5f1988

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +59 -2
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-pro-vision')
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."}), 40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+