Alternar tema

Ollama + Open WebUI: como criar uma interface local estilo ChatGPT (guia completo)

Easton editorial illustration: one local-model cube flowing into a large browser chat card

O Ollama tornou surpreendentemente simples executar modelos de linguagem localmente: um único comando resolve a instalação, e até um notebook antigo com 8 GB de RAM consegue rodar um modelo 7B. Já o Open WebUI oferece uma interface no estilo ChatGPT, implantação via Docker em um único comando, base de conhecimento integrada, gerenciamento de vários usuários e API compatível com OpenAI.

Neste artigo, você aprenderá a usar essas duas ferramentas para montar um sistema completo de conversa com IA no seu próprio computador.


Por que escolher uma implantação local?

ChatGPT e Claude são muito úteis, mas alguns aspectos me incomodam.

O custo. São US$ 20 por mês, ou US$ 240 ao longo de um ano. Para quem usa intensamente, talvez faça sentido, mas eu só faço algumas perguntas sobre código ou pesquiso alguma informação de vez em quando, então o gasto parece excessivo. Com um modelo local, depois do download o uso é gratuito, sem cobrança por token nem renovação de assinatura.

A privacidade. Tudo o que você digita é enviado aos servidores da OpenAI ou da Anthropic. Documentos de trabalho, anotações pessoais, conversas privadas — sinceramente, isso não me deixa tranquilo. Com a implantação local, todos os dados ficam no meu próprio disco e não são enviados a nenhum lugar.

O uso offline. Em viagens ou quando a conexão está ruim, uma IA na nuvem deixa de funcionar. Depois de baixar o modelo local, ele roda totalmente offline e continua disponível mesmo sem internet.

A personalização. Nos serviços em nuvem, os parâmetros ficam bloqueados. Temperature, templates de prompt — você não consegue ajustar nada disso. Localmente, pode configurar tudo como quiser.


Visão rápida dos conceitos principais

Antes de continuar, vale entender o papel de cada ferramenta para não se perder nas próximas etapas.

Ollama é um executor de modelos. Ele ajuda a baixar, gerenciar e rodar grandes modelos de linguagem, além de oferecer uma API na porta 11434 por padrão. Você pode pensar nele como uma “API da OpenAI local”.

Open WebUI é uma interface Web. Ela inclui janela de conversa no estilo ChatGPT, troca de modelos e gerenciamento do histórico. A interface se conecta ao Ollama pela API e transforma operações de linha de comando em uma experiência gráfica no navegador.

A arquitetura é esta:

Navegador (localhost:3000)

Open WebUI (contêiner Docker)
    ↓ API HTTP
Ollama (serviço local, porta 11434)

Modelo local (armazenado em ~/.ollama)

Você abre o navegador → o Open WebUI chama a API do Ollama → o Ollama carrega o modelo e faz a inferência → o resultado volta para você. É simples assim.


Requisitos do sistema e preparação

Antes da implantação, veja se o seu hardware dá conta.

Requisitos mínimos:

  • Processador: Intel i5 ou equivalente
  • Memória: 8 GB de RAM (16 GB ou mais oferece mais estabilidade)
  • Armazenamento: pelo menos 10 GB livres (os arquivos de modelo são grandes)
  • Sistema: Windows 10+, macOS 11+ ou Linux

Configuração recomendada:

  • GPU: NVIDIA RTX 3060 ou superior (a inferência fica muito mais rápida)
  • Mac com Apple Silicon: família M1/M2/M3; a arquitetura de memória unificada é naturalmente adequada para rodar modelos

Dependência de software:

  • Docker: usado para executar o Open WebUI (é possível não usá-lo, mas com Docker o processo é mais simples)

Verifique se o Docker está instalado:

docker --version
docker compose version

Se os comandos mostrarem os números das versões, ele já está instalado. Caso contrário, instale primeiro o Docker Desktop no Windows/macOS ou o Docker Engine no Linux.


Etapa 1: instalar o Ollama

A instalação do Ollama é resolvida com um único comando.

