Update app.py
Browse files
app.py
CHANGED
@@ -37,8 +37,8 @@ print(f"Dossier d'upload configuré : {os.path.abspath(UPLOAD_FOLDER)}")
|
|
37 |
|
38 |
# --- Configuration de l'API Gemini ---
|
39 |
# Utilisez les noms de modèles les plus récents auxquels vous avez accès
|
40 |
-
MODEL_FLASH = 'gemini-
|
41 |
-
MODEL_PRO = 'gemini-
|
42 |
|
43 |
# Instruction système pour le modèle
|
44 |
SYSTEM_INSTRUCTION = "Tu es un assistant intelligent et amical nommé Mariam. Tu assistes les utilisateurs au mieux de tes capacités, y compris dans l'analyse de texte, d'images et de vidéos (via upload ou lien YouTube). Tu as été créé par Aenir."
|
@@ -51,19 +51,20 @@ SAFETY_SETTINGS = [ {"category": c, "threshold": "BLOCK_NONE"} for c in [
|
|
51 |
GEMINI_CONFIGURED = False
|
52 |
gemini_client = None # Client API pour les opérations sur les fichiers (upload vidéo)
|
53 |
|
|
|
54 |
try:
|
55 |
gemini_api_key = os.getenv("GOOGLE_API_KEY")
|
56 |
if not gemini_api_key:
|
57 |
raise ValueError("Clé API GOOGLE_API_KEY manquante dans le fichier .env")
|
58 |
|
59 |
-
# Initialise le client pour les opérations sur les fichiers
|
60 |
gemini_client = genai.Client(api_key=gemini_api_key)
|
61 |
# Configure également l'espace de noms global pour GenerativeModel, etc.
|
|
|
62 |
|
63 |
-
|
64 |
-
# Vérifie si les modèles requis sont disponibles
|
65 |
print("Vérification des modèles Gemini disponibles...")
|
66 |
-
models_list = [m.name for m in
|
67 |
required_models = [f'models/{MODEL_FLASH}', f'models/{MODEL_PRO}']
|
68 |
if all(model in models_list for model in required_models):
|
69 |
print(f"Configuration Gemini effectuée. Modèles requis trouvés.")
|
@@ -78,6 +79,8 @@ except Exception as e:
|
|
78 |
print(f"ERREUR Critique lors de la configuration initiale de Gemini : {e}")
|
79 |
print("L'application fonctionnera sans les fonctionnalités IA.")
|
80 |
gemini_client = None # S'assure que le client est None si la config échoue
|
|
|
|
|
81 |
|
82 |
# --- Fonctions Utilitaires ---
|
83 |
|
|
|
37 |
|
38 |
# --- Configuration de l'API Gemini ---
|
39 |
# Utilisez les noms de modèles les plus récents auxquels vous avez accès
|
40 |
+
MODEL_FLASH = 'gemini-2.0-flash'
|
41 |
+
MODEL_PRO = 'gemini-2.5-pro-03-25' # Pro est souvent nécessaire/meilleur pour la vidéo
|
42 |
|
43 |
# Instruction système pour le modèle
|
44 |
SYSTEM_INSTRUCTION = "Tu es un assistant intelligent et amical nommé Mariam. Tu assistes les utilisateurs au mieux de tes capacités, y compris dans l'analyse de texte, d'images et de vidéos (via upload ou lien YouTube). Tu as été créé par Aenir."
|
|
|
51 |
GEMINI_CONFIGURED = False
|
52 |
gemini_client = None # Client API pour les opérations sur les fichiers (upload vidéo)
|
53 |
|
54 |
+
|
55 |
try:
|
56 |
gemini_api_key = os.getenv("GOOGLE_API_KEY")
|
57 |
if not gemini_api_key:
|
58 |
raise ValueError("Clé API GOOGLE_API_KEY manquante dans le fichier .env")
|
59 |
|
60 |
+
# Initialise le client pour les opérations sur les fichiers ET pour lister les modèles
|
61 |
gemini_client = genai.Client(api_key=gemini_api_key)
|
62 |
# Configure également l'espace de noms global pour GenerativeModel, etc.
|
63 |
+
# genai.configure(api_key=gemini_api_key) # Cette ligne peut être redondante si le client est utilisé partout
|
64 |
|
65 |
+
# Vérifie si les modèles requis sont disponibles en utilisant le client
|
|
|
66 |
print("Vérification des modèles Gemini disponibles...")
|
67 |
+
models_list = [m.name for m in gemini_client.models.list()] # <-- LIGNE CORRIGÉE
|
68 |
required_models = [f'models/{MODEL_FLASH}', f'models/{MODEL_PRO}']
|
69 |
if all(model in models_list for model in required_models):
|
70 |
print(f"Configuration Gemini effectuée. Modèles requis trouvés.")
|
|
|
79 |
print(f"ERREUR Critique lors de la configuration initiale de Gemini : {e}")
|
80 |
print("L'application fonctionnera sans les fonctionnalités IA.")
|
81 |
gemini_client = None # S'assure que le client est None si la config échoue
|
82 |
+
GEMINI_CONFIGURED = False # S'assurer qu'il est False en cas d'erreur
|
83 |
+
|
84 |
|
85 |
# --- Fonctions Utilitaires ---
|
86 |
|