Docfile's picture
Update app.py
19e983b verified
from flask import Flask, render_template, request, jsonify
import google.generativeai as genai
import os
from PIL import Image
import tempfile
app = Flask(__name__)
# Configuration Gemini
token = os.environ.get("TOKEN")
genai.configure(api_key=token)
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.En français stp et sachant qu'il s'agit d'un devoir niveau terminal s je veux donc une présentation type de cela. Réponds donc en me donnant directement le devoir et rien d'autre. write you answer in french with rendering Latex"""
model = genai.GenerativeModel(
model_name="gemini-exp-1206",
safety_settings=safety_settings
)
@app.route('/')
def home():
return render_template('index.html')
@app.route('/generate', methods=['POST'])
def generate():
if 'image' not in request.files:
return jsonify({'error': 'No image uploaded'}), 400
image_file = request.files['image']
# Sauvegarder temporairement l'image
with tempfile.NamedTemporaryFile(delete=False) as temp_file:
image_file.save(temp_file.name)
try:
image = Image.open(temp_file.name)
# Générer le contenu
response = model.generate_content([mm, image])
result = response.text
return jsonify({"result": result})
except Exception as e:
return jsonify({'error': str(e)}), 500
finally:
# Nettoyer le fichier temporaire
os.unlink(temp_file.name)
if __name__ == '__main__':
app.run(debug=True)