Docfile commited on
Commit
3dc384c
·
verified ·
1 Parent(s): 6a0ca7e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -11
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
- response = model.generate_content(content, request_options={"timeout": 600})
 
 
 
 
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}")