Este tutorial apresenta o passo a passo para montar um sistema de chat inteligente baseado no modelo Qwen3-32B. Ideal para quem deseja ter controle total sobre a infraestrutura, sem depender de serviços em nuvem. Tudo roda em ambiente local ou servidor próprio.
- Pré‑requisitos e Componentes
- Hardwaer mínimo: CPU 16 núcleos, 64 GB RAM, GPU com 24 GB VRAM (ex.: RTX 4090)
- Software: Linux, Docker (opcional), Node.js, Git
- Componentes: Ollama (serviço de modelo), Clawdbot (interface web) e um proxy reverso para segurança
- Instalação do Ollama e do Modelo
Instale o Ollama via script oficial:
curl -fsSL https://ollama.com/install.sh | sh
sudo systemctl start ollama
sudo systemctl enable ollama
Baixe o modelo Qwen3-32B (substitua pelo nome correto, se necessário):
ollama pull qwen3:32b
ollama list
Inicie o modelo em segundo plano:
nohup ollama run qwen3:32b > /var/log/ollama.log 2>&1 &
Verifique o serviço:
curl http://localhost:11434/api/tags
- Preparação do Clawdbot
Clone o repositório e instale as depandências:
git clone https://github.com/seu-usuario/clawdbot.git
cd clawdbot
npm install
Crie o arquivo de ambiente:
cp .env.example .env
Edite o .env com as seguintes variáveis (use 11434 para Ollama local):
VITE_API_BASE_URL=http://localhost:11434
VITE_MODEL_NAME=qwen3:32b
PORT=3300
Inicie em modo de desenvolvimento:
npm run dev
Acesse http://localhost:3300 para ver a interface.
- Configuração de Proxy e Gateway
Para expor o serviço com segurança, utilize um proxy local. Exemplo com socat:
socat TCP-LISTEN:9090,fork TCP:localhost:11434 &
Encaminhe a porta 9090 para a porta do gateway (por exemplo, 18789) usando iptables:
sudo iptables -t nat -A PREROUTING -p tcp --dport 18789 -j REDIRECT --to-port 9090
Teste a cadeia:
curl http://localhost:9090/api/tags
curl http://seu-gateway:18789/api/tags
Os resultados devem ser idênticos.
- Integração Completa
Atualize o .env do Clawdbot para apontar para o gateway:
VITE_API_BASE_URL=http://seu-gateway:18789
Reinicie todos os serviços na ordem:
ollama run qwen3:32b(ou mantenha em background)socat ... &npm run start(modo produção)
Teste com uma requisição direta:
curl -X POST http://seu-gateway:18789/api/generate \
-H "Content-Type: application/json" \
-d '{"model":"qwen3:32b","prompt":"Olá, quem é você?","stream":false}'
- Problemas Comuns e Soluções
- Falha ao carregar modelo: verifique VRAM com
nvidia-smie confirme se o modelo está listado comollama ps. - Porta ocupada: use
lsof -i :11434e mate o processo comkill -9. - Erro de conexão: teste cada camada do proxy com
curlnos endpoints locais e remotos.
- Dicas de Performance
Para melhorar a inferência, passe argumentos ao Ollama:
ollama run qwen3:32b --num-gpu 2 --num-threads 16
Ou defina variáveis de ambiente no arquivo de configuração (/etc/default/ollama):
OLLAMA_NUM_GPU=2
OLLAMA_NUM_THREADS=16
Para o Clawdbot, um proxy Nginx com cache pode reduzir latência:
server {
listen 80;
server_name chat.exemplo.com;
location / {
proxy_pass http://localhost:3300;
proxy_cache my_cache;
}
}