Docfile's picture
Update app.py
c60bb61 verified
raw
history blame
2.22 kB
from flask import Flask, render_template, request, jsonify
import os
from PIL import Image
import tempfile
from google import genai
from google.genai import types
app = Flask(__name__)
# Configuration Gemini
token = os.environ.get("TOKEN")
client = genai.Client(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. """
model_name = "gemini-2.0-flash-thinking-exp"
#model = genai.GenerativeModel(
# model_name="gemini-2.0-flash-thinking-exp",
# 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])
response = client.models.generate_content(
model=model_name,
contents=[
image,
mm
]
)
#result = response.text
result = response.candidates[0].content.parts[1].text
print(result)
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)