导入 Trulens eval 时出现 Pydantic 错误

问题描述 投票:0回答:1

我正在关注 DLAI 构建和评估高级 RAG 视频。人们可以尝试 LLama 索引 + Trulens 来评估 RAG。

由于折旧,Llama 指数经过一些调整后可以工作,但 trulens 甚至不导入。尝试时出现以下错误:

---------------------------------------------------------------------------
PydanticUserError                         Traceback (most recent call last)
Cell In[46], line 1
----> 1 from trulens_eval import Tru
      2 tru = Tru()
      4 tru.reset_database()

File c:\Users\Dator\miniconda3\Lib\site-packages\trulens_eval\__init__.py:38
     36 from trulens_eval.schema import FeedbackMode
     37 from trulens_eval.schema import Query
---> 38 from trulens_eval.tru import Tru
     39 from trulens_eval.tru_chain import TruChain
     40 from trulens_eval.tru_feedback import Feedback

File c:\Users\Dator\miniconda3\Lib\site-packages\trulens_eval\tru.py:18
     16 from trulens_eval.schema import App
     17 from trulens_eval.schema import Record
---> 18 from trulens_eval.tru_db import JSON
     19 from trulens_eval.tru_db import LocalSQLite
     20 from trulens_eval.tru_feedback import Feedback

File c:\Users\Dator\miniconda3\Lib\site-packages\trulens_eval\tru_db.py:130
    122         """
    123         Get the records logged for the given set of `app_ids` (otherwise all)
    124         alongside the names of the feedback function columns listed the
...
    399     ):

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']`.

这个问题与 stackoverflow.com/questions/77599781/error-while-importing-trueera-trulens-eval 中的问题类似,但我不被允许发表评论,因为我在这里的学分太少了,而且我知道我不应该提出问题作为答案。

我尝试安装和卸载以下版本的 pydantic 2.6.3、1.10.14 和 1.10.13,并且我还尝试安装 Typing-extensions-4.5.0。我还必须在不同版本中安装其他东西才能使其正常工作吗?

pydantic
1个回答
0
投票

我不知道这是否有帮助,但我在这个文件中发现他们说导入模式会破坏 pydantic,可能是这种情况:https://github.com/truera/trulens/blob/main/trulens_eval/trulens_eval /反馈/反馈.py

从第 39 行到 42 行:

# WARNING: HACK014: importing schema seems to break pydantic for unknown reason.
# This happens even if you import it as something else.
# from trulens_eval import schema # breaks pydantic
# from trulens_eval import schema as tru_schema # also breaks pydantic
© www.soinside.com 2019 - 2024. All rights reserved.