Langchan4j 框架 AI 无限循环调用文件创建工具解决方案记录
自己在开发基于Spring Boot + LangChan4j 的AI生成应用平台时Vue工程应用生成模式出现了长时间执行不结束的情况,执行30分钟+还未结束调用,看了一下日志发现是AI不断的在循环调用文件创建工具,每一个Vue项目文件都被一直循环创建。
为此我到处在找解决方案,找了一圈也没找到,今天无意在看LangChan4j官方文档时发现工具调用的内容也会通过聊天记忆的方式传给AI让AI知道工具的执行结果,所以我在想AI循环调用工具是不是因为AI忘记了这个工具之前生成过,而之所以会忘记是因为之前的调用结果AI看不到,也就是不在对话记忆窗口中,接着我调大了Vue工程模式的对话记忆窗口测试了一下果然没有出现工具循环调用的情况了。
MessageWindowChatMemory chatMemory = MessageWindowChatMemory.builder().id(appId).chatMemoryStore(redisChatMemoryStore).maxMessages(40) //由20改为40,解决工具无限循环调用的情况.build();