Docfile commited on
Commit
91bbba2
·
verified ·
1 Parent(s): 94cd253

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -44
app.py CHANGED
@@ -248,58 +248,30 @@ Focus sur la Problématique : Gardez toujours à l'esprit la question centrale e
248
 
249
  @app.route('/api/etude-texte', methods=['POST'])
250
  def gpt_francais_cc():
251
- """Handles text analysis for French with multiple images (uses default model)."""
252
- logging.info("Received request at /api/etude-texte")
253
  if 'images' not in request.files:
254
- logging.warning("No images were uploaded.")
255
  return jsonify({"output": "Aucune image n'a été téléchargée."}), 400
256
 
257
  images = request.files.getlist('images')
258
- if not images or all(not image.filename for image in images):
259
- logging.warning("No images selected or files are empty.")
260
- return jsonify({"output": "Aucune image sélectionnée ou les fichiers sont vides."}), 400
261
-
262
- pre_prompt = "Analyse de manière exhaustive et structurée le contenu du devoir présenté dans les images suivantes. Identifie les questions, extrais le texte si présent, et réponds aux questions de manière détaillée en te basant uniquement sur les informations fournies dans les images."
263
-
264
- contents = [pre_prompt]
265
- valid_images_found = False
266
- for image in images:
267
- if image and image.filename:
268
- logging.info(f"Processing image: {image.filename}")
269
- try:
270
- img_bytes = image.read()
271
- if not img_bytes:
272
- logging.warning(f"Skipping empty file: {image.filename}")
273
- continue
274
-
275
- img = Image.open(io.BytesIO(img_bytes))
276
- img.verify()
277
- img = Image.open(io.BytesIO(img_bytes))
278
-
279
- contents.append(img)
280
- valid_images_found = True
281
-
282
- except (IOError, SyntaxError) as e:
283
- logging.error(f"Error processing image {image.filename}: {e}. It might be corrupted or not a valid image format.")
284
- except Exception as e:
285
- logging.exception(f"Unexpected error processing image {image.filename}: {e}")
286
-
287
- if not valid_images_found:
288
- logging.warning("No valid images were found among the uploaded files.")
289
- return jsonify({"output": "Aucune image valide n'a été trouvée parmi les fichiers téléchargés."}), 400
290
 
 
 
291
  try:
292
- # Utilisation du modèle par défaut (non-DeepThink) pour l'analyse d'images
293
- logging.info("Generating content with default model for image analysis...")
294
- response = default_model.generate_content(contents)
295
- logging.info("Content generated successfully for image analysis.")
 
 
 
 
 
 
296
  return jsonify({"output": response.text}), 200
297
- except types.generation_types.BlockedPromptException as e:
298
- logging.warning(f"Content generation blocked: {e}")
299
- return jsonify({"output": "La génération de contenu a été bloquée car la requête ou les images contenaient potentiellement du contenu non autorisé."}), 400
300
  except Exception as e:
301
- logging.exception(f"Error during generation (etude-texte): {e}")
302
- return jsonify({"output":"Une erreur interne est survenue lors de l'analyse des images.Veuillez réessayer."}), 500
303
 
304
 
305
  if __name__ == '__main__':
 
248
 
249
  @app.route('/api/etude-texte', methods=['POST'])
250
  def gpt_francais_cc():
 
 
251
  if 'images' not in request.files:
 
252
  return jsonify({"output": "Aucune image n'a été téléchargée."}), 400
253
 
254
  images = request.files.getlist('images')
255
+ if not images:
256
+ return jsonify({"output": "Aucune image sélectionnée."}), 400
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
257
 
258
+ prompt = "réponds aux questions présentes."
259
+
260
  try:
261
+ # Préparer les images pour Gemini
262
+ content = [prompt]
263
+ for image in images:
264
+ if image.filename:
265
+ img_data = image.read()
266
+ img = Image.open(io.BytesIO(img_data))
267
+ content.append(img)
268
+
269
+ # Générer la réponse
270
+ response = default_model.generate_content(content)
271
  return jsonify({"output": response.text}), 200
272
+
 
 
273
  except Exception as e:
274
+ return jsonify({"output": "Erreur lors de l'analyse des images."}), 500
 
275
 
276
 
277
  if __name__ == '__main__':