Gemini: Corrected model to gemini-2.0-flash
This commit is contained in:
16
ai_agent.py
16
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."""
|
"""Invoca o provedor de LLM configurado."""
|
||||||
if provider == "gemini":
|
if provider == "gemini":
|
||||||
api_key = cfg.get("gemini_api_key") or os.getenv("GEMINI_API_KEY")
|
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}]}]}
|
payload = {"contents": [{"parts": [{"text": prompt}]}]}
|
||||||
res = requests.post(url, json=payload)
|
res = requests.post(url, json=payload)
|
||||||
if res.status_code == 200:
|
if res.status_code == 200:
|
||||||
@@ -41,21 +41,19 @@ def query_agent(prompt: str, override_provider: str = None, chat_history: list =
|
|||||||
cfg = get_config()
|
cfg = get_config()
|
||||||
provider = override_provider or cfg.get("active_provider", "gemini")
|
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":
|
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
|
num_context = 2048
|
||||||
else:
|
else:
|
||||||
system_prompt = system_prompt_base.replace("{TOOLS_LIST}", tools_desc)
|
system_prompt = system_prompt_base.replace("{TOOLS_LIST}", tools_desc)
|
||||||
num_context = 4096
|
num_context = 4096
|
||||||
|
|
||||||
# Preparação de Histórico (Máximo 4 mensagens para equilíbrio)
|
# Limpeza de Contexto (Remove echos de 'U:' e 'A:')
|
||||||
hist_list = chat_history[-4:] if chat_history else []
|
hist_list = chat_history[-3:] if chat_history else []
|
||||||
hist_txt = "\n".join([f"U: {m['user']}\nA: {m['bot']}" for m in hist_list])
|
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
|
execution_context = f"{hist_txt}\n\nPERGUNTA ATUAL: {prompt}\nRESPOSTA DO AGENTE:"
|
||||||
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:"
|
|
||||||
current_reasoning = ""
|
current_reasoning = ""
|
||||||
|
|
||||||
max_loops = 12
|
max_loops = 12
|
||||||
|
|||||||
Reference in New Issue
Block a user