DEV Community

Cover image for Executando Modelos de IA Localmente vs. via API: Qual Escolher?
Lucas
Lucas

Posted on • Originally published at apidog.com

Executando Modelos de IA Localmente vs. via API: Qual Escolher?

EM RESUMO

A IA Local roda no seu próprio hardware, não tem custo por requisição e mantém dados privados. IA via API é mais rápida de começar, geralmente mais capaz, e escala sem se preocupar com infraestrutura. Muitas equipes precisam das duas opções. Este guia foca em quando usar cada abordagem, com números práticos.

Experimente o Apidog hoje

Introdução

Gemma 4 rodando nativamente em um iPhone. Extensões de navegador incorporando modelos de linguagem completos sem chave de API. Isso era impossível há menos de dois anos, mas já está em destaque no HackerNews.

Antes, só havia dois caminhos: modelos poderosos eram exclusivamente via API; o resto era fraco demais para importar. Isso mudou. Modelos locais como Qwen2.5-72B, Gemma 4 e DeepSeek-V3 agora disputam benchmarks reais. Quem usava só a API da OpenAI está reconsiderando, principalmente para apps sensíveis à privacidade ou tarefas de alto volume onde o custo por token pesa.

Este artigo é direto ao ponto, sem marketing: veja números concretos de custo, latência e capacidade para decidir com base em dados reais.

💡 Se você testa integrações de API de IA, seja local ou na nuvem, os Cenários de Teste do Apidog funcionam para ambos. Você pode apontar para um endpoint local do llama-server ou para o /v1/chat/completions da OpenAI e executar as mesmas asserções. Mais adiante, detalho como. Veja também [internal: api-testing-tutorial] para o básico.

O que "rodar IA localmente" realmente significa

"IA Local" não é uma coisa só. Existem três cenários principais:

  • Inferência no dispositivo: O modelo roda inteiramente no dispositivo, sem servidor. Por exemplo, Gemma em um navegador, Gemma 4 no Neural Engine do iPhone, Ollama no MacBook. Não precisa de internet após o download.
  • Servidor auto-hospedado: Você executa o modelo no seu próprio hardware (desktop, VM na nuvem sob seu controle, servidor on-premises) e expõe uma API. Não está rodando no dispositivo do usuário final, mas também não depende de OpenAI. Ferramentas: llama-server, Ollama, vLLM.
  • Nuvem privada: O modelo é implantado na sua infraestrutura de nuvem (AWS Bedrock customizado, endpoint privado Azure, GCP Vertex AI customizado). Mais controle do que uma API pública, menos trabalho do que auto-hospedado total.

A comparação aqui será auto-hospedado vs. API pública, pois é o cenário típico enfrentado por devs.

Comparação de custos

Aqui, a IA local é claramente vencedora para cargas de trabalho altas.

Preços de API Pública (Abril 2026):

Modelo Entrada (por 1M tokens) Saída (por 1M tokens)
GPT-4o $2.50 $10.00
Claude 3.5 Sonnet $3.00 $15.00
Gemini 1.5 Pro $1.25 $5.00
GPT-4o mini $0.15 $0.60
Claude 3 Haiku $0.25 $1.25

Estimativa de custo auto-hospedado (Qwen2.5-72B em uma única A100 80GB):

  • Uma A100 80GB na Lambda Labs custa ~$1.99/hora sob demanda.
  • Qwen2.5-72B INT4 cabe na A100 e serve ~200 tokens/segundo.
  • Isso resulta em 720K tokens/hora, ou ~$0.0028 por 1K tokens totais.
  • Para referência, o GPT-4o cobra $0.01 por 1K tokens de saída.

Ponto de equilíbrio: Se o volume diário de saída for superior a ~70K tokens, auto-hospedado é mais barato. Abaixo disso, API compensa porque você não paga GPU ociosa.

Para modelos menores: Gemma 4 (12B, 4 bits) roda em uma única RTX 4090 (usada: $600-800). Na nuvem, o custo equivalente é ~$0.40/hora. O ponto de equilíbrio contra GPT-4o mini é em torno de 15K tokens/dia.

Comparação de latência

