File size: 2,219 Bytes
24ccb55
a10ea6b
04084ef
f012284
5f9325a
7db075d
 
 
 
 
04084ef
 
 
c60bb61
7db075d
04084ef
24ccb55
b30ad3b
 
 
 
 
 
04084ef
c60bb61
04084ef
7db075d
89cf4e1
7db075d
 
 
 
5f9325a
04084ef
 
ed72a3e
04084ef
4c4251c
04084ef
f012284
 
24ccb55
f012284
24ccb55
4c4251c
24ccb55
4c4251c
 
 
24ccb55
 
7db075d
 
 
 
 
 
 
 
 
 
 
 
24ccb55
7db075d
24ccb55
4c4251c
24ccb55
4c4251c
24ccb55
4c4251c
6822891
b30ad3b
a10ea6b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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)