win10 安装 Langchain-Chatchat 避坑指南(2023年9月18日v0.2.4版本,包含全部下载内容!)

网上教程都是基于外网或者翻墙的,而且细节极其不清晰,尤其是最关键的模型下载。
另外提一句,我的显卡是:3080Ti 16GB版本,运行之后,显存占用13-14GB

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 Chatchat python==3.10
conda activate Chatchat

2、部署 Langchain-Chatchat

2.1、下载 Langchain-Chatchat

如果GitHub连不上也可以下载这个(v0.2.4版本):https://wwoo.lanzouj.com/iLddg193achi

md D:\Chatchat
cd D:\Chatchat
git clone https://github.com/chatchat-space/Langchain-Chatchat
cd Langchain-Chatchat

2.2、安装其他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.3、下载 GPU版 torch(如果使用CPU,就可以略过这一步)

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

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

如果上面提供的torch安装报错,大概率是当前硬件不匹配
我的安装环境:Python3.10 + intel(CPU) + N卡(GPU)
其他硬件可以自己去找一下:https://download.pytorch.org/whl/torch_stable.html

2.4、模型下载(提供阿里云或百度云下载)

网上都是从内地封禁的地址下载(https://huggingface.co),其他指导书改都不改就直接抄过来,极其不厚道
如果不翻墙,下载模型是最耗时的,下面提供官网下载命令(如果能翻墙的话)

  • THUDM/chatglm2-6b 模型:git clone https://huggingface.co/THUDM/chatglm2-6b
  • moka-ai/m3e-base 模型:git clone https://huggingface.co/moka-ai/m3e-base
  • m3e-base下载地址(阿里云):
    • https://www.aliyundrive.com/s/Ea8f7tvDptd 提取码: 59ev
    • exe文件是压缩文件,双击解压
    • Github(应该不是官方库):https://github.com/wangyingdong/m3e-base
  • chatglm2-6b下载地址(百度云):
    • https://pan.baidu.com/s/1rmKUVXuRWt1K67A2QHb24g?pwd=bu5d 提取码: bu5d
    • exe文件是压缩文件,双击解压,坑爹的阿里云盘不支持分享这个文件,所以改成百度云分享了
    • Github:https://github.com/thudm/chatglm2-6b

2.4.1、m3e-base 模型简介

在这里插入图片描述

2.4.2、chatglm2-6b 模型简介

在这里插入图片描述

2.5、修改配置文件

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

复制模型相关参数配置模板文件 configs/model_config.py.example 存储至项目路径下 ./configs 路径下,并重命名为 model_config.py
复制服务相关参数配置模板文件 configs/server_config.py.example 存储至项目路径下 ./configs 路径下,并重命名为 server_config.py
在这里插入图片描述

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

  • model_config.py 模型配置文件修改
    • 其他参数可以根据配置文件中的注释修改,作者很良心,注释写的很详细,给作者点赞!

在这里插入图片描述
在这里插入图片描述

2.5.2、修改启动URL地址

  • server_config.py 服务配置修改

在这里插入图片描述

3、知识库初始化与迁移

知识库迁移目前我没找到具体方法。

当前项目的知识库信息存储在数据库中,在正式运行项目之前请先初始化数据库(我们强烈建议您在执行操作前备份您的知识文件)。

  • 如果您是从 0.1.x 版本升级过来的用户,针对已建立的知识库,请确认知识库的向量库类型、Embedding 模型与 configs/model_config.py 中默认设置一致,如无变化只需以下命令将现有知识库信息添加到数据库即可:
$ python init_database.py
  • 如果您是第一次运行本项目,知识库尚未建立,或者配置文件中的知识库类型、嵌入模型发生变化,或者之前的向量库没有开启 normalize_L2,需要以下命令初始化或重建知识库:
$ python init_database.py --recreate-vs

4、启动webui.py

一键启动脚本 startup.py,一键启动所有 Fastchat 服务、API 服务、WebUI 服务,示例代码:

$ python startup.py -a

并可使用 Ctrl + C 直接关闭所有运行服务。如果一次结束不了,可以多按几次。

可选参数包括 -a (或–all-webui), --all-api, --llm-api, -c (或–controller), --openai-api, -m (或–model-worker), --api, --webui,其中:

  • –all-webui 为一键启动 WebUI 所有依赖服务;
  • –all-api 为一键启动 API 所有依赖服务;
  • –llm-api 为一键启动 Fastchat 所有依赖的 LLM 服务;
  • –openai-api 为仅启动 FastChat 的 controller 和 openai-api-server 服务;
  • 其他为单独服务启动选项。

4.1、或者使用脚本一键启动

  • Langchain.bat 文件内容
call conda activate Chatchat
call python.exe startup.py -a

在这里插入图片描述

  • 双击Langchain.bat,首次启动,会让你输入邮箱,直接回车跳过就行,不跳过,服务不能启动

在这里插入图片描述

  • 正常启动后,会自动打开Web网页

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Idea创建springboot项目

1、选择file—>new –->project 2、选择“Spring Initializr”,点击“next”,进入工程信息配置界面修改配置信息. 备注:type类型选择“Maven(Generate a Maven based project achieve)”,生成工程路径。 3、点击next按钮&a…

最全测试管理岗面试题(上)

1、怎么改善团队低迷现状? 改善团队低迷的现状是一个重要的管理挑战。以下是一些可能有助于改善团队状态的方法: ① 深入了解问题:首先,需要了解低迷的原因。这可能涉及与团队成员的个人会谈,收集反馈,观…

Java微信支付集成开发

文章目录 [toc] 1.接入前准备1.1 微信商户平台注册商户号1.1.1 微信支付商户接入指引1.1.2 微信支付服务商接入指引 1.2 微信开放平台注册小程序和公众号1.3 微信开放平台注册开发者账号1.4 微信商户平台绑定小程序和公众号的appId账号1.4.1 微信公众平台扫码登录微信公众号账号…

C++:初始化列表,static成员,友元,内部类

个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》 文章目录 前言一、初始化列表二、static成员三、友元四、内部类总结 前言 本篇博客作为C:初始化列表,static成员,友元,内部类的知识总结。 一…

Git学习笔记7

github上多人协助开发演示过程: 张三是项目作者。 李四是一个协同的用户。觉得项目不错,想增加一些功能。 clone与fork的区别: clone:任何人都可以下载作者的整个项目,但是非作者不能push到作者的项目里。&#xff…

MDPI模板报错的问题---提示缺少sty文件

MDPI模板报错的问题—提示缺少sty文件 平时大多数提交IEEE trans模板时大多使用CTEX编译,然而,MDPI模板需要用texlive,二者之间如果先安装CTEX后安装texlive将会导致库文件的冲突。结果将会报缺少sty的文件错。网上提供了很多解决方案&#…

CKA 真题练习(十六)备份还原etcd

题目: 首先,为运行在 https://11.0.1.111:2379 上的现有 etcd 实例创建快照并将快照保存到 /var/lib/backup/etcd-snapshot.db (注意,真实考试中,这里写的是 https://127.0.0.1:2379) 为给定实例创建快照预计能在几秒钟内完成。 …

Linux学习-Redis主从和哨兵

主从复制 一主一从结构 # 配置host61为主服务器 [roothost61 ~]# yum -y install redis [roothost61 ~]# vim /etc/redis.conf bind 192.168.88.61 #设置服务使用的Ip地址 port 6379 #设置服务使用的端口号 使用默认端口即可 [roothost61 ~]# systemctl start redis [rooth…

Discuz论坛网站标题栏Powered by Discuz!版权信息如何去除或是修改?

当我们搭建好DZ论坛网站后,为了美化网站,想把标题栏的Powered by Discuz!去除或是修改,应该如何操作呢?今天飞飞和你分享,在操作前务必把网站源码和数据库都备份到本地或是网盘。 Discuz的版权信息存在两处…

一个Qt鼠标透传场景与事件过滤器的用法

一个Qt鼠标透传场景与事件过滤器的用法 最近工作中遇到一个开发场景,将一个QWidget控件(称为控件A)放入QScrollArea,该控件A重写了QWidget::wheelEvent,根据鼠标滚轮事件缩放内部的绘制视图。当控件过大时&#xff0c…

Python py文件打包成 exe文件

文章目录 安装 pyinstaller 模块pyinstaller 的使用pyinstaller 常用参数多文件打包 安装 pyinstaller 模块 pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple在 pyinstaller 模块安装成功之后,在 Python 的安装目录下的 Scripts 目录下会增加…

Python类练习

文章目录 题目要求步骤 题目要求 1)创建一个 Kid 类,包含姓名,性别,年龄属性和 play 方法 2) 创建一个 Stu 类,继承 Kid 类,同时包含成绩属性,获取成绩方法,努力学习方法,play方法&…

