langchain本地知识库(langchain 本地模型)不要告诉别人
ChatGLM2-6B 部署我这次采用的是本地部署,机器是 Macbook pro M1 64G进入你的系统“终端”# 键盘:command +
ChatGLM2-6B 部署我这次采用的是本地部署,机器是 Macbook pro M1 64G进入你的系统“终端”# 键盘:command + 空格键 # 搜索“终端”,点击“打开”,进入“终端”界面
下载源码# 在终端里面,输入命令:git clone # 系统这时会自动下载源代码,如果下载不成功,需要自己到Github去手动下载文件
# 地址:安装依赖# 下载完成后,依次在终端内运行如下命令:1、cd/xxx/xxxx/ChatGLM2-6# 进入模型所在的文件夹
2、pip3install-rrequirements.txt# 运行依赖文件的安装# 其中 transformers 库版本推荐为 4.30.2,torch 推荐使用 2.0 及以上的版本,以获得最佳的推理性能pip install -r requirements.txt
下载模型# 推荐从[这里]()手动下载模型参数文件,并将下载的文件替换到本地的 chatglm2-6b 目录下。
参数调整# 因为前面改了模型默认下载地址,所以这里需要改下路径参数# 找到模型文件夹中的 web_demo.py 文件,并用文本编辑形式打开# 找到以下代码,并将里面的“xxx/xxxxx//chatglm2-6b”改成自己本地的文件夹路径
# 不知道如何查找Mac文件夹路径的,看[这里]()
tokenizer = AutoTokenizer.from_pretrained("/xxx/xxxxx/chatglm2-6b", trust_remote_code=True) model = AutoModel.from_pretrained(
"/xxx/xxxxx//chatglm2-6b", trust_remote_code=True).cuda() # 如果想要本地访问,需要修改此处最后的“.cuda()”为“.to(mps)”model
= AutoModel.from_pretrained("/xxx/xxxxx//chatglm2-6b", trust_remote_code=True).to(mps) Web 模式启动# 以上顺利完成后,在终端输入命令:
python3 web_demo.py 你会看到以下界面,这也代表你的ChatGLM2 顺利完成了本地部署。
LangChain + ChatGLM2-6B 构建知识库项目部署下载源码# 同样的方法,进入“终端”,下载LangChain-ChatGLM 项目的源码git clone
# 系统这时会自动下载源代码,如果下载不成功,需要自己到Github去手动下载文件# 地址:安装依赖
1、cd/xxx/xxxx/langchain-ChatGLM# 进入模型所在的文件夹2、pip3install-rrequirements.txt# 运行依赖文件的安装# 安装的过程应该会有很多问题,我们放在最后的模块来讲,如果迫不及待,也可以跳到最后看解决方案
下载向量模型# 下载 Embedding 模型text2vec-large-chinese,依然推荐手动到主页下载# 地址:
# 到这里,你本地应该有三个文件夹的内容,分别是:“ChatGLM2模型文件夹”、“LangChain-ChatGLM文件夹”、“text2vec模型文件夹”,如果不是,请回头看看漏了哪一步参数调整# 模型下载完成后,请在LangChain-ChatGLM文件夹里面,找到“configs/model_config.py”文件,对里面的embedding_model_dict和llm_model_dict参数进行修改。
主要修改的是文件地址“xxx”的项目为本地的模型文件夹地址 embedding_model_dict = { "ernie-tiny": "nghuyong/ernie-3.0-nano-zh"
, "ernie-base": "nghuyong/ernie-3.0-base-zh", "text2vec-base": "shibing624/text2vec-base-chinese"
, "text2vec": "/xxx/xxxx/text2vec", "m3e-small": "moka-ai/m3e-small", "m3e-base": "moka-ai/m3e-base"
, } llm_model_dict = { ... "chatglm2-6b": { "name": "chatglm2-6b", "pretrained_model_name"
: "/xxx/xxxx/chatglm2-6b", "local_model_path": None, "provides": "ChatGLM" }, ... }
# LLM 名称改成 chatglm2-6bLLM_MODEL = "chatglm2-6b"项目启动Web 模式启动# 进入LangChain-ChatGLM 文件夹cd/xxx/xxxx/langchain-ChatGLM
# 启动项目python3webui.py# 如果没有自己打开,可以找到终端代码块里面的web地址:,复制到浏览器中打开看到以下界面,这也代表你的LangChain-ChatGLM顺利完成了本地部署,可以开始进阶的玩耍啦
遇到的问题汇总 & 解决方案# 对,哪有那么顺利,过程中,也是遇到了很多挑战的安装依赖文件出错# 在安装“requirements.txt” 文件的时候,经常出现卡住的情况# 解决方案1:看到卡住的模块,就手动安装,通过以下命令。
1、pip3 install 或 pip3 install--upgrade # 解决方案2:修改“requirements.txt” 文件里面的文件,先“注释”掉卡住的文件,后续再单独安装,可以通过网络搜索找到无法安装的解决方案
2、用文本编辑模式打开“requirements.txt”,然后在卡住的项目前面加“#“号# 当安装过程中出现长时间卡顿,或者严重的错误时,可以使用以下命令终止当前运行 Ctrl + C 组合键导入本地知识库后,无法使用
# 安装完成后,导入文件,使用个人知识库时提示: File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/langchain/vectorstores/faiss.py"
, line 268, insimilarity_search_with_score docs =self.similarity_search_with_score_by_vector( TypeError:
MyFAISS.similarity_search_with_score_by_vector() got an unexpected keyword argument filter# 解决方案1,通过上面的文件路径,找到问题的代码函数,将对应的“filter” 注释掉。
# 解决方案2,找到官方的Gibhub:https://github.com/chatchat-space/langchain-ChatGLM/issues,在上面查看是否有同类型的问题被提出过,找到官方或社区的答案。
上面这里的问题,我是自己解决了之后,才发现官方已经解答过这个问题了
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186