您当前的位置:首页 > 电脑百科 > 软件技术 > 软件技术

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

时间:2023-07-31 14:28:24  来源:今日头条  作者:北斗九号的水哥

ChatGLM2-6B 部署

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

进入你的系统“终端”

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

 

下载源码

# 在终端里面,输入命令:
git clone <https://Github.com/THUDM/ChatGLM2-6B.git>
# 系统这时会自动下载源代码,如果下载不成功,需要自己到Github去手动下载文件
# 地址:<https://github.com/THUDM/ChatGLM2-6B>

安装依赖

# 下载完成后,依次在终端内运行如下命令:
1、cd /xxx/xxxx/ChatGLM2-6
# 进入模型所在的文件夹
2、pip3 install -r requirements.txt
# 运行依赖文件的安装
# 其中 transformers 库版本推荐为 4.30.2,torch 推荐使用 2.0 及以上的版本,以获得最佳的推理性能pip install -r requirements.txt

下载模型

# 推荐从[这里](<https://cloud.tsinghua.edu.cn/d/674208019e314311ab5c/>)手动下载模型参数文件,并将下载的文件替换到本地的 chatglm2-6b 目录下。

参数调整

# 因为前面改了模型默认下载地址,所以这里需要改下路径参数
# 找到模型文件夹中的 web_demo.py 文件,并用文本编辑形式打开
# 找到以下代码,并将里面的“xxx/xxxxx//chatglm2-6b”改成自己本地的文件夹路径
# 不知道如何查找Mac文件夹路径的,看[这里](<https://www.google.com/search?q=mac%E6%96%87%E4%BB%B6%E5%A4%B9%E8%B7%AF%E5%BE%84&oq=mac%E6%96%87%E4%BB%B6%E5%A4%B9%E8%B7%AF%E5%BE%84&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIHCAEQABiABNIBDTc3OTAwMTQ0ajBqMTWoAgCwAgA&sourceid=chrome&ie=UTF-8>)
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 模式启动

# 以上顺利完成后,在终端输入命令:
Python/ target=_blank class=infotextkey>Python3 web_demo.py

你会看到以下界面,这也代表你的ChatGLM2 顺利完成了本地部署。

 

LangChain + ChatGLM2-6B 构建知识库

项目部署

下载源码

# 同样的方法,进入“终端”,下载LangChain-ChatGLM 项目的源码
git clone <https://github.com/chatchat-space/langchain-ChatGLM.git>
# 系统这时会自动下载源代码,如果下载不成功,需要自己到Github去手动下载文件
# 地址:<https://github.com/chatchat-space/langchain-ChatGLM>

安装依赖

1、cd /xxx/xxxx/langchain-ChatGLM
# 进入模型所在的文件夹
2、pip3 install -r requirements.txt
# 运行依赖文件的安装
# 安装的过程应该会有很多问题,我们放在最后的模块来讲,如果迫不及待,也可以跳到最后看解决方案

下载向量模型

# 下载 Embedding 模型text2vec-large-chinese,依然推荐手动到主页下载
# 地址:<https://huggingface.co/GanymedeNil/text2vec-large-chinese/tree/main>

# 到这里,你本地应该有三个文件夹的内容,分别是:“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地址:<http://0.0.0.0:7860>,复制到浏览器中打开

看到以下界面,这也代表你的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,在上面查看是否有同类型的问题被提出过,找到官方或社区的答案。上面这里的问题,我是自己解决了之后,才发现官方已经解答过这个问题了。



