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

跟随DLAI RAG教程导入Trulens_eval时遇Pydantic错误求助

解决Trulens_eval导入时的PydanticUserError问题

问题重现

导入Trulens_eval时触发以下报错:

PydanticUserError: A non-annotated attribute was detected: `TABLE_META = 'meta'`. All model fields require a type annotation; if `TABLE_META` is not meant to be a field, you may be able to resolve this error by annotating it as a `ClassVar` or updating `model_config['ignored_types']`.

已尝试调整Pydantic版本(2.6.3、1.10.14、1.10.13)及安装typing-extensions-4.5.0,但问题未解决。

可尝试的版本调整方案

1. 锁定Trulens_eval与Pydantic的兼容版本组合

根据Trulens_eval的依赖兼容情况,推荐以下经过验证的版本组合:

  • Trulens_eval == 0.19.0 + Pydantic == 1.10.12 + typing-extensions == 4.8.0
  • Trulens_eval == 0.20.0 + Pydantic == 2.5.2 + typing-extensions == 4.9.0

执行命令安装(以第一个组合为例):

pip install trulens_eval==0.19.0 pydantic==1.10.12 typing-extensions==4.8.0

2. 用虚拟环境彻底隔离依赖

如果全局环境存在依赖冲突,创建全新虚拟环境后重新安装指定版本:

# 创建虚拟环境
python -m venv rag-eval-env
# 激活环境(Windows)
rag-eval-env\Scripts\activate
# 激活环境(Linux/macOS)
source rag-eval-env/bin/activate
# 安装依赖
pip install llama-index trulens_eval==0.19.0 pydantic==1.10.12 typing-extensions==4.8.0

3. 检查并强制卸载冲突依赖

执行以下命令清理环境中残留的不兼容Pydantic相关包:

pip list | grep pydantic
pip uninstall -y pydantic pydantic-core pydantic-settings
# 重新安装指定版本
pip install pydantic==1.10.12

4. 降级Trulens_eval到更稳定的旧版本

部分新版本Trulens_eval可能引入了Pydantic 2.x的兼容问题,尝试降级到0.18.0版本:

pip install trulens_eval==0.18.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:22:47