win10 安装 langchain-chatglm 避坑指南(2023年6月21日最新版本)

news2024/9/30 3:22:09

官网看起来安装很简单,网上教程也是,但实际上我耗费了两天时间,查阅了当前网络上所有可查阅的资料,重复「安装-配置-卸载」十几遍,总结出的安装方法。

1、安装Anaconda(这个就不啰嗦了,网上安装教程一堆)

1.1、先安装Anaconda(https://www.anaconda.com/download/)
1.2、点击“开始”-打开Anaconda Powershell Prompt
1.3、更新 Conda 至最新版本

conda update conda

测试是否安装成功

conda list

如果显示 Conda 及其内部包的列表,则说明安装成功。
1.4、创建虚拟环境

conda create -n ChatGLM python==3.10
conda activate ChatGLM

2、部署 langchain-ChatGLM

2.1、下载 langchain-ChatGLM

md D:\ChatGLM
cd D:\ChatGLM
git clone https://github.com/imClumsyPanda/langchain-ChatGLM
cd langchain-ChatGLM

2.2、下载 pycocotools

下载链接:https://wwoo.lanzouk.com/i4NDa0zo2xqb

  • 下载解压,并复制到当前虚拟Python环境中

请添加图片描述

2.3、安装其他Python第三方库

# -i http://pypi.douban.com --trusted-host pypi.douban.com:使用豆瓣源进行加速
pip install -r requirements.txt -i http://pypi.douban.com --trusted-host pypi.douban.com

2.4、下载 torch

下载地址:https://www.aliyundrive.com/s/v5oLJ3DyWS4
提取码: m0y4

  • pip安装torch(exe文件是压缩文件,双击解压,因为阿里云盘不支持分享压缩文件,百度盘又限速)
# 文件解压到 D:\ChatGLM\langchain-ChatGLM
# 之所以使用这个版本,是因为这个版本支持GPU加速(cp310即Python3.10版本)
pip install torch-2.0.1+cu117-cp310-cp310-win_amd64.whl

2.5、模型下载

下载地址:https://openi.pcl.ac.cn/Learning-Develop-Union/LangChain-ChatGLM-Webui/datasets
GitHub:https://github.com/THUDM/ChatGLM-6B

  • 根据硬件条件下载(硬件要求依次降低):chatglm-6b > chatglm-6b-int8 > chatglm-6b-int4
  • 还要下载另外两个基础模型:text2vec-large-chinese,text2vec-base-chinese
  • 也支持其他模型,可以根据自己的硬件水平下载,配置方法与下面讲解相同
    在这里插入图片描述

2.6、修改配置文件

  • 自行创建「model」文件夹
  • 下载模型解压到「model」文件夹中
  • 下面截图有案例

2.6.1、修改下载到本地的模型路径

  • 如果下面修改的配置文件引用报错,可以尝试在同级目录添加一个空白的「__init__.py」文件
    请添加图片描述
    请添加图片描述
    请添加图片描述

2.6.2、修改默认启动模型

请添加图片描述

2.6.3、修改启动URL地址

  • 改成本机IP的好处是可以异地访问
    请添加图片描述

3、启动webui.py

python webui.py
# 或者使用绝对路径启动
D:\anaconda3\envs\ChatGLM\python.exe D:\langchain-ChatGLM\webui.py

请添加图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/670597.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot 一个注解,搞定业务操作日志记录

需求描述与分析 客户侧提出需求很简单:要对几个关键的业务功能进行操作日志记录,即什么人在什么时间操作了哪个功能,操作前的数据报文是什么、操作后的数据报文是什么,必要的时候可以一键回退。 日志在业务系统中是必不可少的一…

父类与子类的上下类型转换

文章目录 前言一、上下类型转换是什么?二、使用方法 1.父类与子类的转换2.instanceof关键字总结 前言 动物有共性的行为,例如吃。狗属于动物中的一类,对于“吃"这种行为,又有自己独特的见解,“吃狗粮”。当我们把…

STM32--基于固件库(Library Faction)的流水灯、静态数码管

目录 一、GPIO介绍 二、基于固件库(Library Faction)的流水灯 三、基于固件库(Library Faction)的静态数码管 一、GPIO介绍 GPIO库函数,对GPIO可进行一些,读写控制的操作,本文章应用的就是…

短视频矩阵是什么?源码搭建技术干货

一、短视频账号矩阵是什么? 短视频账户矩阵实际上是通过一些技术手段将账户和账户连接起来的。这种账户有一定的相关性。通过相互吸引流量,可以扩大账户的影响力,使账户拥有更多的粉丝和更高的价值。短视频账户矩阵属于短视频营销策划的高级…

Python 带你制作自动评论程序,让你喜欢的人一眼看到你

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 知识点: 动态数据抓包 requests发送请求 开发环境: python 3.8 运行代码 pycharm 2022.3 辅助敲代码 requests pip install requests 第三方模块安装: win R 输入cmd 输入安装命令 pip install 模块名 (…

深入了解CSS颜色架构:提升你的网页设计技巧

微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势,学习途径等等。 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。 快来免费体验ChatGpt plus版本的,我们出的钱 体验地…

【Java】JUC下的常用接口和类

Callable接口ReentrantLock常用的方法创建公平锁创建读写锁唤醒机制ReentrantLock与synchronized的区别 原子类工具类SemaphoreCountDownLatchCyclicBarrier-循环栅栏 线程安全的集合类CopyOnWriteArrayList多线程环境使用队列多线程环境使用哈希表ConcurrentHashMap java.util…

OpenResty 中的 Nginx 基础知识

Nginx 版本 OpenResty 的版本,落后于标准 Nginx 版本不少,所以较新的 Nginx 支持的功能,OpenResty 不一定支持。 Nginx 进程模型 当启动 Nginx 后我们使用 ps 来查看相关进程: $ ps -ef --forest | grep nginx root 32475…

OpenGL超级第12章学习笔记:管线监控

前言 本篇在讲什么 OpenGL蓝宝书第十二章学习笔记之管线监控 本篇适合什么 适合初学OpenGL的小白 本篇需要什么 对C语法有简单认知 对OpenGL有简单认知 最好是有OpenGL超级宝典蓝宝书 依赖Visual Studio编辑器 本篇的特色 具有全流程的图文教学 重实践&#xff0c…

C++编译过程

How the C Compiler works? 文章目录 How the C Compiler works?compilingExamples总结欢迎关注公众号【三戒纪元】 通过编程,是的text程序编程可执行文件,基本上主要有2个操作发生: compiling 编译linking 链接 compiling C 编辑器要做的…

VXLAN:数据中心网络的未来

概要 随着云计算和虚拟化技术的快速发展,数据中心网络正面临着越来越大的挑战。传统的网络架构在适应大规模数据中心的需求方面存在一些限制,如扩展性、隔离性和灵活性等方面。为了克服这些限制,并为数据中心网络提供更好的性能和可扩展性&am…

【好书精读】网络是怎样连接的 之 连接服务器

(该图由AI制作 学习AI绘图 联系我) 目录 1 连接是什么意思 1.1 连接实际上是通信双方交换控制信息 2 负责保存控制信息的头部 2.1 客户端与服务器之间交换的控制信息 连接操作的实际过程 1 连接是什么意思 创建套接字之后 , 应用程序 …

Selenium教程__使用execute_script执行JavaScript(11)

selenium的包含的方法已能完全满足UI自动化,但是有些时候又不得不用到执行JS的情况,比如在一个富文本框中输入1W个字,使用send_keys方法将经历漫长的输入过程,如果换成使用JS的innerHTML方法就能够很快的完成输入。 selenium执行…

Shell 函数实现Go语言多版本管理轻量级方案

现有的工具方案 https://github.com/moovweb/gvmhttps://github.com/voidint/g 我的方案 优点: 原生:基于 go 语言本身支持多版本的能力实现,可以下载任何官方发布的版本简单:shell 函数实现,直接集成到 bashrc 或…

软件测试技能,JMeter压力测试教程,HTTP Cookie管理器(四)

目录 前言 一、场景案例 二、HTTP Cookie管理器 三、302 重定向 前言 Web网站的请求大部分都有cookies,jmeter的HTTP Cookie管理器可以很好的管理cookies 我用的 jmeter5.1 版本,直接加一个HTTP Cookie管理器放到请求的最前面,就可以自…

用docker搭建selenium grid分布式环境实践

目录 前言: selenium jar包直接启动节点 用docker命令直接启动 docker-compose 启动 Hub和node在一台机器上 Hub和node不在一台机器上 遗留问题 总结 前言: Selenium是一个流行的自动化测试工具,支持多种编程语言和多种浏览器。Sele…

【微服务架构演进】一文读懂单片到微服务架构的模式和最佳实践

在本文中,我们将学习如何使用设计模式、原则和最佳实践来设计微服务架构。我们将使用正确的架构设计模式和技术。 在本文结束时,您将了解如何在微服务分布式架构上设计系统以实现高可用性、高可扩展性、低延迟和对网络故障的弹性,从而处理数百…

学习Spring之声明式事务

什么是事务? 一个业务有一组操作,要么都成功,要么都失败 事务的四大特性:ACID A 原子性:一组操作,要么都成功,要么都失败 C 一致性 :事务的前后要保证事务的一致性 I 隔离性 &…

QLabel的使用

QLabel介绍 QLabel 是 Qt 框架中的一个控件类,用于显示文本或图像。它可以在窗口或其他容器中显示静态文本,并且可以根据需要设置格式、对齐方式和尺寸。 主要作用如下: 显示文本内容:QLabel 可以显示文字内容,可以…

【每天40分钟,我们一起用50天刷完 (剑指Offer)】第二天

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…