DEV Community

Samuel Grant
Samuel Grant

Posted on

Deploy Qwen3-Coder on VPS: Step-by-Step Guide to Build Your Own AI Coding Assistant

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

  1. Comprar um VPS (LightNode)
  2. Instalar o ambiente base (Python + Git)
  3. Baixar e executar o modelo Qwen3-Coder
  4. Construir uma API com FastAPI
  5. (Opcional) Adicionar uma interface web (Gradio)
  6. 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
Enter fullscreen mode Exit fullscreen mode

Atualize os pacotes do sistema:

apt update && apt upgrade -y

Enter fullscreen mode Exit fullscreen mode

Instale Python e Git:

apt install python3-pip git -y
pip3 install --upgrade pip
Enter fullscreen mode Exit fullscreen mode

3. Baixar e Executar o Qwen3-Coder (Versão CPU)

Instale o HuggingFace Transformers:

pip install transformers accelerate torch
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

Inicie o serviço:

python3 qwen_server.py
Enter fullscreen mode Exit fullscreen mode

Exemplo de chamada API:

POST http://seu_ip:7860/codegen
BODY: { "prompt": "Escreva um web scraper em Python" }
Enter fullscreen mode Exit fullscreen mode

4. Opcional: Adicionar uma Interface Web (Gradio)

Instale o Gradio:

pip install gradio
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

Inicie a interface:

python3 qwen_gradio.py
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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)