Public Access
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
Build and Push Docker Image / build-and-push (push) Successful in 2m4s
This commit is contained in:
1 parent
5a4e7dd094
commit
a10c854b2b
11 files changed
+2122
-100
No files matched your search
+28
-14
@@ -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
|
||||
Reference in new issue
Block a user