Deployar Qwen3-Coder em um VPS: Guia Passo a Passo para Construir Seu Próprio Assistente de Programação com IA
Este guia mostra como deployar o modelo open-source da Alibaba, Qwen3-Coder, em um LightNode VPS, expondo-o como um serviço de API com uma interface web opcional. Perfeito para lançar seu próprio assistente de programação com IA ou monetizar por meio de APIs.
Visão Geral
- Comprar um VPS (LightNode)
- Instalar o ambiente base (Python + Git)
- Baixar e executar o modelo Qwen3-Coder
- Construir uma API com FastAPI
- (Opcional) Adicionar uma interface web (Gradio)
- Testar acesso externo e configurar segurança
1. Comprar um VPS (ex: LightNode)
- Registrar: LightNode
- Localizações recomendadas: Japão, Hong Kong, Singapura
- Sistema Operacional: Ubuntu 20.04 LTS
- Especificações: 2 vCPU, 4GB RAM (não é necessário GPU no modo CPU)
- Após a configuração, salve o IP público e a senha root
2. Instalar Dependências Necessárias
Acesse seu VPS via SSH:
ssh root@seu_ip_vps
Atualize os pacotes do sistema:
apt update && apt upgrade -y
Instale Python e Git:
apt install python3-pip git -y
pip3 install --upgrade pip
3. Baixar e Executar o Qwen3-Coder (Versão CPU)
Instale o HuggingFace Transformers:
pip install transformers accelerate torch
Crie um arquivo qwen_server.py:
from transformers import AutoModelForCausalLM, AutoTokenizer
from fastapi import FastAPI, Request
import uvicorn
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen1.5-0.5B-Chat", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen1.5-0.5B-Chat", trust_remote_code=True).eval()
app = FastAPI()
@app.post("/codegen")
async def codegen(request: Request):
data = await request.json()
prompt = data.get("prompt")
input_ids = tokenizer(prompt, return_tensors="pt").input_ids
outputs = model.generate(input_ids, max_new_tokens=256)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
return {"result": response}
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=7860)
Inicie o serviço:
python3 qwen_server.py
Exemplo de chamada API:
POST http://seu_ip:7860/codegen
BODY: { "prompt": "Escreva um web scraper em Python" }
4. Opcional: Adicionar uma Interface Web (Gradio)
Instale o Gradio:
pip install gradio
Crie um novo arquivo qwen_gradio.py:
import gradio as gr
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen1.5-0.5B-Chat", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen1.5-0.5B-Chat", trust_remote_code=True).eval()
def generate_code(prompt):
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=256)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
gr.Interface(
fn=generate_code,
inputs="text",
outputs="text",
title="Demonstração da API Qwen3-Coder"
).launch(server_name="0.0.0.0", server_port=7860)
Inicie a interface:
python3 qwen_gradio.py
Abra no navegador: http://seu_ip:7860
5. Sugestões de Segurança
Habilite o firewall UFW:
apt install ufw
ufw allow OpenSSH
ufw allow 7860
ufw enable
Para uso em produção, considere usar Nginx + Let's Encrypt para HTTPS e suporte a domínio.
Estrutura de Projeto Recomendada
qwen-server/
├── qwen_server.py # API backend com FastAPI
├── qwen_gradio.py # Interface web com Gradio
├── requirements.txt # (Opcional) lista de dependências
└── README.md # Descrição do projeto
Ideias de Monetização e Casos de Uso
Assistente de Programação SaaS: construa sua própria ferramenta estilo "GPT para programação"
Serviço de API Público: cobre por chamada ou assinatura
Plataforma de Ensino com IA: gere código e tutoriais automaticamente
Serviços de Automação Personalizados: geração de scripts, conversão de código, documentação
Resumo
Componente | Ferramenta | Finalidade |
---|---|---|
Modelo | Qwen3-Coder | Modelo open-source para geração de código |
Hospedagem | LightNode | Plataforma global de baixo custo |
API | FastAPI | Framework leve para APIs em Python |
Frontend | Gradio | Construtor rápido de interface demo |
Top comments (0)