Contexto
O nullain-agent já consome visão exclusivamente via VisionProvider do SDK (ModelRouterVisionProvider em vision_attach.py, hint sanitized de 2000 chars). O Groq sobrevive como:
GROQ_API_KEY + groq_vision_model em agent/config.py
agent/vision_groq.py — HTTP próprio legacy (fallback/histórico)
- Config do ModelRouter do SDK apontando para Groq como default
Trocar o provider é configuração, não refactor — decisão registrada no plano consolidado do F0 (antecipação do item 7 do briefing).
Objetivo
- Configurar o
ModelRouterVisionProvider para preferir VLM local via Ollama (o SDK já tem ollama.py)
- Manter a chave Groq no config como opção configurável até benchmark local fechar (CPU puro da Contabo é lento em inferência de imagem — LLaVA/Qwen-VL local só vira default após medir)
- Remover
vision_groq.py (HTTP próprio) após a migração — duplica o que o provider do SDK já faz
Critérios de aceite
Notas
- VMS locais:
llava / qwen2.5vl via Ollama — testar ambos
- Se o benchmark local for insuficiente para o default, inverter a decisão: Ollama como opção, Groq continua default (a troca é reversível por config)
- Fase: F0 consolidação (item 3b)
Contexto
O
nullain-agentjá consome visão exclusivamente viaVisionProviderdo SDK (ModelRouterVisionProvideremvision_attach.py, hint sanitized de 2000 chars). O Groq sobrevive como:GROQ_API_KEY+groq_vision_modelemagent/config.pyagent/vision_groq.py— HTTP próprio legacy (fallback/histórico)Trocar o provider é configuração, não refactor — decisão registrada no plano consolidado do F0 (antecipação do item 7 do briefing).
Objetivo
ModelRouterVisionProviderpara preferir VLM local via Ollama (o SDK já temollama.py)vision_groq.py(HTTP próprio) após a migração — duplica o que o provider do SDK já fazCritérios de aceite
vision_attach.pycontinua verde — nenhuma mudança na UI nem no fluxo de anexosvision_groq.pyremovido com migração docNotas
llava/qwen2.5vlvia Ollama — testar ambos