Notícias
Nova localização no Cazaquistão: Almaty High Performance
DS
Daniel Smith
julho 13, 2026
Atualizado julho 14, 2026

Como Criar um Assistente de IA tipo ChatGPT em um VPS

Como Criar um Assistente de IA tipo ChatGPT em um VPS

Pergunte por que alguém prefere hospedar o próprio assistente de IA e as respostas costumam variar: proteger documentos internos, evitar limites de uso, controlar os custos ou simplesmente entender o que acontece por trás da interface.

Todos esses caminhos levam à mesma ideia: rodar um assistente de IA em um VPS sob seu controle.

E dá para começar sem transformar a sala em um datacenter. Um VPS bem dimensionado, um modelo open source, um mecanismo de inferência e uma interface web já formam uma solução bastante útil.

Neste guia, vamos montar essa estrutura do zero, calcular os recursos necessários e mostrar os erros que mais atrapalham o projeto. Basta ter alguma familiaridade com o terminal e paciência para lidar com aquele primeiro comando que, por tradição, raramente funciona de primeira.

O que você vai montar

Um assistente auto-hospedado tem poucas peças:

  • LLM: o modelo responsável por interpretar o pedido e gerar a resposta;
  • mecanismo de inferência: o software que carrega e executa o modelo, como Ollama, vLLM ou LocalAI;
  • interface web: a tela de chat acessada pelo navegador;
  • VPS: o servidor onde toda a estrutura será executada.

A inferência é o momento em que o modelo recebe seu prompt e calcula uma resposta. Esse processo consome memória e capacidade de processamento — quanto maior o modelo, maior a conta.

Para reduzir esse consumo, muitos modelos usam quantização. Na prática, ela compacta os parâmetros e permite rodar o mesmo modelo com menos RAM, aceitando uma pequena perda de precisão. Um modelo que exigiria mais de 100 GB de memória em sua versão completa pode cair para cerca de 40 GB depois de quantizado.

O mecanismo de inferência carrega esse arquivo e disponibiliza uma API. Em muitos casos, ela segue o mesmo padrão da API da OpenAI, o que facilita a integração com outras ferramentas.

Por cima fica uma interface como o Open WebUI, que adiciona chat pelo navegador, histórico de conversas e contas para vários usuários.

A estrutura completa fica assim:

VPS → Docker → mecanismo de inferência → modelo → interface web → navegador

Cada componente pode ser substituído depois. Essa liberdade é uma das principais vantagens de hospedar a solução por conta própria.

Passo 1: escolha o VPS certo

O dimensionamento do servidor decide boa parte do resultado antes mesmo da instalação.

Os pesos do modelo precisam caber na memória disponível. Quando isso não acontece, ele pode nem iniciar — ou responder em um ritmo capaz de fazer qualquer usuário desistir da conversa.

Por isso, não considere apenas o tamanho do arquivo do modelo. O sistema operacional, o Docker, o mecanismo de inferência e a interface também usam RAM.

A tabela a seguir traz configurações mais próximas do uso real, com uma margem para manter o servidor estável. Em infraestrutura, trabalhar no limite costuma funcionar muito bem até o exato momento em que deixa de funcionar.

Tamanho do modelo (quantizado, Q4) Tamanho do arquivo do modelo RAM recomendada de VPS Caso de uso típico
3B–7B ~2–5 GB 8–16 GB Assistente pessoal, redação de textos, perguntas e respostas simples
8B–13B ~5–8 GB 16–24 GB Assistente para equipes pequenas, apoio em programação, RAG sobre documentos
30B–34B ~18–20 GB 32–48 GB Raciocínio de qualidade superior, implantações com múltiplos usuários
70B ~38–45 GB 64 GB+ Qualidade de nível de produção, uso em toda a área