1.1 Instalação no macOS e Linux

Abra o terminal e execute:

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

O script baixa o Ollama automaticamente e o instala no sistema. Ao terminar, o serviço em segundo plano é iniciado de forma automática.

1.2 Instalação no Windows

Execute este comando no PowerShell:

irm https://ollama.com/install.ps1 | iex

Outra opção é acessar ollama.com/download, baixar o instalador para Windows e executá-lo com um clique duplo. Os dois métodos funcionam.

1.3 Instalação via Docker (opcional)

Quer colocar o Ollama em um contêiner também? Use Docker:

docker pull ollama/ollama:latest
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

-v ollama:/root/.ollama armazena os modelos em um volume do Docker, evitando que eles sejam perdidos quando o contêiner reiniciar.

1.4 Verificar a instalação

Depois da instalação, confirme que o Ollama está funcionando:

ollama --version

O comando deve mostrar um número de versão parecido com ollama version is 0.1.x.

Se o serviço não iniciar automaticamente, execute-o manualmente:

ollama serve

Isso inicia em segundo plano o serviço da API do Ollama, que escuta em http://localhost:11434.


Etapa 2: baixar e executar um modelo

Com o Ollama instalado, o próximo passo é baixar um modelo.

2.1 Como escolher o modelo

Modelos de tamanhos diferentes exigem configurações de hardware diferentes. A tabela abaixo ajuda a escolher rapidamente:

Configuração de hardwareModelo recomendadoParâmetrosEspaço em discoComando
8 GB de RAM, sem GPULlama 3.2 1B1B740 MBollama run llama3.2:1b
8 GB de RAM, sem GPUGemma 3 2B2B1,4 GBollama run gemma3:2b
16 GB de RAMLlama 3.2 3B3B2 GBollama run llama3.2
16 GB de RAMQwen 2.5 7B7B4 GBollama run qwen2.5:7b
16 GB de RAM + GPULlama 3.1 8B8B4,7 GBollama run llama3.1:8b
32 GB de RAM + GPUDeepSeek R1 14B14B8 GBollama run deepseek-r1:14b
64 GB de RAM + GPULlama 3.3 70B70B39 GBollama run llama3.3:70b

Escolha de acordo com o uso:

  • Conversas cotidianas e tarefas simples: Llama 3.2 1B ou 3B
  • Melhor desempenho em chinês: família Qwen 2.5 (desenvolvida pela Alibaba e otimizada para chinês)
  • Programação: família DeepSeek R1 (forte capacidade de raciocínio, adequada para geração de código)
  • Alto desempenho geral: Llama 3.1 8B ou Mistral 7B

2.2 Baixar o modelo

Use o comando ollama pull:

# Baixar o Llama 3.2 (versão 3B padrão)
ollama pull llama3.2

# Baixar o DeepSeek R1 7B
ollama pull deepseek-r1:7b

# Baixar o Qwen 2.5 7B (bom desempenho em chinês)
ollama pull qwen2.5:7b

O primeiro download pode levar alguns minutos, dependendo do tamanho do modelo e da velocidade da conexão. No meu caso, o Llama 3.2 levou cerca de dois minutos, enquanto o DeepSeek R1 7B demorou um pouco mais.

2.3 Conversar com o modelo

Depois do download, execute o modelo diretamente:

ollama run llama3.2

Você entrará em uma interface de conversa:

>>> Send a message (/? for help)

Digite uma pergunta e o modelo responderá em tempo real:

>>> Olá, apresente-se

Olá! Sou um assistente de IA local baseado no modelo Llama 3.2...

Para sair, use Ctrl + d ou digite /bye.

2.4 Comandos comuns de gerenciamento

Veja os modelos já baixados:

ollama list

Exclua um modelo:

ollama rm llama3.2:1b

Copie um modelo e dê a ele um alias:

ollama cp llama3.2 my-llama

Veja os detalhes de um modelo:

ollama show llama3.2

Etapa 3: instalar o Open WebUI

