diff --git a/ai_agent.py b/ai_agent.py index 9829ce4..352e88a 100644 --- a/ai_agent.py +++ b/ai_agent.py @@ -9,7 +9,7 @@ def get_llm_response(prompt: str, provider: str, cfg: dict, temp: float = 0.7, c """Invoca o provedor de LLM configurado.""" if provider == "gemini": api_key = cfg.get("gemini_api_key") or os.getenv("GEMINI_API_KEY") - url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key={api_key}" + url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key={api_key}" payload = {"contents": [{"parts": [{"text": prompt}]}]} res = requests.post(url, json=payload) if res.status_code == 200: @@ -41,21 +41,19 @@ def query_agent(prompt: str, override_provider: str = None, chat_history: list = cfg = get_config() provider = override_provider or cfg.get("active_provider", "gemini") - # Prompt otimizado: Inteligente mas leve + # Prompt agressivo para o Ollama (obriga uso de ferramentas) if provider == "ollama": - system_prompt = "Você é o [Antigravity VPS Agent], o SysAdmin inteligente do Marcos. Responda de forma direta e técnica, mas mantenha a conversa natural. Use ferramentas apenas se necessário. Responda SEMPRE em Português." + system_prompt = "Você é o [BotVPS], o SysAdmin do Marcos. Se ele pedir uma imagem ou arquivo, use OBRIGATORIAMENTE [TOOL:nome] arg [/TOOL] para agir na VPS. Não dê conselhos teóricos, aja agora. Responda em Português." num_context = 2048 else: system_prompt = system_prompt_base.replace("{TOOLS_LIST}", tools_desc) num_context = 4096 - # Preparação de Histórico (Máximo 4 mensagens para equilíbrio) - hist_list = chat_history[-4:] if chat_history else [] - hist_txt = "\n".join([f"U: {m['user']}\nA: {m['bot']}" for m in hist_list]) + # Limpeza de Contexto (Remove echos de 'U:' e 'A:') + hist_list = chat_history[-3:] if chat_history else [] + hist_txt = "\n".join([f"Anteriores:\nU: {m['user']}\nA: {m['bot']}" for m in hist_list]) - # Montagem Final: Evitar que ele se sinta 'novo' em cada mensagem se já tiver histórico - instruction_start = "Olá! Como posso ajudar você hoje?" if not chat_history else "" - execution_context = f"{hist_txt}\n\nPERGUNTA ATUAL DO MARCOS: {prompt}\nSUA RESPOSTA:" + execution_context = f"{hist_txt}\n\nPERGUNTA ATUAL: {prompt}\nRESPOSTA DO AGENTE:" current_reasoning = "" max_loops = 12