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

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 hardware | Modelo recomendado | Parâmetros | Espaço em disco | Comando |
|---|---|---|---|---|
| 8 GB de RAM, sem GPU | Llama 3.2 1B | 1B | 740 MB | ollama run llama3.2:1b |
| 8 GB de RAM, sem GPU | Gemma 3 2B | 2B | 1,4 GB | ollama run gemma3:2b |
| 16 GB de RAM | Llama 3.2 3B | 3B | 2 GB | ollama run llama3.2 |
| 16 GB de RAM | Qwen 2.5 7B | 7B | 4 GB | ollama run qwen2.5:7b |
| 16 GB de RAM + GPU | Llama 3.1 8B | 8B | 4,7 GB | ollama run llama3.1:8b |
| 32 GB de RAM + GPU | DeepSeek R1 14B | 14B | 8 GB | ollama run deepseek-r1:14b |
| 64 GB de RAM + GPU | Llama 3.3 70B | 70B | 39 GB | ollama 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:
- Clique na aba “Documents” à esquerda
- Clique em “Upload” e escolha um arquivo; há suporte a PDF, Markdown, TXT e DOCX
- 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:
- Confirme que o serviço Ollama está em execução:
curl http://localhost:11434
O retorno deve ser "Ollama is running".
- 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:
- Verifique o driver da NVIDIA:
nvidia-smi
O comando deve mostrar as informações da GPU.
- 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:
- Instale o Ollama com um único comando
- Baixe um modelo adequado ao seu hardware
- Implante o Open WebUI iniciando o Docker com um único comando
- 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
- Site oficial do Ollama
- Biblioteca de modelos do Ollama
- Open WebUI no GitHub
- Ollama no GitHub
- Tutorial do freeCodeCamp
- Tutorial do Open WebUI no DataCamp
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
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
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
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
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
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?
Quais modelos o Ollama aceita?
• 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?
É possível usar a IA local sem conexão com a internet?
Como integrar ferramentas existentes, como extensões do VS Code?
• 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
Guia Ollama LLM local
Se você chegou pela busca, o caminho mais rápido é ir para o post anterior ou próximo desta série.
Anterior
Como executar vários modelos no Ollama: Qwen, Llama e DeepSeek em paralelo
Configure o Ollama para executar Qwen, Llama e DeepSeek em paralelo, compare os pontos fortes de cada modelo e gerencie VRAM, pré-carregamento e troca.
Parte 6 de 13
Próximo
Chamadas à API do Ollama: do curl à interface compatível com o SDK da OpenAI
Aprenda duas formas de chamar a API do Ollama: a API REST nativa com curl e a interface compatível com o SDK da OpenAI. Inclui exemplos completos, processamento de respostas em streaming e boas práticas.
Parte 8 de 13



Comentários
Entre com GitHub para comentar