Trate esses números como uma faixa de partida, não como uma regra fixa — o uso real de memória varia conforme o tamanho da janela de contexto, o número de usuários simultâneos e o nível de quantização escolhido, então vale a pena checar a documentação do modelo escolhido antes de fechar um plano. Um VPS somente com CPU dá conta razoavelmente bem da faixa de 3B a 13B para um único usuário; qualquer coisa maior fica visivelmente lenta sem uma instância com GPU. Se você não sabe por onde começar, uma configuração intermediária — algo na faixa de 8 a 16 vCPUs e 32 GB de RAM — cobre a maioria dos casos de uso de uma única equipe sem exagerar no provisionamento. A linha de servidores VPS da Serverspace permite configurar vCPU, RAM e SSD de forma independente através de uma calculadora, o que é conveniente aqui: você pode começar de forma modesta e aumentar a RAM depois, caso um modelo maior valha a pena, sem precisar reconstruir o servidor do zero.

Passo 2: Prepare o Servidor

Com o servidor no ar, atualize o sistema e instale o Docker — quase todas as peças dessa pilha rodam como container, o que mantém as dependências isoladas e torna a limpeza trivial caso algo dê errado.

sudo apt update && sudo apt upgrade -y
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

Saia e entre novamente na sessão para que a mudança de grupo tenha efeito, depois confirme que o Docker está funcionando com docker --version. É um passo pequeno, mas pulá-lo é um motivo comum para as pessoas acabarem rodando tudo como root por frustração mais adiante.

Passo 3: Instale um Mecanismo de Inferência

Esse é o componente que de fato carrega e executa o modelo. Existem várias opções maduras, e a escolha certa depende principalmente do seu hardware e de quantas pessoas vão usar o assistente ao mesmo tempo.

Ferramenta Indicada para Exige GPU
Ollama Forma mais rápida de começar; uso individual ou em pequenas equipes Não — roda em CPU, mais rápido com GPU
vLLM Implantações em produção com alta concorrência e múltiplos usuários Sim, para um throughput realista
LocalAI Servidores somente com CPU; também lida com modelos de voz e imagem Não
text-generation-webui Experimentação com parâmetros do modelo e opções de fine-tuning Recomendada

Para uma primeira montagem, o Ollama é a escolha pragmática — a instalação é um único comando, e ele cuida sozinho do download dos modelos e da escolha da quantização.

curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.1:8b
ollama run llama3.1:8b

Se esse último comando te der uma conversa funcionando no terminal, a parte difícil já passou. Daqui em diante, é tudo sobre tornar o assistente acessível e agradável de usar.

Passo 4: Adicione uma Interface de Chat

Ninguém imagina um prompt de terminal quando fala em algo "estilo ChatGPT". O Open WebUI resolve essa lacuna: é uma interface auto-hospedada, baseada em navegador, que se conecta ao Ollama (ou ao vLLM, ou ao LocalAI) e adiciona histórico de conversas, múltiplas contas e upload de documentos para respostas com RAG.

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

Abra o navegador em http://ip-do-seu-servidor:3000, crie uma conta de administrador, e o modelo baixado anteriormente já deve aparecer no seletor de modelos. Nesse ponto, você já tem algo que se parece e funciona como o ChatGPT, rodando inteiramente em uma infraestrutura que você aluga e controla.

Passo 5: Coloque um Domínio e HTTPS na Frente

Expor a porta 3000 diretamente é aceitável para testes, mas não para algo em que você vá realmente confiar. Um proxy reverso como Nginx ou Caddy, combinado com um certificado gratuito do Let's Encrypt, garante um domínio próprio e tráfego criptografado com pouquíssima configuração:

sudo tee /etc/caddy/Caddyfile <<'EOF'
assistant.yourdomain.com {
reverse_proxy localhost:3000
}
EOF
sudo systemctl reload caddy

O Caddy cuida da emissão e da renovação do certificado automaticamente assim que esse arquivo estiver no lugar e o domínio apontar para o IP do servidor. É um passo de cinco minutos que evita bastante dor de cabeça depois, principalmente quando você adiciona autenticação e precisa que os cookies se comportem corretamente em um domínio de verdade.

Passo 6: Reforce o Acesso Antes de Depender Dele

