当前位置: 首页 > news >正文

LangChain-ChatGLM在WIndows10下的部署

LangChain-ChatGLM在WIndows10下的部署

参考资料

1、LangChain + ChatGLM2-6B 搭建个人专属知识库中的LangChain + ChatGLM2-6B 构建知识库这一节:基本的逻辑和步骤是对的,但要根据Windows和现状做很多调整。

2、没有动过model_config.py中的“LORA_MODEL_PATH_BAICHUAN”这一项内容,却报错:对报错“LORA_MODEL_PATH_BAICHUAN”提供了重要解决思路,虽然还不是完全按文中的方式解决的。

3、[已解决ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问。: ‘e:\anaconda\install_r])(https://blog.csdn.net/yuan2019035055/article/details/127078460)

解决方案

一、下载源码

采用git clone方式一直不成功,建议直接到github上搜索langchain-chatglm,在https://github.com/chatchat-space/langchain-ChatGLM页面,点击“CODE”->点击“Download ZIP”,直接下载源码,然后将文件夹改为名LangChain-ChatGLM,放到D:\_ChatGPT\langchain-chatglm_test目录下:

二、安装依赖

1、进入Anaconda Powershell Prompt

2、进入虚拟环境

conda activate langchain-chatglm_test

3、进入目录

cd D:\_ChatGPT\langchain-chatglm_test\langchain-ChatGLM

4、安装依赖

pip install -r requirements.txt --user     
pip install peft
pip install timm
pip install scikit-image
pip install torch==1.13.1+cu116 torchvision torchaudio  -f  https://download.pytorch.org/whl/cu116/torch_stable.html

三、下载模型

3.1、下载chatglm2-6b模型

1、进入Anaconda Powershell Prompt

2、创建保存chatglm2-6b的huggingface模型的公共目录。之所以创建一个公共目录,是因为这个模型文件是可以被各种应用共用的。注意创建目录所在磁盘至少要有30GB的空间,因为chatglm2-6b的模型文件至少有23GB大小。并进入该目录

mkdir -p D:\_ChatGPT\_common
cd D:\_ChatGPT\_common

3、安装 git lfs

git lfs install

4、在这里下载chatglm2-6b的huggingface模型文件。

git clone https://huggingface.co/THUDM/chatglm2-6b

5、下载完成后,将模型文件的目录名改为chatglm2-6b,因为Windows下目录如果有减号,后续应用处理会出错。

6、如果之前已下载该模型,则不必重复下载。

3.2、下载text2vec模型

1、进入Anaconda Powershell Prompt,进入公共目录

cd D:\_ChatGPT\_common

2、安装 git lfs

git lfs install

3、在这里下载text2vec的huggingface模型文件。

git clone https://huggingface.co/GanymedeNil/text2vec-large-chinese

4、下载完成后,将目录改为text2vev,因为Windows下目录如果有减号,后续应用处理会出错。

四、参数调整

4.1、model_config.py文件

1、进入configs目录,修改其下的model_config.py文件,
对embedding_model_dict的参数

embedding_model_dict = {..."text2vec": r"D:\_ChatGPT\_common\text2vec",...
}

修改llm_model_dict参数。

llm_model_dict = {..."chatglm-6b": {..."pretrained_model_name": r"D:\_ChatGPT\_common\chatglm2_6b","...},...
}

将LLM_MODEL的值做修改:

LLM_MODEL = "chatglm2-6b"

4.2、loader.py文件

1、进入modes\loader目录,修改loader.py文件

2、在if LORA_MODEL_PATH_BAICHUAN:前加一句LORA_MODEL_PATH_BAICHUAN = False,如下所示:

            if torch.cuda.is_available() and self.llm_device.lower().startswith("cuda"):# 根据当前设备GPU数量决定是否进行多卡部署num_gpus = torch.cuda.device_count()if num_gpus < 2 and self.device_map is None:# if LORA_MODEL_PATH_BAICHUAN is not None:LORA_MODEL_PATH_BAICHUAN = Falseif LORA_MODEL_PATH_BAICHUAN:

3、在每一个mode = XXX.from_pretrained(XXX)后面加上.quantize(8).cuda(),对模型进行量化,否则加载会报内存不够的错误。

五、启动

1、关闭fanqiang软件
2、运行如下命令

python .\webui.py

3、访问http://localhost:7860

六、上传文档进行问答

1、在http://localhost:7860界面,在请选择要加载的知识库,选择samples

2、向知识库中添加一个文件,点击上传文件并加载,等待几分钟以后,模型完成训练,即可针对上传的文件进行问答。

http://www.lryc.cn/news/122054.html

相关文章:

  • Telerik UI for ASP.NET Core Crack
  • 【TypeScript】中关于 { 声明合并 } 的使用及注意事项
  • Day 43
  • 服务器安全需要注意的几个方面?
  • Mysql数据库第十三课-----------sql语句的拔高3--------直冲云霄
  • 计算机网络-物理层(一)物理层的概念与传输媒体
  • 差分升级在物联网水表上的实现与应用(学习)
  • ubuntu磁盘管理
  • 前端处理后端返回的数据中有\n\n字样的换行符标识
  • matlab解常微分方程常用数值解法2:龙格库塔方法
  • 数据结构-栈(C语言简单实现)
  • 山东布谷科技直播软件源码探索高效、稳定直播传输的技术介绍:流媒体传输技术
  • LeetCode 热题 100 JavaScript -- 74. 搜索二维矩阵
  • 任我行 CRM SQL注入漏洞复现(HW0day)
  • [CKA]考试之集群故障排查 – kubelet故障
  • VBA技术资料MF42:VBA_从Excel中上面的单元格复制公式
  • ORB-SLAM2第一节---单目地图初始化
  • Postman 汉化及下载
  • 【运维】Zabbix简介及其应用领域
  • vue 设置了表单验证的el-input,在触发验证后无法继续输入的问题解决
  • 基于smardaten无代码开发智能巡检系统,让无人机飞得更准
  • 51项目——智能垃圾桶
  • HCIP——堆叠技术
  • 芯片工程师求职题目之CPU篇(3)
  • Grounding dino + segment anything + stable diffusion 实现图片编辑
  • 如何选择更快更稳定的存储服务器
  • 此芯科技加入 openKylin 开源社区
  • 开发一个RISC-V上的操作系统(七)—— 硬件定时器(Hardware Timer)
  • 电池的正极是带正电?
  • Go 协程为什么比进程和线程占用的系统资源低?