Aqui é mais variável.

  • Tempo para o primeiro token (TTFT):
    • Em A100 dedicada, TTFT para 1K tokens num modelo de 72B: 800ms-1.5s.
    • API OpenAI normalmente retorna o primeiro token em 300-800ms para prompts similares.
    • No dispositivo (iPhone Neural Engine, Apple Silicon): TTFT para Gemma 4 é 200-400ms (sem sobrecarga de rede).
  • Vazão: Uma A100 rodando 72B INT4 atende um usuário bem, mas sofre com concorrência sem batching. APIs públicas escalam a concorrência automaticamente.
  • Streaming: Ambas suportam streaming. Modelos locais não dependem de rede, então são mais estáveis. APIs dependem da rede.
  • Resumo: No dispositivo vence em latência. Auto-hospedado vence em vazão (com batching via vLLM). API pública vence em capacidade de pico e simplicidade.

Comparação de capacidade

Aqui, APIs públicas ainda têm vantagem nos casos mais exigentes.

  • Raciocínio/Tarefas complexas: GPT-4o e Claude 3.5 Sonnet ainda lideram em MMLU, HumanEval, raciocínio multistep. Modelos abertos como Qwen2.5-72B e DeepSeek-V3 melhoraram, mas ainda ficam atrás.
  • Geração de código: Muito próximo. DeepSeek-Coder-V2 e Qwen2.5-Coder-32B batem de frente com GPT-4o em muitos benchmarks. Para tarefas específicas, use modelos de código especializados.
  • Tamanho de contexto: APIs de ponta suportam 128K-1M tokens. Auto-hospedados geralmente ficam em 32K-128K, limitados por memória.
  • Multimodal: GPT-4o e Gemini 1.5 Pro aceitam imagem/áudio/vídeo. Modelos abertos multimodais (LLaVA, Qwen-VL) ainda estão atrás.
  • Chamada de função/uso de ferramentas: OpenAI/Anthropic têm suporte mais confiável. Modelos abertos funcionam, mas são menos estáveis para cadeias complexas. Veja [internal: how-ai-agent-memory-works].

Privacidade e controle de dados

Aqui, IA local vence sem discussão.

  • API pública:

    • Prompts saem da sua rede.
    • Retenção de dados (OpenAI: 30 dias por padrão).
    • Sujeito a termos do provedor sobre conteúdo sensível.
    • Compliance pode ser bloqueador em setores regulados (saúde, finanças, jurídico).
  • Auto-hospedado:

    • Prompts ficam na sua infraestrutura.
    • Sem retenção de terceiros.
    • Controle total do que o modelo processa.
    • GDPR/HIPAA facilitados.

Para apps de saúde, jurídico ou código proprietário, auto-hospedagem pode ser obrigatória.

Como testar integrações de IA independentemente de onde o modelo roda

Seja acessando https://api.openai.com/v1/chat/completions, http://localhost:11434/api/chat (Ollama) ou http://localhost:8080/v1/chat/completions (llama-server), a API é compatível com OpenAI. Isso permite usar os Cenários de Teste do Apidog contra qualquer endpoint HTTP.

Exemplo de Cenário de Teste reutilizável:

{
  "scenario": "Chat completion smoke test",
  "environments": {
    "local": {"base_url": "http://localhost:11434"},
    "production": {"base_url": "https://api.openai.com"}
  },
  "steps": [
    {
      "name": "Basic completion",
      "method": "POST",
      "url": "{{base_url}}/v1/chat/completions",
      "body": {
        "model": "{{model_name}}",
        "messages": [{"role": "user", "content": "Say 'test passed' and nothing else"}],
        "max_tokens": 20
      },
      "assertions": [
        {"field": "status", "operator": "equals", "value": 200},
        {"field": "response.choices[0].message.content", "operator": "contains", "value": "test passed"},
        {"field": "response.usage.total_tokens", "operator": "less_than", "value": 50}
      ]
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Execute o cenário localmente com Ollama durante o desenvolvimento e com a OpenAI na CI. Se houver diferença, normalmente está em:

  • Nome do modelo (qwen2.5:72b vs gpt-4o)
  • Estrutura da resposta de função
  • Formato de streaming (data vs delta vs objeto completo)

O Mock Inteligente do Apidog é útil para simular o modelo local na CI sem GPU. Configure um mock que retorne respostas compatíveis com OpenAI e execute seus testes. Veja [internal: how-to-build-tiny-llm-from-scratch] para entender as diferenças de resposta no nível do modelo.

Configurando um servidor de modelo local em 10 minutos

Quer experimentar auto-hospedado rapidamente? Use Ollama:

# Instalar Ollama
curl -fsSL https://ollama.com/install.sh | sh

# Baixar modelo (Gemma 4 12B, cabe em 10GB VRAM)
ollama pull gemma4:12b

# Iniciar servidor (API OpenAI na porta 11434)
ollama serve

# Testar
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma4:12b",
    "messages": [{"role": "user", "content": "Hello"}]
  }'
Enter fullscreen mode Exit fullscreen mode

Para auto-hospedagem em produção com multiusuário, use vLLM:

pip install vllm
python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen2.5-72B-Instruct-AWQ \
  --quantization awq \
  --max-model-len 32768
Enter fullscreen mode Exit fullscreen mode

Isso expõe API OpenAI na porta 8000. Basta apontar o Apidog para http://seu-servidor:8000 e rodar seus testes.

Quando escolher cada abordagem

Cenário Local API
Processamento em lote de alto volume (>100K/dia) Mais barato Caro
Dados sensíveis à privacidade Exigido Arriscado
Menor latência no dispositivo Melhor Não possível
Capacidade de modelo de ponta Insuficiente Exigido
Cargas de trabalho de pico Complexo Lida automática
Nenhuma GPU disponível Difícil Fácil
Ambiente de dev/teste Ótimo (Ollama) Custa dinheiro
Tarefas multimodais Limitado Suporte total
Conformidade regulatória Mais fácil Requer DPA

Resumo prático: Use API pública em produção (Claude ou GPT-4o para qualidade, Haiku ou 4o-mini para volume/custo), e Ollama local para desenvolvimento/testes. Assim, você tem qualidade de ponta em produção, custo zero no dev, e uma API consistente em todos os ambientes.

Veja [internal: open-source-coding-assistants-2026] para o papel dos assistentes de código open source no cenário de IA local.

Conclusão

A escolha entre IA local e API não é binária. Depende do volume, privacidade, latência e capacidade necessária.

Na prática: inicie com API pública, migre para auto-hospedado quando a conta mensal passar de $200-300, e use Ollama localmente desde o começo. Mantenha o código agnóstico de provedor usando a API OpenAI em todos os lados.

Teste ambos os ambientes de forma consistente com o Apidog para capturar diferenças de comportamento antes que se tornem bugs em produção.

FAQ

Qual a GPU mínima para rodar modelo local útil?

Uma RTX 3060 (12GB VRAM) roda Qwen2.5-7B ou Gemma 4 4B. Uma RTX 4090 (24GB VRAM) lida com 14B-20B INT4 e 34B INT2. Para 72B, precisa de 2x 24GB ou uma A100/H100.

Posso rodar IA local em Apple Silicon?

Sim. Ollama suporta Apple Silicon e roda no Neural Engine. M3 Pro (18GB RAM) roda Qwen2.5-14B. M4 Max (128GB) lida com 70B.

A qualidade dos modelos locais é suficiente para produção?

Depende. Para código, sumarização e extração estruturada: sim, em modelos 32B+. Para raciocínio complexo ou escrita avançada, APIs de ponta ainda são melhores.

Modelos locais suportam chamada de função?

Sim, mas com menos consistência. Llama 3.1, Qwen2.5 e Mistral suportam ferramentas, mas com confiabilidade menor que GPT-4o/Claude 3.5. Sempre teste exaustivamente com Cenários de Teste do Apidog. Veja [internal: claude-code] para detalhes.

Quanto custa auto-hospedar um modelo de 70B na AWS?

p4d.24xlarge (8x A100 40GB): $32.77/hora. Roda 70B INT8 com alta vazão. g5.2xlarge (1x A10G 24GB): $1.21/hora roda 14B INT4. Instâncias reservadas reduzem 30-40%.

Qual a diferença entre Ollama e llama.cpp?

llama.cpp é o core de inferência. Ollama envolve com API REST, gerenciamento de modelos e CLI simples. Use Ollama para dev. Use llama.cpp direto (via llama-server) para controle avançado.

Posso alternar entre modelos locais e API sem mudar código?

Sim, se usar cliente compatível OpenAI. Em Python:

openai.OpenAI(base_url='http://localhost:11434/v1', api_key='ollama') conecta no Ollama. Troque base_url para https://api.openai.com/v1 e mude a chave para usar na nuvem. Use variáveis de ambiente para trocar sem alterar código.

Top comments (0)