Um assistente funcionando atrás de um domínio ainda é um convite aberto se nada estiver protegendo o acesso. Antes de enviar a URL para colegas ou clientes, algumas mudanças pequenas fazem muita diferença. Comece desativando o cadastro público nas configurações de administrador do Open WebUI, para que a primeira pessoa que encontrar o endereço não consiga criar uma conta e começar a consumir os ciclos de CPU do seu servidor. Em seguida, restrinja a API de inferência bruta — porta 11434 no Ollama, 8000 em uma implantação típica de vLLM — apenas ao localhost, de modo que ela fique acessível pelo proxy reverso, mas nunca diretamente pela internet:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw deny 11434/tcp
sudo ufw enable

Adicionar o fail2ban para monitorar os logs de acesso do proxy reverso identifica tentativas repetidas de login e bloqueia o IP responsável automaticamente — algo que importa mais do que parece, já que uma página de login de chat pública atrai varreduras automatizadas em questão de dias após entrar no ar, não de meses. Nada disso leva mais de vinte minutos, e fazer isso antes do lançamento é bem menos doloroso do que fazer depois de um incidente.

Quando Vale a Pena Hospedar por Conta Própria

A principal vantagem é o controle. Prompts, documentos e históricos ficam no seu servidor, sem passar por uma API externa. Você também pode trocar de modelo, ajustar a configuração e integrar o assistente aos sistemas da empresa sem depender das regras de uma única plataforma.

O custo tende a ser mais previsível, mas há uma condição: o servidor precisa ser usado com frequência. Um VPS continua gerando despesa mesmo quando ninguém está conversando com o modelo. Para uso ocasional, uma API cobrada por consumo pode sair mais barata. Para equipes que usam o assistente todos os dias, a conta começa a fazer mais sentido.

O Preço do Controle

Auto-hospedagem troca a mensalidade de uma plataforma por responsabilidade técnica.

Você passa a cuidar de:

  • atualizações e correções de segurança;
  • backups;
  • controle de acesso;
  • monitoramento;
  • compatibilidade entre modelos e ferramentas.

A qualidade também varia. Modelos menores, capazes de rodar em um VPS comum, ainda podem ficar atrás dos principais serviços comerciais em raciocínio complexo, contexto longo e fluidez das respostas.

A velocidade merece atenção especial. Em um servidor apenas com CPU, modelos grandes podem responder devagar. Um modelo de 13B mal dimensionado transforma uma pergunta simples em uma pequena pausa para o café.

Outro ponto importante: privado não significa automaticamente seguro ou adequado à LGPD. Logs, retenção de dados, permissões e exclusão de informações precisam ser definidos como em qualquer outro sistema que armazene conteúdo sensível.

E nunca deixe a API de inferência aberta na internet sem autenticação. Caso contrário, alguém pode descobrir a porta, usar seus recursos e deixar a conta para você.

Onde Essa Estrutura Funciona Bem

  • Base de conhecimento interna: a equipe consulta políticas, manuais e documentos sem enviar o conteúdo para serviços externos.
  • Assistente para programação: ferramentas como Continue podem usar o modelo hospedado no VPS para trabalhar com código proprietário.
  • Análise de documentos com RAG: contratos, relatórios e pesquisas viram uma base consultável pelo assistente.
  • Chat para clientes: a API do Ollama ou do vLLM pode alimentar um widget no site sem cobrança por mensagem.
  • Assistente compartilhado: uma equipe pequena pode usar a mesma instalação do Open WebUI em vez de manter várias assinaturas individuais.

Na prática, a auto-hospedagem costuma funcionar melhor quando há uso recorrente, dados internos e necessidade de personalização.

Erros Que Custam Tempo — e Às Vezes Dinheiro

  • Escolher o VPS apenas pelo tamanho do modelo. O sistema operacional, o Docker, a interface e o cache também consomem memória.
  • Colocar um modelo grande demais em CPU. Um modelo menor com GPU costuma entregar uma experiência muito melhor.
  • Expor Ollama ou vLLM em 0.0.0.0 sem firewall e autenticação. É o equivalente digital de deixar a porta aberta com a luz acesa.
  • Ignorar HTTPS porque o uso é “interno”. Muitas ferramentas internas acabam sendo compartilhadas com mais pessoas depois.
  • Não fazer backup dos volumes do Docker. Sem backup, perder o servidor significa perder histórico, usuários e configurações.
  • Tratar a instalação como algo definitivo. Modelos, formatos e ferramentas mudam rápido. A configuração precisa de revisão de tempos em tempos.