A linha de comando já resolve o básico. Mas, se você quiser uma interface gráfica no estilo ChatGPT, instale o Open WebUI.

3.1 Implantação em um único contêiner Docker (bem rápida)

Primeiro, confirme que o serviço Ollama está em execução com ollama serve. Depois, execute:

docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart unless-stopped \
  ghcr.io/open-webui/open-webui:main

Veja o que cada parâmetro faz:

  • -p 3000:8080: mapeia a porta 8080 do contêiner para a porta 3000 da máquina local
  • --add-host=host.docker.internal:host-gateway: permite que o contêiner acesse o serviço Ollama na máquina host
  • -v open-webui:/app/backend/data: mantém os dados persistentes, incluindo histórico de conversas e contas de usuário
  • --restart unless-stopped: reinicia o contêiner automaticamente quando o Docker é reiniciado

Depois da implantação, abra no navegador:

http://localhost:3000

3.2 Implantação com Docker Compose (recomendada)

Quer gerenciar Ollama e Open WebUI com Docker? O Docker Compose é mais prático.

Primeiro, crie um diretório:

mkdir open-webui-project
cd open-webui-project

Crie um arquivo compose.yaml:

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "3000:8080"
    volumes:
      - ./data:/app/backend/data
    environment:
      - "OLLAMA_BASE_URL=http://ollama:11434"
    restart: unless-stopped
    depends_on:
      - ollama

  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    volumes:
      - ./ollama:/root/.ollama
    ports:
      - "11434:11434"
    restart: unless-stopped

Inicie os serviços:

docker compose up -d

Veja o status:

docker compose ps

Se os dois contêineres aparecerem como running, tudo deu certo.

3.3 Primeiro acesso e configuração

Abra http://localhost:3000 no navegador. No primeiro acesso, você verá a página de criação da conta.

Crie a conta de administrador:

  • Digite nome de usuário, e-mail e senha
  • Clique em “Sign Up”

Depois do login, o Open WebUI detectará automaticamente o serviço Ollama e listará os modelos disponíveis. Se você já tiver baixado modelos, o menu suspenso mostrará algo parecido com:

llama3.2:latest
deepseek-r1:7b
qwen2.5:7b

Não houve detecção automática? Acesse Settings → Connections e informe manualmente o endereço da API do Ollama:

http://host.docker.internal:11434

Se estiver usando Docker Compose, informe:

http://ollama:11434

Etapa 4: uso básico

Com a interface pronta, veja como usá-la.

4.1 Conversas no estilo ChatGPT

A interface é muito parecida com o ChatGPT:

  • À esquerda fica a lista de conversas, onde é possível criar, excluir e renomear itens
  • Na parte superior fica o menu suspenso para escolher o modelo
  • Na parte inferior fica a caixa de texto; digite e pressione Enter para enviar

Escolha um modelo, como llama3.2, e faça uma pergunta. A resposta aparecerá em tempo real, com streaming, assim como no ChatGPT. A experiência é bem agradável.

4.2 Troca de modelo

É possível trocar de modelo dentro da mesma conversa. Clique no menu de modelos na parte superior, escolha outro modelo e continue conversando.

Esse recurso é útil para comparar as respostas. Por exemplo:

  • Faça a mesma pergunta primeiro ao Llama 3.2
  • Troque para o DeepSeek R1 e veja se a resposta é mais aprofundada

4.3 Gerenciamento de conversas

  • Criar conversa: clique em “New Chat” à esquerda
  • Renomear conversa: clique no título da conversa e edite diretamente
  • Excluir conversa: clique com o botão direito na conversa e escolha a opção de exclusão
  • Pesquisar o histórico: use a caixa de pesquisa no canto superior esquerdo

Todas as conversas são armazenadas localmente no volume do Docker e não são enviadas para a nuvem.

4.4 Ajuste de parâmetros

Clique no ícone de configurações ao lado da caixa de texto para ajustar os parâmetros do modelo:

  • Temperature: controla a aleatoriedade da saída. Valores baixos (0,1–0,3) são mais consistentes; valores altos (0,7–0,9), mais criativos
  • Top P: controla o intervalo de escolha das palavras
  • Comprimento máximo da saída: limita o tamanho da resposta

