from flask import Flask, request, render_template import google.generativeai as genai import os from PIL import Image import io app = Flask(__name__) # Configuration de l'API Gemini token = os.environ.get("TOKEN") genai.configure(api_key=token) generation_config = { "temperature": 1, "top_p": 0.95, "top_k": 64, "max_output_tokens": 8192, } safety_settings = [ {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE"}, {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE"}, {"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_NONE"}, {"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_NONE"}, ] mm = """resous cet exercice. tu répondras en détaillant au maximum ton procédé de calcul. réponse attendue uniquement en Latex """ model = genai.GenerativeModel( model_name="gemini-1.5-pro", generation_config=generation_config, safety_settings=safety_settings, ) @app.route("/", methods=["GET", "POST"]) def index(): e = "" if request.method == "POST": if "image" not in request.files: e = "Aucune image sélectionnée." else: image_file = request.files["image"] try: image = Image.open(io.BytesIO(image_file.read())) response = model.generate_content([mm, image]) # Passage de l'image print(response.text) e = response.text except Exception as e: # gérer les erreurs potentielles d'ouverture de l'image e = f"Erreur lors du traitement de l'image : {str(e)}" return render_template("index.html", e=e) if __name__ == "__main__": app.run(debug=True)