Skip to content

ai4energy/learn-llm

Repository files navigation

Qwen3.5 模型部署与 API 使用指南

本文档介绍如何从下载模型到使用 API 的完整流程。

环境要求

  • Python 3.10+
  • CUDA 12.1+
  • WSL2 (Ubuntu 22.04)
  • NVIDIA 显卡 (至少 6GB 显存)

安装依赖

# 创建虚拟环境(推荐) python -m venv venv source venv/bin/activate # 安装 vllm(会自动安装 PyTorch) pip install vllm>=0.6.0 # 安装 ModelScope(用于下载模型) pip install modelscope # 安装 OpenAI SDK(用于 API 测试) pip install openai

步骤 1: 下载模型

使用 ModelScope 下载 Qwen3.5-0.8B 模型:

python download_model.py

输出示例:

正在下载模型: Qwen/Qwen3.5-0.8B 保存目录: /home/mingt/projects/models 下载完成! 模型路径: ./models/Qwen/Qwen3___5-0___8B 

注意:ModelScope 下载的模型路径中 / 会被替换为 ___,最终路径为 ./models/Qwen/Qwen3___5-0___8B


步骤 2: 直接运行模型

直接调用 vLLM 进行单次推理:

python run_model.py

输出示例:

Response: 大模型(Large Language Model,简称 LLM)是一种基于深度学习技术的人工智能模型... 

参数说明 (run_model.py)

参数 默认值 说明
MODEL_PATH ./models/Qwen/Qwen3___5-0___8B 模型路径
MAX_MODEL_LEN 2048 最大模型长度
MAX_TOKENS 512 生成的最大 token 数
temperature 0.6 采样温度
top_p 0.95 nucleus 采样
top_k 20 top-k 采样

步骤 3: 启动 API 服务

启动 vLLM OpenAI 兼容 API 服务:

python serve_model.py

服务启动后会显示:

启动命令: vllm serve ./models/Qwen/Qwen3___5-0___8B ... API 地址: http://localhost:8000 文档地址: http://localhost:8000/docs 

配置说明 (serve_model.py)

参数 默认值 说明
MODEL_PATH ./models/Qwen/Qwen3___5-0___8B 模型路径
HOST 0.0.0.0 监听地址
PORT 8000 监听端口
DTYPE half 数据类型 (half=float16)
GPU_MEMORY_UTILIZATION 0.8 GPU 显存利用率
MAX_MODEL_LEN 2048 最大模型长度

服务启动后保持运行,不要关闭终端。


步骤 4: API 测试

方式一:使用 curl

# 检查模型列表 curl -s http://localhost:8000/v1/models # 发送聊天请求 curl -s http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{  "model": "./models/Qwen/Qwen3___5-0___8B",  "messages": [{"role": "user", "content": "你好,请用一句话介绍自己"}],  "max_tokens": 100  }'

方式二:使用 Python 客户端

python client_model.py

配置说明 (client_model.py)

参数 默认值 说明
BASE_URL http://192.168.0.15:8000/v1 API 地址
API_KEY dummy 认证密钥(vLLM 不需要真实 key)
MODEL_NAME ./models/Qwen/Qwen3___5-0___8B 模型名称

注意:如果是本机 WSL 内测试,把 BASE_URL 改成 http://localhost:8000/v1

如果是从 Windows 主机访问 WSL,保持默认的 192.168.0.15(需要改成你实际的 Windows IP)

API 端点

端点 方法 说明
/v1/models GET 获取可用模型列表
/v1/chat/completions POST 聊天补全
/v1/completions POST 文本补全
/docs GET OpenAPI 文档

常见问题

1. 显存不足

如果遇到 OOM 错误,降低 gpu_memory_utilization

# run_model.py / serve_model.py gpu_memory_utilization = 0.5 # 降低到 50%

2. 从 Windows 访问 WSL 的 API

  1. 先获取 WSL 的 IP:
hostname -I | awk '{print $1}'
  1. 在 Windows 端修改 client_model.py
BASE_URL = "http://<WSL_IP>:8000/v1"
  1. 确保 Windows 防火墙允许 8000 端口

3. 模型下载失败

如果 ModelScope 下载慢,可以使用 HuggingFace:

# 修改 download_model.py from transformers import AutoModelForCausalLM, AutoTokenizer model_id = "Qwen/Qwen2.5-0.5B-Instruct" # 使用 HuggingFace 下载 tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)

文件结构

/home/mingt/projects/ ├── download_model.py # 下载模型脚本 ├── run_model.py # 单次运行脚本 ├── serve_model.py # API 服务脚本 ├── client_model.py # API 客户端测试 ├── models/ │ └── Qwen/ │ └── Qwen3___5-0___8B/ # 模型文件 └── README.md # 本文档 

参考链接

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages