TruCustomApp实例化遇ValidationError:Queue类型验证失败求助
解决TruCustomApp的Queue验证错误
问题背景
使用trulens_eval 0.23.0、Python 3.8,初始化TruCustomApp时触发类型验证错误:
代码示例
from trulens_eval import TruCustomApp tru_rag = TruCustomApp( rag, app_id="RAG-einstein:v1", feedbacks=[ f_groundedness, f_qa_relevance, f_context_relevance, ], )
错误信息
ValidationError: 1 validation error for TruCustomApp records_with_pending_feedback_results Input should be an instance of Queue [type=is_instance_of, input_value=<queue.Queue object at 0x000001310D6CDF40>, input_type=Queue] For further information visit https://errors.pydantic.dev/2.6/v/is_instance_of
解决方案
该错误是因为trulens_eval 0.23.0版本对records_with_pending_feedback_results参数的类型校验要求使用自身内部封装的Queue类,而非Python标准库的queue.Queue。按以下方式修改代码即可解决:
- 导入trulens_eval内部的Queue实现
- 手动指定
records_with_pending_feedback_results参数为该Queue的实例
修改后的代码:
from trulens_eval import TruCustomApp from trulens_eval.utils.threading import Queue # 导入trulens内部的Queue类 tru_rag = TruCustomApp( rag, app_id="RAG-einstein:v1", feedbacks=[ f_groundedness, f_qa_relevance, f_context_relevance, ], records_with_pending_feedback_results=Queue() # 使用trulens指定的Queue实例 )
额外排查建议
- 确认
f_groundedness、f_qa_relevance、f_context_relevance等反馈函数已正确初始化,无参数配置错误 - 若问题仍存在,清理缓存后重装指定版本:
pip uninstall -y trulens_eval pip install trulens_eval==0.23.0
内容的提问来源于stack exchange,提问作者Carlos Moreno
相关产品推荐
相关产品推荐