Esses parâmetros influenciam bastante o resultado. Use Temperature baixa para programação e alta para textos criativos.


Etapa 5: recursos avançados

Além das conversas básicas, o Open WebUI oferece alguns recursos avançados bastante úteis.

5.1 Criar uma base de conhecimento RAG

RAG (Retrieval-Augmented Generation, ou geração aumentada por recuperação) transforma seus documentos em uma base de conhecimento pesquisável pela IA.

Como usar:

  1. Clique na aba “Documents” à esquerda
  2. Clique em “Upload” e escolha um arquivo; há suporte a PDF, Markdown, TXT e DOCX
  3. Depois do envio, o sistema processa o arquivo e cria o índice automaticamente

Depois do envio, marque “Use Documents” durante a conversa para que a IA recupere informações relevantes nos seus documentos.

Exemplos de uso:

  • Envie a documentação da API da empresa e pergunte quais são os parâmetros de determinado endpoint
  • Envie suas anotações pessoais e pergunte qual foi a conclusão da última reunião
  • Envie um PDF técnico e peça uma explicação detalhada de determinado conceito

Essa é uma “conversa com base de conhecimento” local: todos os documentos permanecem no seu próprio disco.

5.2 Gerenciamento de vários usuários

Várias pessoas vão compartilhar o sistema? É possível criar contas diferentes.

Em Settings → Users, o administrador pode:

  • Criar novos usuários
  • Definir permissões, como usuário comum ou administrador
  • Ver a lista de usuários

O histórico de conversas de cada usuário é armazenado separadamente, sem interferência entre as contas.

5.3 Integração via API

Tanto o Open WebUI quanto o Ollama oferecem APIs compatíveis com OpenAI, que podem ser integradas diretamente a ferramentas existentes.

Chamada à API do Ollama:

curl http://localhost:11434/api/chat -d '{
  "model": "llama3.2",
  "messages": [
    {"role": "user", "content": "Hello"}
  ],
  "stream": false
}'

Chamada à API do Open WebUI (se houver autenticação, obtenha um token primeiro):

curl http://localhost:3000/api/chat/completions \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "model": "llama3.2",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Exemplo em Python:

import requests

response = requests.post('http://localhost:11434/api/chat', json={
    'model': 'llama3.2',
    'messages': [{'role': 'user', 'content': 'Hello'}],
    'stream': False
})

print(response.json()['message']['content'])

Assim, você pode integrar o modelo local a extensões do VS Code, scripts de automação ou qualquer outra ferramenta compatível com a API da OpenAI.


Etapa 6: ajustes de desempenho

A inferência está lenta? Falta memória? Experimente ajustar alguns parâmetros.

6.1 Aceleração por GPU

O Ollama detecta e usa a GPU automaticamente. Se a GPU não for reconhecida, verifique se o driver está instalado corretamente.

GPU NVIDIA:

Confirme que o driver da NVIDIA e o CUDA estão instalados. O Ollama executa nvidia-smi automaticamente para detectar a GPU.

Mac com Apple Silicon:

Um Mac M1/M2/M3 não precisa de configuração adicional: o Ollama usa a aceleração Metal automaticamente.

GPU AMD:

No Linux, é possível instalar a versão ROCm do Ollama:

curl -L https://ollama.com/download/ollama-linux-amd64-rocm.tgz -o ollama-linux-amd64-rocm.tgz
sudo tar -C /usr/ -xzf ollama-linux-amd64-rocm.tgz

6.2 Configuração de concorrência

Quer executar vários modelos ao mesmo tempo ou aumentar a capacidade de processamento simultâneo? Defina variáveis de ambiente:

# Definir o número de modelos executados em paralelo
OLLAMA_NUM_PARALLEL=2 ollama serve

# Definir o número máximo de modelos carregados
OLLAMA_MAX_LOADED_MODELS=2 ollama serve

