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

cdqa执行predict时报DistilBertConfig无return_dict属性错误如何解决

报错原因

cdqa 1.3.7版本发布时间较早,官方适配的transformers版本最高为3.x系列,你当前使用的transformers 4.6.1属于更高版本,新增了return_dict配置项,但cdqa配套的distilbert-squad_1.1模型使用的是旧版DistilBertConfig配置,没有内置return_dict字段,因此触发属性缺失报错。

解决方案
  • 方案1:降级transformers到适配版本(最稳妥,无兼容问题)
    卸载当前高版本transformers,安装cdqa 1.3.7官方兼容的版本即可:
pip uninstall transformers -y
pip install transformers==3.0.2

如果担心依赖冲突影响其他项目,建议新建独立的Python虚拟环境运行cdqa相关代码。

  • 方案2:手动补全模型配置的缺失属性(无需降级依赖)
    如果需要保留当前高版本transformers,可在初始化cdqa_pipeline之后、调用predict方法之前,手动给模型配置添加缺失的属性:
# cdqa_pipeline初始化完成后添加以下两行
cdqa_pipeline.reader.model.config.return_dict = False
cdqa_pipeline.reader.model.config.torchscript = False

该方案直接适配高版本transformers的逻辑,不需要修改源码也不需要降级依赖。

  • 方案3:修改transformers源码兼容旧配置(仅临时测试使用,不推荐)
    找到报错对应的transformers/configuration_utils.py文件,修改use_return_dict属性的判断逻辑,兼容没有对应字段的旧配置:
# 将原文件第252行的代码
return self.return_dict and not self.torchscript
# 修改为
return getattr(self, "return_dict", False) and not getattr(self, "torchscript", False)

修改后重新运行代码即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:15:03