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

安装项目requirements.txt后出现torch.device与int比较的TypeError求助

解决TypeError: '<' not supported between instances of 'torch.device' and 'int'

这个错误属于Haystack与Hugging Face Transformers的版本兼容问题,核心原因是旧版Transformers的Pipeline初始化逻辑中,错误地将torch.device对象与整数做比较,而Haystack的TransformersReader在指定use_gpu=False时传递了torch.device类型的设备参数。

以下是可行的修复方案:

方案1:锁定兼容的Transformers版本

旧版Transformers(低于4.26.x)存在设备参数处理的bug,建议安装与你的Haystack版本匹配的稳定版Transformers:

pip install transformers==4.26.1

这个版本修复了Pipeline中设备参数的类型判断逻辑,能正确处理torch.device对象。

方案2:临时修改Haystack代码(快速 workaround)

如果不想调整版本,可以临时修改虚拟环境中Haystack的TransformersReader初始化代码:
找到路径/home/xyzUser/project/.env/lib/python3.8/site-packages/haystack/nodes/reader/transformers.py,定位到初始化pipeline的代码段(约第93行),明确指定device为整数类型:

self.model = pipeline(
    task="question-answering",
    model=self.model_name_or_path,
    tokenizer=self.tokenizer,
    model_kwargs=self.model_kwargs,
    device=-1  # 强制指定为-1(代表CPU),替换原有的device参数
)

注意:此修改仅临时生效,虚拟环境重装后会丢失。

方案3:升级Haystack到兼容版本

较新的Haystack版本已修复与Transformers的设备参数传递问题,执行升级命令:

pip install --upgrade farm-haystack

升级后Transformers会自动适配到兼容版本,无需额外手动指定。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 09:53:02