1、采用Langchain的Ollama库,新建get_BaseChatModel方法,按照名称返回ChatOllama或ChatOpenAI实例; 2、在model_config.py.example中添加了ollama相关配置,用于设置ollama模型名称和ollama部署发布地址; 3、在chat.py,knowledge_base_chat.py,file_chat.py,search_engine_chat.py,agent_chat.py中将原有的get_BaseChatOpenAI改为get_BaseChatModel,按照模型名称返回ChatOpenAI或ChatOllama实例; 4、ollama的Prompt不支持类似"{{ input }}"这样的变量格式,只能是单括号且没有空格的定义方式,类似"{input}",因而在部分对话模块添加了字符串替换处理:prompt_template=prompt_template.replace("{ ", "").replace(" }", ""); 5、langchain的ollama没有model_name属性,因此在agent_chat.py添加了判断是否有该属性的代码; 6、对话历史转换部分,由于ollama不支持通过to_msg_template转换后的格式,但是支持tuple格式,因此根据模型名称判断,如果是ollama模型,改为调用to_msg_tuple方法;标签:get,Ollama,py,langchain,Chatchat,chat,ollama From: https://www.cnblogs.com/srszzw/p/18092098
详情可查看PR:
实现了Langchain Chatchat对Ollama的支持 by srszzw · Pull Request #3492 · chatchat-space/Langchain-Chatchat (github.com)