Android13适配-Google官方照片视频选择器

官方照片选择器 图 1. 照片选择器提供了一个直观的界面,便于与您的应用分享照片。 照片选择器的界面可供浏览和搜索,并按日期降序向用户显示其媒体库中的文件。如隐私保护最佳实践 Codelab 中所示,照片选择器为用户提供了一种安全的内置授权…

Nginx配置SSL证书

1 Ubuntu 20.04 上安装 Nginx Nginx 发音 “engine x” ,是一个开源软件,高性能 HTTP 和反向代理服务器,用来在互联网上处理一些大型网站。它可以被用作独立网站服务器,负载均衡,内容缓存和针对 HTTP 和非 HTTP 的反向代理服务器。…

数据结构--插入排序

目录 插入排序 算法实现 算法效率分析 插入排序的优化-折半插入排序 最终的结果:(方式) 优化-折半查找的代码实现 ​回顾 插入排序 算法实现 算法效率分析 空间复杂度和问题规模无关 插入排序的优化-折半插入排序 之前的元素有序&am…

高端知识竞赛中用到的软件和硬件有哪些

现在单位搞知识竞赛,已不满足于用PPT放题,找几个简单的抢答器、计分牌弄一下了,而是对现场效果和科技感要求更高了。大屏要分主屏侧屏,显示内容要求丰富炫酷;选手和评委也要用到平板等设备;计分要大气些&am…