Tags:ChatGLM2-6B   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
使用 Triton 部署 chatglm2-6b 模型
一、技术介绍 NVIDIA Triton Inference Server 是一个针对 CPU 和 GPU 进行优化的云端和推理的解决方案。支持的模型类型包括 TensorRT、TensorFlow、PyTorch (meta-llama/L...【详细内容】
2023-09-27  Search: ChatGLM2-6B  点击:(364)  评论:(0)  加入收藏
非程序员小白版本地部署ChatGLM2-6B +LangChain 个人知识库模型
ChatGLM2-6B 部署我这次采用的是本地部署,机器是 Macbook pro M1 64G进入你的系统“终端”# 键盘:command + 空格键 # 搜索“终端”,点击“打开”,进入“终端”界面 下载源码#...【详细内容】
2023-07-31  Search: ChatGLM2-6B  点击:(837)  评论:(0)  加入收藏
▌简易百科推荐
Win10/Win11和 macOS用户反馈:谷歌云服务“捆绑”系统 DNS 设置
IT之家 4 月 6 日消息,谷歌公司承认旗下的 Google One 订阅服务中存在问题,在 Windows 10、Windows 11 以及 macOS 系统上会更改系统 DNS 设置,变更为 8.8.8.8 地址。Google On...【详细内容】
2024-04-08    IT之家  Tags:Win10   点击:(4)  评论:(0)  加入收藏
微软 Edge 浏览器将迎来“内存限制器”功能,用户可自主控制 Edge 内存占用
IT之家 3 月 28 日消息,微软即将为其 Edge 浏览器带来一项实用新功能,据悉该公司正在测试一项内置的内存限制器,这项功能可以让用户限制 Edge 所占用的内存,防止浏览器超出内存...【详细内容】
2024-03-29    IT之家  Tags:Edge   点击:(14)  评论:(0)  加入收藏
一寸照片的大小如何压缩?四个实测效果很好的方法
一寸照片作为生活中常见的尺寸之一,常用于各类证件照与证明文件的制作。然而,受限于其较为狭小的尺寸,上传及打印过程中很容易出现尺寸超限的情况。所以,这个时候就需要对其体积...【详细内容】
2024-03-18  宠物小阿涛    Tags:压缩   点击:(12)  评论:(0)  加入收藏
手机投屏到电脑/电视的方法
方法一:Win10自带的投影功能1、将手机和电脑连接同一个无线网络。2、选择【开始】>【设置】>【系统】>【投影到此电脑】3、将默认的始终关闭的选项更改为所有位置都可用。4、...【详细内容】
2024-03-18    老吴讲I  Tags:投屏   点击:(15)  评论:(0)  加入收藏
微软商店怎么卸载应用 一分钟快速看懂!
微软商店怎么卸载应用 一分钟快速看懂!微软公司(Microsoft Corporation)是一家全球领先的科技企业,总部位于美国华盛顿州的雷德蒙德。成立于1975年,由比尔&middot;盖茨和保罗&mid...【详细内容】
2024-02-27  婷婷说体育    Tags:微软商店   点击:(35)  评论:(0)  加入收藏
微软Edge浏览器新功能:手机上传 配对设备直接传文件
2月21日,微软最新的稳定版本Edge浏览器在Windows 11/10端加入了“手机上传”功能。这一功能允许用户直接从移动设备上上传文件,适用于所有网站,并且没有文件格式限制。要使用这...【详细内容】
2024-02-21    中关村在线  Tags:Edge   点击:(127)  评论:(0)  加入收藏
什么是虚拟机?你知道吗?
谁都没想到 Sun 公司技术如此的强大,却在之后的岁月里逐渐走向陨落,因为不懂销售和运营,导致公司财务逐渐出现亏损,在 2009 年,Oracle 公司以现金方式收购 Sun 公司,交易价格达 74...【详细内容】
2024-02-19  Java极客技术  微信公众号  Tags:虚拟机   点击:(44)  评论:(0)  加入收藏
怎么查看电脑使用记录
查看电脑使用记录是一项常见的操作,可以帮助用户了解自己或其他人在电脑上进行了哪些操作。下面是一个详细的解释,包括查看浏览历史、文件访问记录、应用程序使用记录以及其他...【详细内容】
2024-02-06  编程资料站    Tags:使用记录   点击:(81)  评论:(0)  加入收藏
电脑虚拟内存怎么设置?1分钟快速增加内存!
“我电脑里的内存好像不太够用,因此,我想在电脑里增加一些虚拟内存。不知道我应该怎么操作呢?有什么比较简单的此操作方法吗?” 虚拟内存是计算机系统内存管理的一种技术,它为程...【详细内容】
2024-02-06  数据蛙恢复专家    Tags:虚拟内存   点击:(61)  评论:(0)  加入收藏
新手制作ai写真都是用哪些工具?
春节即将来临,你的朋友圈是否已经被各种春节主题的个人写真刷屏了?看到那么多美照,你是否也心动了?其实,制作个人写真并不需要专门去拍摄,现在有很多AI写真软件可以轻松制作出自己...【详细内容】
2024-01-31  雨后海棠    Tags:ai写真   点击:(60)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条