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

相关文章:
LangChain-ChatGLM在WIndows10下的部署
LangChain-ChatGLM在WIndows10下的部署 参考资料 1、LangChain ChatGLM2-6B 搭建个人专属知识库中的LangChain ChatGLM2-6B 构建知识库这一节:基本的逻辑和步骤是对的,但要根据Windows和现状做很多调整。 2、没有动过model_config.py中的“LORA_MOD…...
Telerik UI for ASP.NET Core Crack
Telerik UI for ASP.NET Core Crack Telerik ASP.NET Core还包括MVC和Kendo UI捆绑包(用于JavaScript)、Figma的设计工具包以及文档处理库、用于ASP.NET Core的Telerik REPL、RTL支持、辅助功能和键盘导航、主题化、虚拟课堂培训、详细文档、演示、KBs和世界级支持。使用一整套…...
【TypeScript】中关于 { 声明合并 } 的使用及注意事项
概念: 在TS中,如果定义了多个相同命名的函数,接口或者class 类,那么它们会自动合并成一个类型 函数的合并: 前面章节讲解的函数重载就是使用了定义多个函数的类型进行合并: function reverse(x: number):…...
Day 43
Day 43 1049.最后一块石头的重量II 本题中,石头的重量是 stones[i],石头的价值也是 stones[i] ,可以 “最多可以装的价值为 dp[j]” “最多可以背的重量为dp[j]” dp[j] max(dp[j], dp[j - stones[i]] stones[i]); 最后dp[target]里是…...
服务器安全需要注意的几个方面?
服务器安全需要注意的几个方面? 服务器的核心技术相对复杂,专业人员稀少,尤其在病毒技术快速更新迭代的前提下,安全问题更为突出。这里提供一些实际工作中总结出的安全防护经验,以供参考。 一,增强网络整…...
Mysql数据库第十三课-----------sql语句的拔高3--------直冲云霄
作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 🎂 作者介绍: 🎂🎂 🎂 🎉🎉🎉…...
计算机网络-物理层(一)物理层的概念与传输媒体
计算机网络-物理层(一)物理层的概念与传输媒体 物理层相关概念 物理层的作用用来解决在各种传输媒体上传输比特0和1的问题,进而为数据链路层提供透明(看不见)传输比特流的服务物理层为数据链路层屏蔽了各种传输媒体的差异,使数据…...
差分升级在物联网水表上的实现与应用(学习)
摘要 当越来越多的物联网水表加入抄表系统后,实现了水表数据的信息化,并且当水表终端需要技术更新时,通过网络方式来升级产品可以高效修复设备面临的问题,减少用户损失,降低维护成本,但同时也对有限的网络…...
ubuntu磁盘管理
show partition information 挂载设备在这 显示文件系统信息 build file system mkfs -t ext4 /dev/nvme0n1p4命令作用:将/dev/nvme0n1p4 格式化为 ext4 建立交换分区 mkswap -c -v1 /dev/nvme0n1p4 102400-c:check -v1:新版交换分区 -v0&…...
前端处理后端返回的数据中有\n\n字样的换行符标识
后端返回的数据: 上面圈着的部分就是\n,前端需要将数据进行换行,对于这类型的数据,在前端页面是需要进行稍微处理才能正常显示。如果没有经过处理,那么内容是不会在有换行符的位置进行换行显示的 解决办法1࿱…...
matlab解常微分方程常用数值解法2:龙格库塔方法
总结和记录一下matlab求解常微分方程常用的数值解法,本文将介绍龙格库塔方法(Runge-Kutta Method)。 龙格库塔迭代的基本思想是: x k 1 x k a k 1 b k 2 x_{k1}x_{k}a k_{1}b k_{2} xk1xkak1bk2 k 1 h f ( x k , t …...
数据结构-栈(C语言简单实现)
简介 栈是一种数据结构栈可以用来存放数字一次只能向栈里加入一个数字,一次也只能从栈里获得一个数字栈里到的数字有前后顺序,先进入到的数字在前,后进入的数字在后每次从栈里获取的数字一定是最后面的数字,最后获取的数字一定是…...
山东布谷科技直播软件源码探索高效、稳定直播传输的技术介绍:流媒体传输技术
今天我们探索的是让直播软件源码平台在直播时能够高效、稳定的进行直播传输的技术,而这个技术就是直播软件源码平台的流媒体传输技术,在直播软件源码平台中,流媒体传输技术会将直播的图像、视频、音频等相关的流媒体信号通过网络传递到用户的…...
LeetCode 热题 100 JavaScript -- 74. 搜索二维矩阵
给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非递减顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。 …...
任我行 CRM SQL注入漏洞复现(HW0day)
0x01 产品简介 任我行CRM(Customer Relationship Management)是一款专业的企业级CRM软件,旨在帮助企业有效管理客户关系、提升销售效率和提供个性化的客户服务。 0x02 漏洞概述 任我行 CRM SmsDataList 接口处存在SQL注入漏洞,未…...
[CKA]考试之集群故障排查 – kubelet故障
由于最新的CKA考试改版,不允许存储书签,本博客致力怎么一步步从官网把答案找到,如何修改把题做对,下面开始我们的 CKA之旅 题目为: Task 一个名为wk8s-node-0的节点状态为NotReady,让其他恢复至正常状态…...
VBA技术资料MF42:VBA_从Excel中上面的单元格复制公式
【分享成果,随喜正能量】唯有梦想才配让你不安,唯有行动才能解除你的不安.绳锯木断,水滴石穿。也许你现在做的事情很小,只要你能日积月累的坚持下去,才会发现意义非凡。所谓的成功,便是别人失败的时候你还在…...
ORB-SLAM2第一节---单目地图初始化
单目初始化 1.前提条件(640*480) 参与初始化的两帧各自的特征点数目都需要大于100.两帧特征点成功匹配的数目需要大于或等于100.两帧特征点三角化成功的三维点数目需要大于50. 2.针对条件三 流程如下 记录当前帧和参考帧(第一帧ÿ…...
Postman 汉化及下载
Postman 是一款常用的 API 测试工具,可以方便地进行接口测试、调试和文档编写。本文将详细介绍如何下载安装 Postman 并汉化,包括每个步骤的详细说明。 下载安装 Postman 1、打开浏览器,访问 Postman 官网,下载适用于自己系统的…...
【运维】Zabbix简介及其应用领域
文章目录 1. Zabbix的背景与起源1.1. 监控工具的重要性为什么企业和个人需要监控工具?常见的监控挑战与需求 1.2. Zabbix的诞生背景Zabbix的发展历程Zabbix与其他监控工具的对比 2. Zabbix的核心功能2.1. 数据收集支持的数据收集方法数据的存储与历史记录 2.2. 可视…...
LRCGet:离线音乐库的智能歌词同步解决方案
LRCGet:离线音乐库的智能歌词同步解决方案 【免费下载链接】lrcget Utility for mass-downloading LRC synced lyrics for your offline music library. 项目地址: https://gitcode.com/gh_mirrors/lr/lrcget 在数字音乐时代,我们收藏了成千上万的…...
用Python技能开启副业之路:技术兼职实战指南
导言: 简述Python在自由职业市场的需求(数据分析、自动化脚本、Web开发、爬虫等)。 说明掌握Python技能对拓展收入渠道的优势。 本文目标:提供从技能准备到项目落地的实用路径。 一、 技术储备篇:打造你的Python工具箱 明确你的技术方向: 常见兼职领域:数据清洗与分析、…...
Rust泛型编程深度解析
Rust泛型编程深度解析作为一名从后端开发转向Rust的开发者,我发现Rust的泛型系统是其最强大的特性之一。泛型允许我们编写更加通用和可重用的代码,同时保持类型安全。今天我想分享一下我对Rust泛型编程的理解和实践。什么是泛型? 泛型是一种编…...
TMSpeech:5分钟配置Windows本地实时语音转文字终极指南
TMSpeech:5分钟配置Windows本地实时语音转文字终极指南 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 想要一个完全免费、无需联网的实时语音转文字工具吗?TMSpeech正是你需要的解决方案。这…...
小白程序员入门网络安全:收藏版,从零开始学密码学
小白程序员入门网络安全:收藏版,从零开始学密码学 本文带领读者进入网络安全的世界,从密码学的发展历史、古典密码、分组密码、流密码、杂凑函数到公钥密码,全面介绍了密码学的基础知识和应用。文章涵盖了凯撒密码、维吉尼亚密码…...
【实战指南】利用Docker快速搭建RustDesk私有中继服务器
1. 为什么需要自建RustDesk中继服务器 最近几年远程控制软件越来越火,但商业软件的各种限制让人头疼。我自己就遇到过这样的问题:用某款知名软件远程控制手机,结果免费版每天只能连接3次;换另一款又发现手机端需要额外付费插件&am…...
Netrunner 23评测:日常办公、娱乐、游戏一把抓,这款Linux发行版表现如何?
Netrunner 23评测:一款适合日常办公、娱乐和游戏的Linux发行版,表现究竟如何?Netrunner是一款面向大众的Linux发行版,基于Debian,采用经过调整的KDE桌面环境。它或许拿不到设计奖项,但表现相当出色。KDE Pl…...
避坑指南:在Win11上搞定PSCAD 5.0与MATLAB R2022a联合仿真(附VS2015+Intel Fortran配置)
Win11下PSCAD与MATLAB联合仿真避坑全攻略 电力系统仿真研究者们常常需要在PSCAD和MATLAB之间搭建联合仿真环境,但这个过程就像在雷区行走——稍有不慎就会触发各种兼容性问题。本文将带你避开所有已知的"地雷",从版本选择到配置修复ÿ…...
基于vue的清七体育进销存管理信息系统[vue]-计算机毕业设计源码+LW文档
摘要:随着体育用品市场的不断发展,清七体育在进销存管理方面面临着效率与精准度的挑战。本文旨在设计并实现一个基于Vue框架的进销存管理信息系统,以提升清七体育的业务管理水平。系统采用前后端分离架构,前端运用Vue及相关技术实…...
2026年AI风口已来!小白程序员必备:收藏这份大模型学习路线,轻松解锁职业新可能!
本文详细介绍了从后端学习到转AI开发的学习路线,包括大模型基础认知、核心技术模块、开发基础能力、应用场景开发、项目落地流程以及面试求职冲刺等六大模块。文章旨在帮助有意向进入AI领域或寻求职业发展的程序员,提供一份全面且实用的学习清单和资料&a…...
