非程序员小白版本地部署ChatGLM2-6B +LangChain 个人知识库模型

ChatGLM2-6B 部署

我这次采用的是本地部署,机器是 Macbook pro M1 64G

进入你的系统“终端”

# 键盘:command + 空格键 
# 搜索“终端”,点击“打开”,进入“终端”界面

下载源码

# 在终端里面,输入命令:
git clone 
# 系统这时会自动下载源代码,如果下载不成功,需要自己到Github去手动下载文件
# 地址:

安装依赖

# 下载完成后,依次在终端内运行如下命令:
1、cd /xxx/xxxx/ChatGLM2-6
# 进入模型所在的文件夹
2、pip3 install -r requirements.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、pip3 install -r requirements.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
# 启动项目
python3 webui.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, in similarity_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,在上面查看是否有同类型的问题被提出过,找到官方或社区的答案。上面这里的问题,我是自己解决了之后,才发现官方已经解答过这个问题了。

展开阅读全文

页面更新:2024-05-10

标签:白版   模型   终端   知识库   程序员   文件夹   路径   命令   解决方案   参数   地址   文件   项目

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top