From 7345eaed5c36f5550ca695d449500242b034dcf4 Mon Sep 17 00:00:00 2001 From: admtracksteel Date: Thu, 30 Apr 2026 18:27:06 +0000 Subject: [PATCH] Model update: Nemotron-3 Reasoning primary, Qwen fallback --- ai_agent.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ai_agent.py b/ai_agent.py index 6120db4..23dde94 100644 --- a/ai_agent.py +++ b/ai_agent.py @@ -32,7 +32,7 @@ async def query_agent_async(prompt: str, override_provider=None, chat_history=No tools_desc = "\n".join([f"- {k}: {v.get('description') or v.get('desc')}" for k, v in ALL_TOOLS.items()]) # Identifica o modelo para o prompt do sistema - current_model = cfg.get("model") or "google/gemini-2.0-flash-lite-preview-02-05:free" + current_model = cfg.get("model") or "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free" system_prompt = f"""Você é o Antigravity, um assistente de IA de alto desempenho operando na VPS do Marcos. Seu modelo base atual é o **{current_model}** via OpenRouter. @@ -90,27 +90,27 @@ DIRETRIZES: # Lógica de FALLBACK: Se o Gemini falhar, tenta o Qwen if (res_dict.get("content", "").startswith("Erro OpenRouter") or "error" in res_dict.get("content", "").lower()) and provider == "openrouter": backup_model = "qwen/qwen-2.5-72b-instruct" - print(f"⚠️ [FALLBACK] Falha no Gemini. Tentando {backup_model}...") + print(f"⚠️ [FALLBACK] Falha no Nemotron. Tentando {backup_model}...") res_dict = await call_llm("openrouter", backup_model, system_prompt + current_history) except Exception as e: # Lógica de EMERGÊNCIA: Se houver exceção no Gemini, tenta o Qwen - print(f"⚠️ [EMERGENCY FALLBACK] Exceção no Gemini ({str(e)}). Tentando {backup_model}...") + print(f"⚠️ [EMERGENCY FALLBACK] Exceção no Nemotron ({str(e)}). Tentando {backup_model}...") try: backup_model = "qwen/qwen-2.5-72b-instruct" res_dict = await call_llm("openrouter", backup_model, system_prompt + current_history) except: - return f"RESUMO: ❌ Desculpe, os modelos Gemini e Qwen estão instáveis no OpenRouter no momento. Por favor, tente novamente em instantes." + return f"RESUMO: ❌ Desculpe, os modelos Nemotron e Qwen estão instáveis no OpenRouter no momento. Por favor, tente novamente em instantes." response = res_dict.get("content", "Erro: Resposta vazia.") # Limpeza de segurança: Se a resposta for um erro técnico persistente if response.startswith("Erro OpenRouter"): - return f"RESUMO: ⚠️ Instabilidade no OpenRouter (Gemini/Qwen):\n`{response[:200]}...`\n\nPor favor, tente reenviar sua mensagem." + return f"RESUMO: ⚠️ Instabilidade no OpenRouter (Nemotron/Qwen):\n`{response[:200]}...`\n\nPor favor, tente reenviar sua mensagem." # Limpeza de segurança: Se a resposta for um erro técnico persistente if response.startswith("Erro OpenRouter"): - return f"RESUMO: ⚠️ Instabilidade no OpenRouter (Gemini/Qwen):\n`{response[:200]}...`\n\nPor favor, tente reenviar sua mensagem." + return f"RESUMO: ⚠️ Instabilidade no OpenRouter (Nemotron/Qwen):\n`{response[:200]}...`\n\nPor favor, tente reenviar sua mensagem." usage = res_dict.get("usage", {}) usage = res_dict.get("usage", {})