Docfile commited on
Commit
cae667c
·
verified ·
1 Parent(s): dbb726c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -9
app.py CHANGED
@@ -144,10 +144,10 @@ def upload_file_to_genai_api(file_data, filename, mime_type):
144
  return None
145
 
146
  def call_gemini_with_fallback(contents, task_id):
147
- """Appelle Gemini 2.5 Pro en premier, puis 2.5 Flash en cas d'échec."""
148
  models_to_try = [
149
- {"name": "gemini-3-flash-preview", "display_name": " 2.5 Pro"},
150
- {"name": "gemini-3-flash-preview", "display_name": " 2.5 Flash"}
151
  ]
152
 
153
  last_error = None
@@ -160,12 +160,12 @@ def call_gemini_with_fallback(contents, task_id):
160
  logger.info(f"[Task {task_id}] Tentative {i+1}/2: Appel de {model_display}...")
161
 
162
  # Mettre à jour le statut pour indiquer quel modèle est en cours d'utilisation
163
- if model_name == "gemini-3-flash-preview":
164
  task_results[task_id]['status'] = 'generating_latex_pro'
165
- task_results[task_id]['current_model'] = 'Gemini 2.5 Pro'
166
  else:
167
  task_results[task_id]['status'] = 'generating_latex_flash'
168
- task_results[task_id]['current_model'] = 'Gemini 2.5 Flash (fallback)'
169
 
170
  # Faire l'appel à l'API
171
  gemini_response = client.models.generate_content(
@@ -250,8 +250,8 @@ def get_system_stats():
250
  pending_tasks = sum(1 for task in task_results.values() if task['status'] not in ['completed', 'error'])
251
 
252
  # Statistiques d'utilisation des modèles
253
- pro_usage = sum(1 for task in task_results.values() if task.get('used_model') == 'Gemini 2.5 Pro')
254
- flash_usage = sum(1 for task in task_results.values() if task.get('used_model') == 'Gemini 2.5 Flash (fallback)')
255
 
256
  # Compter les fichiers PDF générés
257
  pdf_files = 0
@@ -402,7 +402,7 @@ def process_files_background(task_id, files_data, resolution_style):
402
  raise ValueError(f"Le fichier de prompt pour le style '{resolution_style}' est introuvable ou vide.")
403
  contents.append(prompt_to_use)
404
 
405
- # Appeler Gemini avec fallback Pro -> Flash
406
  logger.info(f"[Task {task_id}] Début des appels aux modèles Gemini avec {len(uploaded_file_refs)} fichier(s).")
407
  full_latex_response = call_gemini_with_fallback(contents, task_id)
408
 
 
144
  return None
145
 
146
  def call_gemini_with_fallback(contents, task_id):
147
+ """Appelle Gemini 3.5 Flash en premier, puis en fallback si échec."""
148
  models_to_try = [
149
+ {"name": "gemini-3.5-flash", "display_name": " 3.5 Flash"},
150
+ {"name": "gemini-3.5-flash", "display_name": " 3.5 Flash (fallback)"}
151
  ]
152
 
153
  last_error = None
 
160
  logger.info(f"[Task {task_id}] Tentative {i+1}/2: Appel de {model_display}...")
161
 
162
  # Mettre à jour le statut pour indiquer quel modèle est en cours d'utilisation
163
+ if i == 0:
164
  task_results[task_id]['status'] = 'generating_latex_pro'
165
+ task_results[task_id]['current_model'] = 'Gemini 3.5 Flash'
166
  else:
167
  task_results[task_id]['status'] = 'generating_latex_flash'
168
+ task_results[task_id]['current_model'] = 'Gemini 3.5 Flash (fallback)'
169
 
170
  # Faire l'appel à l'API
171
  gemini_response = client.models.generate_content(
 
250
  pending_tasks = sum(1 for task in task_results.values() if task['status'] not in ['completed', 'error'])
251
 
252
  # Statistiques d'utilisation des modèles
253
+ pro_usage = sum(1 for task in task_results.values() if task.get('used_model') == 'Gemini 3.5 Flash')
254
+ flash_usage = sum(1 for task in task_results.values() if task.get('used_model') == 'Gemini 3.5 Flash (fallback)')
255
 
256
  # Compter les fichiers PDF générés
257
  pdf_files = 0
 
402
  raise ValueError(f"Le fichier de prompt pour le style '{resolution_style}' est introuvable ou vide.")
403
  contents.append(prompt_to_use)
404
 
405
+ # Appeler Gemini avec fallback
406
  logger.info(f"[Task {task_id}] Début des appels aux modèles Gemini avec {len(uploaded_file_refs)} fichier(s).")
407
  full_latex_response = call_gemini_with_fallback(contents, task_id)
408