diff --git a/.gitignore b/.gitignore index 5eb9648..8dba8ca 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ venv/ aethas_history.json Echange GEMINY.txt .vscode/ -aethas_logs.txt \ No newline at end of file +aethas_logs.txt +Important/ diff --git a/modules/ai_openrouter.py b/modules/ai_openrouter.py new file mode 100644 index 0000000..64be4bb --- /dev/null +++ b/modules/ai_openrouter.py @@ -0,0 +1,36 @@ +import os +from openai import OpenAI +from modules.logger import log_event + +def interroger_openrouter(prompt_securise): + """Module dédié à OpenRouter.ai pour accéder à +100 modèles gratuitement.""" + api_key = os.getenv("OPENROUTER_API_KEY") + if not api_key: raise Exception("Clé API OpenRouter manquante.") + + # Client compatible OpenAI pointant vers l'agrégateur OpenRouter + client = OpenAI(base_url="https://openrouter.ai/api/v1", api_key=api_key) + + # Liste de modèles 100% gratuits et performants sur OpenRouter + modeles = [ + "meta-llama/llama-3.1-8b-instruct:free", + "mistralai/mistral-7b-instruct:free", + "google/gemma-2-9b-it:free", + "microsoft/phi-3-mini-128k-instruct:free" + ] + + for modele in modeles: + try: + resp = client.chat.completions.create( + model=modele, + messages=[ + {"role": "system", "content": "Réponds en français et en format Markdown."}, + {"role": "user", "content": prompt_securise} + ] + ) + if resp and resp.choices: + log_event("INFO", f"OPENROUTER-{modele}", "Succès de la requête.") + return resp.choices[0].message.content, "#8b5cf6", "OPENROUTER (Gratuit)", modele + except Exception as e: + log_event("WARNING", f"OPENROUTER-{modele}", f"Erreur: {e}") + + raise Exception("Tous les modèles gratuits OpenRouter ont échoué.") \ No newline at end of file