构建一个与OpenAI API兼容的API服务十分简便,该服务可以作为实现OpenAI API协议的服务器进行部署。
vllm serve Qwen/Qwen3-8B
对于使用张量并行的分布式推理:
vllm serve Qwen/Qwen3-8B --tensor-parallel-size 4
部署量化模型
Qwen3 提供了两种类型的预量化模型:FP8 和 AWQ。
vllm serve Qwen/Qwen3-8B-FP8
vllm serve Qwen/Qwen3-8B-AWQ
思考与非思考模式
解析思考内容
解析工具调用
结构化/JSON输出
# vLLM参数
model_dir="qwen/Qwen-14B-Chat-Int4"
tensor_parallel_size=1
gpu_memory_utilization=0.6
quantization='gptq'
dtype='float16'
# vLLM模型加载
def load_vllm():
global generation_config,tokenizer,stop_words_ids,engine
# 模型下载
snapshot_download(model_dir)
# 模型基础配置
generation_config=GenerationConfig.from_pretrained(model_dir,trust_remote_code=True)
# 加载分词器
tokenizer=AutoTokenizer.from_pretrained(model_dir,trust_remote_code=True)
tokenizer.eos_token_id=generation_config.eos_token_id
# 推理终止词
stop_words_ids=[tokenizer.im_start_id,tokenizer.im_end_id,tokenizer.eos_token_id]
# vLLM基础配置
args=AsyncEngineArgs(model_dir)
args.worker_use_ray=False
args.engine_use_ray=False
args.tokenizer=model_dir
args.tensor_parallel_size=tensor_parallel_size [4]
args.trust_remote_code=True
args.quantization=quantization [4]
args.gpu_memory_utilization=gpu_memory_utilization [4]
args.dtype=dtype
args.max_num_seqs=20 # batch最大20条样本 [4]
# 加载模型
os.environ['VLLM_USE_MODELSCOPE']='True'
engine=AsyncLLMEngine.from_engine_args(args)
return generation_config,tokenizer,stop_words_ids,engine