报错:Input length of input_ids is 3572, but max_length is set to 2000. This can lead to unexpected behavior. You should consider increasing max_new_tokens.
如果问的问题过多,产生的memory会越来越多,导致token数超过定义的数值,
无法对问题做出回答,因此memory选择对话缓存窗口储存,对话缓存窗口储存是通过ConversationBufferWindowMemory来实现交互的滑动窗口,窗口数k,例如设置k=1,表示只保留一个对话记忆。一般k=3或者5.
这样保证memory不会无线增大,memory的内容会作为prompt的内容所以导致token数会增加,超过指定数值无法进行回答,就像问的问题如果太长,比如超过10万字,超过LLM的最大token,无法进行回答一样。
由于漏洞描述数据比较多,之前设置的max_length=2000,过小,通过调整这个值后正常运行: