在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 RAM (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": "Write a Python web scraper" }
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 Demo"
).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後端API
├── qwen_gradio.py # Gradio網頁介面
├── requirements.txt # (可選) 依賴列表
└── README.md # 專案說明
商業化構想與應用場景
SaaS編程助手: 打造自己的「編程專用GPT」工具
公開API服務: 按調用次數或訂閱收費
AI教學平台: 自動生成代碼與教學內容
客製化自動化服務: 腳本生成、代碼轉換、文檔撰寫
總結
組件 | 工具 | 用途 |
---|---|---|
模型 | Qwen3-Coder | 開源代碼生成模型 |
主機 | LightNode VPS | 低成本全球雲端平台 |
API | FastAPI | 輕量級Python API框架 |
前端 | Gradio | 快速演示介面構建工具 |