模拟中出现StockPickler.save(self, obj, save_persistent_id)运行报错
sod1010 opened this issue · 3 comments
您好!我在尝试模拟recagent的过程中,在能够输出用户观看电影的行为后发生了如下报错:
D:\Anaconda3\envs\recagent\lib\site-packages\dill_dill.py:414: PicklingWarning: Cannot locate reference to <class 'datetime.datetime'>.
StockPickler.save(self, obj, save_persistent_id)
D:\Anaconda3\envs\recagent\lib\site-packages\dill_dill.py:414: PicklingWarning: Cannot pickle <class 'datetime.datetime'>: datetime.datetime has recursive
self-references that trigger a RecursionError.
StockPickler.save(self, obj, save_persistent_id)
0%| | 0/50 [01:03<?, ?it/s]
能请问一下是什么原因吗?如何解决呢,非常感谢!
@sod1010 您好,请问使用的langchain版本是什么呢
我使用的是requirements.txt里0.0.186版本的langchain,另外,我使用conda install faiss-cpu -c pytorch安装的faiss是1.8.0版本的,dill是使用pip Install dill直接安装的0.3.8。这些包的版本会影响吗?十分感谢您的回复。
@sod1010 您好,这个报错是由LangChain的mock_now()
函数引起的,如果config中agent_memory使用recagent,可以注释掉agents/recagent_memory
中509行的mock_now
,如果使用GenerativeAgentMemory可能需要注释掉langchain/utils.py
中的mock_now
函数