汽油辛烷值的测定 马达法

声明 本文是学习GB-T 503-2016 汽油辛烷值的测定 马达法. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 8 试剂和标准物 8.1 气缸夹套冷却液 若实验室所处海拔的水沸点为100℃1.5℃(212 F3F), 应使用水作为气缸夹套冷却液。当 实验室海拔高度不确定…

S7-1200PLC和LED电子看板通信(TCP/IP)

S7-200SMART PLC和LED电子看板通信应用,请查看下面文章链接: SMART 200 PLC UDP通讯应用LED看板_RXXW_Dor的博客-CSDN博客开放式用户通信 (OUC) 库:数据解析:https://rxxw-control.blog.csdn.net/article/details/121424897这篇博客我们主要介绍S7-1200PLC和LED电子看板通…

java学习--day10 (继承)

文章目录 day9作业今天的内容1.继承1.1.生活中的继承1.2.Java中继承1.3关于父类子类的内存分析1.4重写【重点】1.5重载【overload】 day9作业 1.构造代码块和构造方法的区别 {代码块 } public 类名 () {} 都是实例化一个对象的时候执行的 只不过构造代码…

谷粒商城篇章6 ---- P193-P210 ---- 异步线程池商品详情【分布式高级篇三】

目录 1. 异步 1.1 初始化线程的 4 种方式 1.1.1 继承 Thread 1.1.2 实现 Runnable 接口 1.1.3 实现 Callable 接口 FutureTask 1.1.4 线程池 1.1.5 以上 4 种方式总结: 1.2 线程池详解 1.2.1 初始化线程池的 2 种方式 1.2.1.1 使用 Executors 创建 1.2…