import os from dotenv import load_dotenv from openai import OpenAI from groq import Groq from google import genai # Chargement des variables d'environnement en premier load_dotenv() local_client = OpenAI(base_url="http://192.168.1.20:11434/v1", api_key="ollama") groq_client = Groq(api_key=os.getenv("GROQ_API_KEY")) gemini_client = genai.Client(api_key=os.getenv("GEMINI_API_KEY")) def interroger_gemini_cascade(prompt): modeles_a_tester = ["gemini-3.1-pro-preview", "gemini-3.1-pro", "gemini-2.5-pro", "gemini-3.7-flash", "gemini-3.6-flash"] for nom_modele in modeles_a_tester: try: config = {"system_instruction": "Réponds toujours dans la langue de l'utilisateur. Utilise exclusivement le format Markdown pour les tableaux et la mise en forme. N'utilise JAMAIS de code LaTeX."} chat = gemini_client.chats.create(model=nom_modele, config=config) ia_response = chat.send_message(prompt) if not ia_response.text: raise Exception("Réponse vide de Google.") return ia_response.text, nom_modele except Exception: continue 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="llama-3.3-70b-versatile" ) return resp.choices[0].message.content, "#f97316", "GROQ", "llama-3.3-70b"