错误信息Assertion input[0] ! 0 failed torch.multinomial是概率分布出现全零行numerical underflow导致的一、dtypetorch.float16float16 最小正数约 5.96×10⁻⁸temperature 缩放后 softmax 尾部概率超出此范围被舍入为 0bfloat16 下限约 1.17×10⁻³⁸不会发生截断。修改前dtypetorch.float16修改后torch_dtypetorch.bfloat16 # 数值范围更大softmax 不易下溢二、缺少 top_p没有对概率分布做截断低概率区域全部参与采样放大了数值不稳定的风险classChatRequest(BaseModel):top_p:float0.9# 新增截断低概率 token三、generate() 加入 top_p 和 eos_token_idoutputsmodel.generate(...top_prequest.top_p,eos_token_idtokenizer.eos_token_id,# 新增)四、pad_token_id 可能为 NoneQwen tokenizer 某些版本 pad_token_idNone传入 generate 会静默出错pad_token_idtokenizer.pad_token_idiftokenizer.pad_token_idisnotNoneelsetokenizer.eos_token_id五、temperature 安全处理do_samplerequest.temperature0gen_temperaturemax(request.temperature,1e-6)