fix: Migration vers le nouveau SDK Google GenAI et mise à jour des dépendances
Build and Push Docker Image / build-and-push (push) Successful in 2m4s

This commit is contained in:
xavier committed 2026-08-19 02:56:25 +02:00
1 parent 5a4e7dd094
commit a10c854b2b
11 files changed
+2122 -100

No files matched your search

+28 -14
View File
@@ -1,19 +1,33 @@
import os
import google.generativeai as genai
from google import genai
from modules.logger import log_event
def interroger_gemini(prompt_securise):
"""Interroge l'API Google Gemini via le nouveau SDK officiel (google-genai)."""
api_key = os.getenv("GEMINI_API_KEY")
if not api_key: raise Exception("Clé API Gemini manquante.")
client = genai.Client(api_key=api_key)
modeles = ["gemini-3.1-pro-preview", "gemini-3.1-pro", "gemini-2.5-pro", "gemini-3.7-flash"]
for modele in modeles:
try:
config = {"system_instruction": "Réponds en français et en Markdown sans code LaTeX."}
resp = client.chats.create(model=modele, config=config).send_message(prompt_securise)
if resp and resp.text:
log_event("INFO", f"GEMINI-{modele}", "Succès de la requête.")
return resp.text, "#3b82f6", "GOOGLE GEMINI", modele
except Exception as e:
log_event("WARNING", f"GEMINI-{modele}", f"Erreur: {e}")
raise Exception("Tous les modèles Gemini ont échoué.")
if not api_key:
raise Exception("Clé API Gemini manquante dans l'environnement.")
try:
# Initialisation du client avec le nouveau SDK
client = genai.Client(api_key=api_key)
modeles = ["gemini-2.5-pro", "gemini-1.5-pro", "gemini-2.0-flash"]
for modele in modeles:
try:
# Appel avec configuration des instructions système
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