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 模型简介

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

2.4.2、chatglm2-6b 模型简介

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

2.5、修改配置文件

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

复制模型相关参数配置模板文件 configs/model_config.py.example 存储至项目路径下 ./configs 路径下,并重命名为 model_config.py
复制服务相关参数配置模板文件 configs/server_config.py.example 存储至项目路径下 ./configs 路径下,并重命名为 server_config.py
win10 安装 Langchain-Chatchat 避坑指南(2023年9月18日v0.2.4版本,包含全部下载内容!)_第3张图片

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

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

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

2.5.2、修改启动URL地址

  • server_config.py 服务配置修改

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

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

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

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

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

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

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

你可能感兴趣的:(langchain,本地AI模型,chatchat,ChatGLM2-6B)