Public Access
35 lines
1.4 KiB
Python
35 lines
1.4 KiB
Python
import os
|
|
from google import genai
|
|
from modules.logger import log_event
|
|
|
|
def interroger_gemini(prompt_securise):
|
|
"""Interroge l'API Google Gemini via le SDK officiel (google-genai) sur les modèles actifs."""
|
|
api_key = os.getenv("GEMINI_API_KEY")
|
|
if not api_key:
|
|
raise Exception("Clé API Gemini manquante dans l'environnement.")
|
|
|
|
try:
|
|
client = genai.Client(api_key=api_key)
|
|
# Liste actualisée avec UNIQUEMENT les modèles opérationnels de la nouvelle génération
|
|
modeles = [
|
|
"gemini-3.6-flash",
|
|
"gemini-3.7-flash"
|
|
]
|
|
|
|
for modele in modeles:
|
|
try:
|
|
response = client.models.generate_content(
|
|
model=modele,
|
|
contents=prompt_securise,
|
|
)
|
|
if response and response.text:
|
|
log_event("INFO", f"GEMINI-{modele}", "Succès de la requête Gemini.")
|
|
return response.text, "#4285F4", "Google Gemini", modele
|
|
except Exception as sub_e:
|
|
log_event("WARNING", f"GEMINI-{modele}", f"Essai échoué pour {modele} : {sub_e}")
|
|
continue
|
|
|
|
raise Exception("Tous les modèles Gemini configurés ont échoué.")
|
|
except Exception as e:
|
|
log_event("ERROR", "GEMINI", f"Erreur critique Gemini : {e}")
|
|
raise e |