You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

测试vLLM时遇XFormersMetadata.__init__()不支持is_prompt参数错误求助

解决vLLM中XFormersMetadata的TypeError问题

问题描述

运行以下vLLM测试代码时触发TypeError: XFormersMetadata.__init__() got an unexpected keyword argument 'is_prompt'错误:

from vllm import LLM, SamplingParams  
prompts = [
    "Hello, my name is",    
    "The president of the United States is",     
    "The capital of France is",     
    "The future of AI is", 
]  
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)  
llm = LLM(model="facebook/opt-125m")  
outputs = llm.generate(prompts, sampling_params)  

错误核心原因是vLLM版本与XFormers版本不兼容:使用的vLLM开发版(v0.6.1.dev238+ge2c6e0a82)在构造注意力元数据时传入了is_prompt参数,但当前安装的XFormers版本未定义该参数。

解决方案

1. 对齐版本兼容性

  • 降级vLLM到稳定正式版:
    pip install vllm==0.6.0
    
  • 或升级XFormers到兼容版本:
    pip install --upgrade xformers
    

2. 强制使用Torch原生注意力后端

如果不需要XFormers优化,可以在初始化LLM时显式指定注意力后端为torch,绕过XFormers的元数据处理逻辑:

llm = LLM(model="facebook/opt-125m", attn_backend="torch")

3. 验证环境依赖

确保PyTorch版本满足vLLM要求(建议torch>=2.0),CPU环境下无需CUDA,但要保证所有依赖库版本互相兼容。

内容的提问来源于stack exchange,提问作者Dharsann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 22:09:58