Esses parâmetros são úteis em cenários com vários usuários e evitam atrasos frequentes de carregamento ao trocar de modelo.

6.3 Quantização do modelo

Modelos grandes, como os de 70B, consomem memória demais? Use uma versão quantizada para reduzir o consumo:

# Baixar a versão quantizada em 4 bits (reduz o consumo em cerca de 75%)
ollama pull llama3.3:70b-q4_K_M

A quantização reduz levemente a qualidade, mas melhora bastante a velocidade e o uso de memória.


Solução de problemas comuns

Alguns problemas podem aparecer durante a implantação. Veja os mais comuns.

P1: o download do modelo está muito lento

Causa: os servidores oficiais do Ollama ficam fora da China, então o download pode ser lento no país.

Solução:

  • Use um proxy
  • Ou baixe o arquivo GGUF de um site espelho e importe-o manualmente no Ollama

Importação manual:

# Depois de baixar o arquivo GGUF, crie um Modelfile
FROM ./llama3.2.gguf

# Criar o modelo
ollama create my-llama3.2 -f Modelfile

P2: o Open WebUI não consegue se conectar ao Ollama

Sintoma: a interface mostra “Ollama connection failed”.

Diagnóstico:

  1. Confirme que o serviço Ollama está em execução:
curl http://localhost:11434

O retorno deve ser "Ollama is running".

  1. Se estiver usando Docker, verifique a configuração de rede:
docker exec -it open-webui curl http://host.docker.internal:11434

Se a conexão falhar, talvez seja necessário configurar manualmente a variável de ambiente OLLAMA_BASE_URL.

P3: a GPU não é reconhecida

Sintoma: a inferência está muito lenta e nvidia-smi mostra que a GPU não está em uso.

Diagnóstico:

  1. Verifique o driver da NVIDIA:
nvidia-smi

O comando deve mostrar as informações da GPU.

  1. Verifique se o Ollama reconheceu a GPU:
ollama show llama3.2 --system

Se aparecer CPU-only, a GPU não foi reconhecida.

Solução:

  • Reinstale o driver da NVIDIA
  • Confirme a compatibilidade da versão do CUDA
  • No Linux, talvez seja necessário definir CUDA_VISIBLE_DEVICES

P4: erro de memória insuficiente

Sintoma: ao executar um modelo grande, aparece o erro OOM (Out of Memory).

Solução:

  • Troque por um modelo menor, como 1B ou 3B
  • Use uma versão quantizada, como q4_K_M
  • Aumente o espaço de swap no Linux
  • Feche outros programas que consomem muita memória

P5: falha ao iniciar o contêiner Docker

Sintoma: docker ps mostra o contêiner com status Exited.

Diagnóstico:

Veja os logs do contêiner:

docker logs open-webui

Causas comuns:

  • Conflito de porta: a porta 3000 está sendo usada por outro programa
  • Problema de permissão no volume
  • Memória insuficiente

Solução:

  • Mude a porta, por exemplo para -p 8080:8080
  • Verifique as permissões do volume do Docker
  • Aumente o limite de memória do contêiner

Resumo

Para montar uma interface estilo ChatGPT localmente com Ollama + Open WebUI, o fluxo principal tem apenas algumas etapas:

  1. Instale o Ollama com um único comando
  2. Baixe um modelo adequado ao seu hardware
  3. Implante o Open WebUI iniciando o Docker com um único comando
  4. Comece a conversar

Ao terminar, você terá:

  • Um assistente de conversa com IA gratuito
  • Armazenamento de dados totalmente privado
  • Funcionamento offline
  • Parâmetros de modelo personalizáveis
  • Uma base de conhecimento expansível com RAG
  • Interfaces de API para integrações

Essa solução é adequada tanto para uso pessoal cotidiano quanto para implantação interna em equipes pequenas. Se quiser se aprofundar, você também pode explorar:

  • Modelfile para personalizar o comportamento do modelo
  • Integração com vários modelos na nuvem, usando modelos locais e a API da OpenAI ao mesmo tempo
  • Implantação de nível de produção com Kubernetes


Recursos de referência

Se surgir alguma dúvida, pesquise nas Issues dos repositórios do Ollama e do Open WebUI no GitHub. As comunidades são ativas, e a maioria dos problemas já foi respondida por alguém.

Criar uma interface local estilo ChatGPT

Implante localmente uma interface de conversa com IA no estilo ChatGPT usando Ollama e Open WebUI

⏱️ Estimated time: 30 min

  1. 1

    Step 1: Instalar o Ollama

    Escolha o método de instalação de acordo com o sistema operacional:

    • macOS/Linux: curl -fsSL https://ollama.com/install.sh | sh
    • Windows: irm https://ollama.com/install.ps1 | iex
    • Docker: docker pull ollama/ollama:latest

    Após a instalação, execute ollama --version para verificar
  2. 2

    Step 2: Baixar um modelo

    Escolha o modelo de acordo com o hardware:

    • 8 GB de RAM: ollama pull llama3.2:1b
    • 16 GB de RAM: ollama pull llama3.2
    • 16 GB de RAM + GPU: ollama pull llama3.1:8b
    • Otimizado para chinês: ollama pull qwen2.5:7b
  3. 3

    Step 3: Implantar o Open WebUI

    Implantação em um único contêiner Docker:

    docker run -d -p 3000:8080 \
    + --add-host=host.docker.internal:host-gateway \
    + -v open-webui:/app/backend/data \
    + --name open-webui \
    + ghcr.io/open-webui/open-webui:main

    Ou use Docker Compose para gerenciar os dois contêineres
  4. 4

    Step 4: Fazer a configuração inicial

    Acesse http://localhost:3000:

    • Crie a conta de administrador
    • Aguarde a detecção automática do serviço Ollama
    • Escolha um modelo e comece a conversar
  5. 5

    Step 5: Configurar recursos avançados

    Recursos opcionais:

    • Base de conhecimento RAG: envie documentos PDF/Markdown
    • Integração via API: endpoint compatível com OpenAI
    • Aceleração por GPU: detecção automática, sem necessidade de configuração

FAQ

Qual hardware é necessário para executar IA localmente?
No mínimo, 8 GB de RAM, processador Intel i5 e 10 GB de armazenamento. Recomenda-se 16 GB de RAM ou mais; uma NVIDIA RTX 3060 ou um Mac com Apple Silicon oferece desempenho melhor. Modelos grandes, como os de 70B, exigem 64 GB de RAM.
Quais modelos o Ollama aceita?
Ele aceita os principais modelos de código aberto:

• Família Meta Llama (1B–70B)
• Modelos de raciocínio DeepSeek R1
• Família Qwen, da Alibaba, otimizada para chinês
• Google Gemma, Mistral e outros

Use ollama list para ver os modelos baixados e ollama pull para baixar novos modelos
O que fazer quando o Open WebUI não consegue se conectar ao Ollama?
Primeiro, confirme que o serviço Ollama está em execução com curl http://localhost:11434. Em uma implantação via Docker, verifique a configuração de rede; talvez seja necessário definir manualmente a variável de ambiente OLLAMA_BASE_URL como http://host.docker.internal:11434
É possível usar a IA local sem conexão com a internet?
Sim. Depois de baixar o modelo, ele funciona totalmente offline e não precisa de conexão com a internet. O histórico das conversas e os documentos da base de conhecimento ficam armazenados localmente, o que é útil em viagens ou locais com conexão instável
Como integrar ferramentas existentes, como extensões do VS Code?
O Ollama oferece uma API compatível com OpenAI na porta 11434:

• Endpoint: http://localhost:11434/api/chat
• Formato igual ao da API da OpenAI
• Chamadas diretas por Python/Node.js

Basta trocar o endereço da API da OpenAI pelo endereço local

14 min de leitura · Publicado em: 4 abr 2026 · Atualizado em: 4 set 2026

Comentários

Entre com GitHub para comentar

Easton BlogEaston Blog