Public Access
feat: Intégration de l'API OpenRouter, suppression de Groq et mise à jour du README
This commit is contained in:
1 parent
909e2e995a
commit
317ecddc56
5 files changed
+128
-121
No files matched your search
+8
-10
@@ -33,26 +33,24 @@ async def handle_chat_request(request, session):
|
||||
liste_fichiers_str = ', '.join(file_names) if file_names else 'Aucun fichier'
|
||||
log_event("INFO", "SYSTEM", f"Requête reçue. Fichiers joints : {liste_fichiers_str}")
|
||||
|
||||
# L'IA Local (Qwen) orchestre la décision !
|
||||
# L'IA Local (Qwen) orchestre la décision ! Focus sur l'efficience.
|
||||
sec_prompt = f"""Tu es l'Orchestrateur système. Analyse la requête et choisis le meilleur fournisseur IA :
|
||||
- "gemini" : (OBLIGATOIRE si fichiers joints), rédaction complexe, comparaisons ou images.
|
||||
- "groq" : texte ultra-rapide.
|
||||
- "deepseek" : code, mathématiques, logique complexe.
|
||||
- "mistral" : rédaction française soignée.
|
||||
- "huggingface" : modèles open-source.
|
||||
- "cloudflare" : requêtes générales.
|
||||
- "local" : questions basiques, salutations.
|
||||
Renvoie STRICTEMENT un JSON : {{"intention": "Résumé...", "fournisseur": "gemini|groq|deepseek|mistral|huggingface|cloudflare|local"}}
|
||||
- "gemini" : (OBLIGATOIRE si fichiers joints), rédaction complexe, comparaisons ou recherches web.
|
||||
- "openrouter_chat" : requêtes générales, texte rapide, traduction, bureautique (Modèles gratuits).
|
||||
- "openrouter_code" : programmation, scripts, mathématiques, logique (Modèles gratuits).
|
||||
- "local" : salutations basiques, questions très simples.
|
||||
Renvoie STRICTEMENT un JSON : {{"intention": "Résumé...", "fournisseur": "gemini|openrouter_chat|openrouter_code|local"}}
|
||||
Requête : {prompt}"""
|
||||
|
||||
try:
|
||||
# Qwen 2.5 3B reste le meilleur compromis VRAM/Efficience pour votre GTX 1650
|
||||
texte_routeur, _, _, _ = interroger_local_ollama(sec_prompt, "qwen2.5:3b")
|
||||
decision = nettoyer_decision_router(texte_routeur)
|
||||
except Exception:
|
||||
decision = {"intention": "Analyse de secours", "fournisseur": "gemini"}
|
||||
|
||||
intention = decision.get('intention', 'Analyse')
|
||||
fournisseur = decision.get('fournisseur', 'gemini').lower()
|
||||
fournisseur = decision.get('fournisseur', 'openrouter_chat').lower()
|
||||
|
||||
# Sécurité Absolue Fichiers -> Gemini (Fenêtre de contexte maximale)
|
||||
if file_names:
|
||||
|
||||
Reference in new issue
Block a user