Spaces:
Sleeping
Sleeping
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, | |
) | |
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) |