在VPS上部署Qwen3-Coder:构建专属AI编程助手指南
大约 3 分钟
在VPS上部署Qwen3-Coder:构建专属AI编程助手指南
本指南将展示如何在LightNode VPS上部署阿里巴巴开源的Qwen3-Coder模型,将其作为API服务开放,并可选择添加网页前端。非常适合打造个人AI编程助手或通过API实现盈利。
概览
- 购买VPS(推荐LightNode)
- 安装基础环境(Python + Git)
- 下载并运行Qwen3-Coder模型
- 使用FastAPI构建API接口
- (可选)添加前端界面(Gradio)
- 测试外部访问及安全配置
1. 购买VPS(如LightNode)
- 注册地址:www.lightnode.com
- 推荐区域:日本、香港、新加坡
- 操作系统:Ubuntu 20.04 LTS
- 配置要求:2核vCPU,4GB内存(CPU模式无需GPU)
- 部署完成后保存公网IP和root密码
2. 安装必要依赖
通过SSH连接VPS:
ssh root@your_vps_ip
更新系统包:
apt update && apt upgrade -y
安装Python和Git:
apt install python3-pip git -y
pip3 install --upgrade pip
3. 下载并运行Qwen3-Coder(CPU版本)
安装HuggingFace Transformers:
pip install transformers accelerate torch
创建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)
启动服务:
python3 qwen_server.py
API调用示例:
POST http://your_ip:7860/codegen
BODY: { "prompt": "编写Python网页爬虫" }
4. 可选:添加前端界面(Gradio)
安装Gradio:
创建新文件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="Qwen3-Coder API演示"
).launch(server_name="0.0.0.0", server_port=7860)
启动:
python3 qwen_gradio.py
浏览器访问:http://your_ip:7860
5. 安全建议
启用UFW防火墙:
apt install ufw
ufw allow OpenSSH
ufw allow 7860
ufw enable
生产环境建议使用Nginx + Let's Encrypt配置HTTPS和域名支持。
推荐项目结构
qwen-server/
├── qwen_server.py # FastAPI后端接口
├── qwen_gradio.py # Gradio网页界面
├── requirements.txt # (可选)依赖列表
└── README.md # 项目说明
盈利模式与应用场景
SaaS编程助手:打造专属"编程版GPT"工具
公共API服务:按调用次数或订阅收费
AI教学平台:自动生成代码与教程内容
定制自动化服务:脚本生成、代码转换、文档编写
技术栈总览
组件 | 工具 | 用途 |
---|---|---|
模型 | Qwen3-Coder | 开源代码生成模型 |
托管 | LightNode VPS | 低成本全球化云平台 |
API框架 | FastAPI | 轻量级Python API框架 |
前端 | Gradio | 快速演示界面构建工具 |