Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -4,6 +4,11 @@ import os
|
|
4 |
from PIL import Image
|
5 |
import tempfile
|
6 |
import PIL.Image
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
app = Flask(__name__)
|
9 |
|
@@ -23,14 +28,10 @@ safety_settings = [
|
|
23 |
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_NONE"},
|
24 |
]
|
25 |
|
26 |
-
|
27 |
@app.route('/')
|
28 |
def generale():
|
29 |
return render_template("generale.html")
|
30 |
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
def upload_and_process_file(file_path):
|
35 |
"""Upload et traite un fichier avec l'API Gemini avec gestion des erreurs améliorée"""
|
36 |
max_retries = 3
|
@@ -83,8 +84,7 @@ def upload_and_process_file(file_path):
|
|
83 |
time.sleep(retry_delay * (attempt + 1))
|
84 |
else:
|
85 |
raise
|
86 |
-
|
87 |
-
|
88 |
|
89 |
def is_youtube_url(url):
|
90 |
"""Vérifie si l'URL est une URL YouTube"""
|
@@ -141,12 +141,14 @@ def allowed_file(filename):
|
|
141 |
ALLOWED_EXTENSIONS = {'pdf', 'png', 'jpg', 'jpeg', 'gif', 'mp4', 'mov', 'avi'}
|
142 |
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
|
143 |
|
|
|
144 |
@app.route('/submit', methods=['POST'])
|
145 |
def submit_question():
|
146 |
question = request.form.get('question')
|
147 |
urls = request.form.getlist('urls')
|
148 |
files = request.files.getlist('files')
|
149 |
-
|
|
|
150 |
print("URLs reçues:", urls)
|
151 |
content = [question]
|
152 |
temp_files = []
|
@@ -189,7 +191,11 @@ def submit_question():
|
|
189 |
safety_settings=safety_settings,
|
190 |
system_instruction="Tu es un assistant intelligent. ton but est d'assister au mieux que tu peux. tu as été créé par Aenir et tu t'appelles Mariam."
|
191 |
)
|
192 |
-
|
|
|
|
|
|
|
|
|
193 |
return jsonify({"response": response.text})
|
194 |
|
195 |
except Exception as e:
|
@@ -200,6 +206,4 @@ def submit_question():
|
|
200 |
try:
|
201 |
os.unlink(temp_file)
|
202 |
except Exception as e:
|
203 |
-
print(f"Erreur lors de la suppression du fichier temporaire {temp_file}: {e}")
|
204 |
-
|
205 |
-
|
|
|
4 |
from PIL import Image
|
5 |
import tempfile
|
6 |
import PIL.Image
|
7 |
+
import time
|
8 |
+
import ssl
|
9 |
+
from urllib.parse import urlparse
|
10 |
+
import yt_dlp
|
11 |
+
import requests
|
12 |
|
13 |
app = Flask(__name__)
|
14 |
|
|
|
28 |
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_NONE"},
|
29 |
]
|
30 |
|
|
|
31 |
@app.route('/')
|
32 |
def generale():
|
33 |
return render_template("generale.html")
|
34 |
|
|
|
|
|
|
|
35 |
def upload_and_process_file(file_path):
|
36 |
"""Upload et traite un fichier avec l'API Gemini avec gestion des erreurs améliorée"""
|
37 |
max_retries = 3
|
|
|
84 |
time.sleep(retry_delay * (attempt + 1))
|
85 |
else:
|
86 |
raise
|
87 |
+
|
|
|
88 |
|
89 |
def is_youtube_url(url):
|
90 |
"""Vérifie si l'URL est une URL YouTube"""
|
|
|
141 |
ALLOWED_EXTENSIONS = {'pdf', 'png', 'jpg', 'jpeg', 'gif', 'mp4', 'mov', 'avi'}
|
142 |
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
|
143 |
|
144 |
+
|
145 |
@app.route('/submit', methods=['POST'])
|
146 |
def submit_question():
|
147 |
question = request.form.get('question')
|
148 |
urls = request.form.getlist('urls')
|
149 |
files = request.files.getlist('files')
|
150 |
+
web_search = request.form.get('webSearch') == 'true' # Get the boolean value of the web search mode
|
151 |
+
|
152 |
print("URLs reçues:", urls)
|
153 |
content = [question]
|
154 |
temp_files = []
|
|
|
191 |
safety_settings=safety_settings,
|
192 |
system_instruction="Tu es un assistant intelligent. ton but est d'assister au mieux que tu peux. tu as été créé par Aenir et tu t'appelles Mariam."
|
193 |
)
|
194 |
+
if web_search:
|
195 |
+
response = model.generate_content(contents=content, tools='google_search_retrieval', request_options={"timeout": 600})
|
196 |
+
else:
|
197 |
+
response = model.generate_content(content, request_options={"timeout": 600})
|
198 |
+
|
199 |
return jsonify({"response": response.text})
|
200 |
|
201 |
except Exception as e:
|
|
|
206 |
try:
|
207 |
os.unlink(temp_file)
|
208 |
except Exception as e:
|
209 |
+
print(f"Erreur lors de la suppression du fichier temporaire {temp_file}: {e}")
|
|
|
|