MÓDULO 4.1

🔗 Provedores de IA

OpenRouter, Ollama, BaseProvider, failover e seleção de modelo por tarefa.

6
Tópicos
60
Minutos
Interm.
Nível
Técnico
Tipo
1

🔮 OpenRouter — Gateway de LLMs

OpenRouter é a solução de provider padrão do INTELECTO. Uma chave API, 100+ modelos, billing unificado e fallback automático. Você muda de modelo mudando uma string.

📌 Modelos Disponíveis no OpenRouter

  • GPT-4o e GPT-4o-mini da OpenAI — para tarefas gerais
  • Claude 3.5 Sonnet da Anthropic — para raciocínio e código
  • Mistral Large e Mistral 7B — custo/benefício excelente
  • Llama 3.1 70B e 8B — open source, sem censura de uso
  • Gemini 1.5 Pro — contexto de 1M tokens

💡 Dica Prática

Sempre configure MODEL_NAME como variável de ambiente. Mudar o modelo não deve requerer restart — o INTELECTO lê do .env em runtime.

2

🏠 Ollama — Zero Custo Local

Ollama executa LLMs diretamente no seu hardware. Zero custo por token, privacidade total e latência de rede zero. A escolha para dados sensíveis e uso intenso.

📌 Modelos Recomendados para Ollama

  • Llama 3.1 8B: rápido, 8GB RAM suficiente, uso geral
  • Mistral 7B: excelente para código, leve para hardware moderno
  • Gemma 2 9B: bom equilíbrio raciocínio vs velocidade
  • Phi-3 Mini: microscópico, funciona em CPU razoavelmente

💡 Dica Prática

Ollama é ideal para desenvolvimento e dados confidenciais. Para produção com muitos usuários, OpenRouter é mais escalável.

3

🧩 BaseProvider — Interface Abstrata

BaseProvider é o contrato que todo provedor de LLM deve implementar. Um único método: async chat(messages) -> str. O Agent nunca sabe qual provider está usando.

📌 Por que Uma Interface Limpa Importa

  • Agent.process() chama self.provider.chat() sem saber o provider
  • Trocar de OpenRouter para Ollama = mudar uma linha de configuração
  • Testar com provider mock = zero custo de API durante desenvolvimento
  • Criar novo provider = 20 linhas implementando BaseProvider

💡 Dica Prática

Use MockProvider durante testes — uma implementação de BaseProvider que retorna respostas predefinidas. Zero custo, execução instantânea.

4

🔄 Failover Multi-Provedor

O ProviderChain implementa failover automático. Se o provider primário falhar, o secundário assume transparentemente. O usuário não percebe o switch.

📌 Configuração de Failover

  • PRIMARY: openrouter/anthropic/claude-3.5-sonnet
  • FALLBACK_1: openrouter/openai/gpt-4o
  • FALLBACK_2: ollama/llama3.1:8b (local)
  • Circuit breaker: desativa provider com >3 falhas em 5min
  • Health check: restaura provider após 5min de recuperação

💡 Dica Prática

Configure o Ollama local como último fallback. É mais lento mas garante que o Jarvis funciona mesmo sem internet.

5

🎯 Seleção de Modelo por Tarefa

Diferentes tarefas têm diferentes requisitos. Roteamento inteligente usa o modelo certo para cada trabalho, reduzindo custo sem perda de qualidade.

📌 Mapeamento de Tarefas

  • Código complexo → Claude 3.5 Sonnet (melhor raciocínio técnico)
  • Perguntas simples → Mistral 7B (custo 10x menor)
  • Análise de texto longo → Gemini 1.5 Pro (contexto 1M tokens)
  • Geração criativa → GPT-4o (melhor versatilidade)
  • Tarefas offlne → Ollama llama3.1:8b (zero custo)

💡 Dica Prática

Implemente o router como uma function de um dicionário: task_type -> model_name. Fácil de atualizar quando novos modelos chegam.

6

📊 Monitoramento de Custos

Sem monitoramento de custos, uma API mal configurada pode gerar faturas inesperadas. O cost_tracker.py monitora cada token consumido.

📌 Métricas Rastreadas

  • Tokens de input + output por request
  • Custo em USD por request (baseado no modelo)
  • Custo acumulado do dia, semana e mês
  • Top-5 tools mais custosas
  • Alert quando custo diário passa de threshold configurável

💡 Dica Prática

Configure threshold de custo diário como COST_LIMIT_USD=5.0. Se ultrapassar, o Jarvis para de aceitar novos requests e envia alerta.

Resumo do Módulo 4.1

OpenRouter — Gateway de LLMs — 1 chave para 100+ modelos com billing unificado e routing automático
Ollama — Zero Custo Local — Inferência local, zero custo, privacidade total — ideal para dados sensíveis
BaseProvider — Interface Abstrata — Um método async chat(), qualquer LLM — plug-and-play perfeito
Failover Multi-Provedor — Provider chain com circuit breaker — zero downtime mesmo com falhas de API
Seleção de Modelo por Tarefa — Custo reduzido em 60-80% com roteamento inteligente por tipo de tarefa
Monitoramento de Custos — Tokens por request, custo por modelo e alertas automáticos por threshold

Próximo:

4.2 Skills e Ferramentas