项目场景:
提示:这里简述项目相关背景:
本地化部署langchain-chatchat 0.3.1版本,使用Xinference作为后台模型框架。LLM使用GLM4大模型,enbed模型选择text2vec-large-chinese做量化模型。
问题描述
提示:这里描述项目中遇到的问题:
根据官网提示,首先对平台进行初始化,chatchat init 初始化正常,然后对知识库进行初始化,chatchat kb -r 官网的示例知识库中的文件知识库初始化也正常通过。最后通过chatchat start -a启动chatchat平台,中间也都正常,没有异常和错误提示。加载页面后,在对话模式下,无论输入任何信息,系统都会回答an error accurd during stream错误,然后界面没有任何提示。
到百度看了下,很多网友会提示修改对应文件的内容,因为之前本地部署都正常,只是后来在Xinference中把原来的qwen2的模型更换为GLM4才出现这样的问题,考虑最初的langchain-chatchat一直与GLM3模型搭配工作良好,所以把模型加载为GLM4,但更换后发现一直出现an error accurd during stream,无法正常对话。于是到github中langchain-chatchat问题反馈板块中看了下,确实有使用GLM4大模型出现同样问题的情况。
原因分析:
提示:这里填写问题的分析:
官网中没有对此问题有更多的信息,只是标题标识为BUG,那应该在目前的版本上没有更好的解决办法,那对使用0.3.1版本的最好办法就是更换LLM模型。
解决方案:
提示:这里填写该问题的具体解决方案:
在LLM模型中重新加载Qwen2.5 14B模型后,问答回复正常,确认确实由于GLM4模型引起的langchain-chatchat 0.3.1的对话问题,至此问题解决。
其他建议:在应用中对各种模型进行了测试,包括Qwen2.5 7B的模型,发现对知识库的支持并不好,对知识库存在的问题回答,有时候也会提示知识库里none没有相似问题的回答。官方只说明不同模型的实际效果各不相同,建议更换模型测试。经过测试发现如果在langchain-chatchat中使用知识库进行问答时,不管使用什么模型,都尽量选择14B以上的模型才能得到一个基本可以实际使用的本地知识库问答,这个和DIFY中即使使用LLAMA 3.2 3B的模型都能得到很好效果的差别还是很大的,所以在langchain-chatchat基于本地知识库的应用如,如果显卡能跑起来的化,尽可能的使用更大不规模的模型才能获得良好的效果。而在DIFY框架中,则可以选择10B以下的模型就可以。