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.")
|
raise Exception("Tous les modèles Gemini sont indisponibles actuellement.")
|
||||||
|
|
||||||
def appeler_groq_api(prompt_text):
|
def appeler_groq_api(prompt_text):
|
||||||
resp = groq_client.chat.completions.create(
|
# 🔄 Cascade de secours automatique pour les modèles Groq
|
||||||
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}],
|
modeles_groq_a_tester = ["llama-3.3-70b-versatile", "llama-3.1-8b-instant", "llama3-70b-8192"]
|
||||||
model="mixtral-8x7b-32768" # 🛠️ CORRECTION : Modèle Groq stable avec 32 768 tokens de contexte
|
for nom_modele in modeles_groq_a_tester:
|
||||||
)
|
try:
|
||||||
return resp.choices[0].message.content, "#f97316", "GROQ", "mixtral-8x7b-32768"
|
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()
|
history = load_history()
|
||||||
|
|
||||||
# Extraction des fichiers
|
|
||||||
file_summary = []
|
file_summary = []
|
||||||
file_names = []
|
file_names = []
|
||||||
for f in files[:10]:
|
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)
|
decision = nettoyer_decision_router(router_res.choices[0].message.content)
|
||||||
intention, fournisseur = decision.get('intention', 'Analyse'), decision.get('fournisseur', 'gemini').lower()
|
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:
|
if file_names:
|
||||||
fournisseur = "gemini"
|
fournisseur = "gemini"
|
||||||
intention += " (Forcé Gemini via Sécurité)"
|
intention += " (Forcé Gemini via Sécurité)"
|
||||||
@@ -58,7 +56,6 @@ async def handle_chat_request(request, session):
|
|||||||
if web_text:
|
if web_text:
|
||||||
full_prompt += f"\n\n[Contexte web extrait :\n{web_text}\nUtilise ces informations pour répondre précisément.]"
|
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":
|
if fournisseur == "gemini":
|
||||||
try:
|
try:
|
||||||
reponse, modele = interroger_gemini_cascade(full_prompt)
|
reponse, modele = interroger_gemini_cascade(full_prompt)
|
||||||
@@ -70,7 +67,6 @@ async def handle_chat_request(request, session):
|
|||||||
try:
|
try:
|
||||||
reponse, couleur, fournisseur_nom, modele = appeler_groq_api(full_prompt)
|
reponse, couleur, fournisseur_nom, modele = appeler_groq_api(full_prompt)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
# 🛡️ FALLBACK GROQ -> GEMINI EN CAS DE DÉPASSEMENT DE CONTEXTE OU ERREUR
|
|
||||||
reponse, modele = interroger_gemini_cascade(full_prompt)
|
reponse, modele = interroger_gemini_cascade(full_prompt)
|
||||||
couleur, fournisseur_nom = "#3b82f6", "GOOGLE GEMINI"
|
couleur, fournisseur_nom = "#3b82f6", "GOOGLE GEMINI"
|
||||||
intention += " (Secours suite Erreur Groq)"
|
intention += " (Secours suite Erreur Groq)"
|
||||||
|
|||||||
Reference in new issue
Block a user