Conclusão

Hoje, montar um assistente privado parecido com o ChatGPT já cabe em uma estrutura relativamente simples: VPS, Docker, mecanismo de inferência e interface web.

O resultado não terá necessariamente a mesma qualidade dos maiores modelos comerciais, e a manutenção passa a ser sua. Em troca, você ganha controle sobre os dados, liberdade para trocar componentes e custos mais previsíveis em cenários de uso constante.

Nossa recomendação é começar pequeno: escolha um modelo de porte médio, meça a velocidade e acompanhe o consumo real. Se o assistente entrar na rotina da equipe, aumente os recursos. Comprar um servidor enorme antes de provar o uso costuma ser a forma mais cara de descobrir que ninguém precisava dele.

Perguntas Frequentes

Preciso de uma GPU para rodar um assistente de IA auto-hospedado?

Não, pelo menos não para modelos na faixa de 3B a 13B. Uma CPU multi-core moderna com RAM suficiente roda esses modelos em velocidades utilizáveis para um usuário único ou uma equipe pequena. Uma GPU passa a valer a pena quando você avança para modelos de 30B ou mais, ou precisa atender vários usuários simultâneos com rapidez.

Quanto custa rodar isso em comparação com uma assinatura do ChatGPT?

Depende do uso. Um VPS de nível intermediário custa aproximadamente o mesmo todo mês, independente de quanto você o utiliza, o que favorece a auto-hospedagem em caso de uso intenso ou em equipe, e favorece a assinatura em caso de uso leve e ocasional.

Com qual modelo devo começar?

Um modelo de 8 bilhões de parâmetros com quantização Q4 é um ponto de partida sensato — ele roda com folga em 16 GB de RAM e dá uma boa noção do que o assistente é capaz de fazer antes de você se comprometer com um modelo maior e mais exigente em recursos.

Um assistente auto-hospedado é realmente privado?

Privacidade, aqui, significa que seus prompts e documentos ficam em uma infraestrutura que você controla, em vez de passar pelos servidores de terceiros. Ainda assim, a segurança dessa infraestrutura é responsabilidade sua — autenticação, regras de firewall e tráfego criptografado importam tanto quanto a própria decisão de hospedar localmente.

Várias pessoas podem usar o mesmo servidor?

Sim. O Open WebUI já vem com suporte a múltiplas contas, e um único VPS de porte médio consegue atender uma equipe pequena com folga, embora o tempo de resposta diminua conforme aumentam as requisições simultâneas.

O que acontece se o modelo escolhido for lento ou fraco demais?

Trocar de modelo costuma ser um comando de uma linha só — basta baixar outro e selecioná-lo na interface. Como os recursos do VPS não estão presos a um modelo específico, também é possível redimensionar a RAM e a CPU no mesmo servidor caso você decida migrar para um modelo maior.

Preciso saber Python ou outra linguagem de programação para configurar isso?

Não, para a configuração básica descrita aqui — é basicamente copiar e rodar comandos no terminal. Programação passa a ser útil mais adiante, se você quiser construir integrações personalizadas, como conectar a API do assistente a uma ferramenta interna ou automatizar a ingestão de documentos para respostas com RAG.

Como mantenho o assistente atualizado ao longo do tempo?

O Ollama, o Open WebUI e a maioria dos mecanismos de inferência são distribuídos como containers Docker, então atualizar geralmente significa baixar a imagem mais recente e reiniciar o container. Vale a pena checar as notas de versão antes, já que atualizações de versão importantes às vezes mudam o formato dos arquivos de configuração ou as portas padrão.

Você também pode gostar...

Usamos cookies para melhorar sua experiência no Serverspace. Ao continuar a navegar em nosso site, você concorda com o Uso de Cookies e com a Política de Privacidade.