Public Access
maj auto 3
This commit is contained in:
1 parent
98bd4d7fbf
commit
e6cd509ffd
2 files changed
+13
-9
No files matched your search
+13
-5
@@ -25,8 +25,16 @@ def interroger_gemini_cascade(prompt):
|
||||
raise Exception("Tous les modèles Gemini sont indisponibles actuellement.")
|
||||
|
||||
def appeler_groq_api(prompt_text):
|
||||
resp = groq_client.chat.completions.create(
|
||||
messages=[{"role": "system", "content": "Réponds dans la langue de l'utilisateur. Tu as accès aux recherches web fournies. Utilise uniquement Markdown. Pas de code LaTeX."}, {"role": "user", "content": prompt_text}],
|
||||
model="mixtral-8x7b-32768" # 🛠️ CORRECTION : Modèle Groq stable avec 32 768 tokens de contexte
|
||||
)
|
||||
return resp.choices[0].message.content, "#f97316", "GROQ", "mixtral-8x7b-32768"
|
||||
# 🔄 Cascade de secours automatique pour les modèles Groq
|
||||
modeles_groq_a_tester = ["llama-3.3-70b-versatile", "llama-3.1-8b-instant", "llama3-70b-8192"]
|
||||
for nom_modele in modeles_groq_a_tester:
|
||||
try:
|
||||
resp = groq_client.chat.completions.create(
|
||||
messages=[{"role": "system", "content": "Réponds dans la langue de l'utilisateur. Tu as accès aux recherches web fournies. Utilise uniquement Markdown. Pas de code LaTeX."}, {"role": "user", "content": prompt_text}],
|
||||
model=nom_modele
|
||||
)
|
||||
if resp and resp.choices:
|
||||
return resp.choices[0].message.content, "#f97316", "GROQ", nom_modele
|
||||
except Exception:
|
||||
continue
|
||||
raise Exception("Tous les modèles Groq sont décommissionnés ou indisponibles.")
|
||||
@@ -19,7 +19,6 @@ async def handle_chat_request(request, session):
|
||||
|
||||
history = load_history()
|
||||
|
||||
# Extraction des fichiers
|
||||
file_summary = []
|
||||
file_names = []
|
||||
for f in files[:10]:
|
||||
@@ -42,7 +41,6 @@ async def handle_chat_request(request, session):
|
||||
decision = nettoyer_decision_router(router_res.choices[0].message.content)
|
||||
intention, fournisseur = decision.get('intention', 'Analyse'), decision.get('fournisseur', 'gemini').lower()
|
||||
|
||||
# 🛡️ PROTECTION HARDCODÉE : Si des fichiers sont présents, forcer Gemini
|
||||
if file_names:
|
||||
fournisseur = "gemini"
|
||||
intention += " (Forcé Gemini via Sécurité)"
|
||||
@@ -58,7 +56,6 @@ async def handle_chat_request(request, session):
|
||||
if web_text:
|
||||
full_prompt += f"\n\n[Contexte web extrait :\n{web_text}\nUtilise ces informations pour répondre précisément.]"
|
||||
|
||||
# Routage avec Fallback robuste
|
||||
if fournisseur == "gemini":
|
||||
try:
|
||||
reponse, modele = interroger_gemini_cascade(full_prompt)
|
||||
@@ -70,7 +67,6 @@ async def handle_chat_request(request, session):
|
||||
try:
|
||||
reponse, couleur, fournisseur_nom, modele = appeler_groq_api(full_prompt)
|
||||
except Exception as e:
|
||||
# 🛡️ FALLBACK GROQ -> GEMINI EN CAS DE DÉPASSEMENT DE CONTEXTE OU ERREUR
|
||||
reponse, modele = interroger_gemini_cascade(full_prompt)
|
||||
couleur, fournisseur_nom = "#3b82f6", "GOOGLE GEMINI"
|
||||
intention += " (Secours suite Erreur Groq)"
|
||||
|
||||
Reference in new issue
Block a user