0本文档指导如何在本地环境(如双卡 RTX 4090 工作站)部署 Next AI Draw.io,并连接到 vLLM 启动的大模型,实现完全本地化、隐私保护的 AI 绘图功能。
官方文档: https://github.com/DayuanJiang/next-ai-draw-io/blob/main/docs/README_CN.md
Next AI Draw.io 也支持通过api key形式调用大模型
Next AI Draw.io 是一个基于 Next.js 的 AI 驱动图表创建工具。它允许用户通过自然语言对话生成、修改 Draw.io 图表(如流程图、架构图、序列图)。
为了在双卡 4090 (48GB 显存) 上稳定运行大模型(如 Qwen 30B/72B Int4),需要针对显存进行特别配置以防止 OOM (Out Of Memory)。
pip install vllm)请根据你的实际模型路径修改 --model 参数。
python -m vllm.entrypoints.openai.api_server --model /model/ModelScope/Qwen/Qwen3-14B/ --enable-auto-tool-choice --tool-call-parser hermes -tp 2 --host 0.0.0.0
如果显存不够,可以加上 --max-model-len 8192
关键参数说明:
--tensor-parallel-size 2 (-tp 2): 必须。启用双卡并行,将模型切分到两张显卡上。--max-model-len 8192: 必须。强制限制上下文长度为 8k。如果不加此项,vLLM 会尝试预分配 262k 上下文导致显存瞬间溢出。--gpu-memory-utilization 0.98: 允许使用 98% 的显存,大模型必备。--enforce-eager: 使用 PyTorch Eager 模式,虽然牺牲微小性能,但能显著节省 CUDA Graph 占用的显存。--host 0.0.0.0: 允许局域网或 Docker 容器访问。验证启动成功:
当终端显示 Uvicorn running on http://0.0.0.0:8000 时即表示就绪。
我们需要配置 Next.js 应用,使其通过 HTTP 协议连接本地 vLLM。
在项目根目录下复制环境变量文件:
cp .env.example .env.local
.env.local打开文件并修改以下核心参数:
# 1. 指定 AI 提供商为 OpenAI (vLLM 兼容此协议)
AI_PROVIDER=openai
# 2. 指定模型名称 (必须与 vLLM 启动时的 --model 一致,或填模型实际路径)
AI_MODEL=/model/ModelScope/Qwen/Qwen3-14B/
# 3. vLLM 服务地址
# ⚠️ 注意:必须是 http,不能是 https,否则会报 SSL packet too long 错误
# ⚠️ 注意:必须以 /v1 结尾
OPENAI_BASE_URL=http://localhost:8000/v1
# 4. API Key
# vLLM 默认不验证,但这里不能留空,填任意字符串即可
OPENAI_API_KEY=EMPTY
# 5. 温度设置
# 绘图代码 (XML) 对格式要求严格,建议设为低温度
TEMPERATURE=0.1
npm run dev
启动成功后,终端会显示访问地址(通常是 http://{ip}:3000 或 http://{ip}:6002)。
上面显示的ip均为内网ip,需要替换为容器的外网ip
此处记得开放对应的防火墙端口

认证作者