• 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
    
    • 1

    测试是否安装成功

    conda list
    
    • 1

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

    conda create -n Chatchat python==3.10
    conda activate Chatchat
    
    • 1
    • 2

    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
    
    • 1
    • 2
    • 3
    • 4

    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
    
    • 1
    • 2

    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
    
    • 1
    • 2
    • 3

    如果上面提供的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
    • 其他方式下载模型(国内镜像网站)
    # pip install huggingface_hub
    curl -O https://www.aliendao.cn/model_download.py
    # 模型下载格式
    python model_download.py --repo_id 模型ID --mirror
    # 举例
    python model_download.py --repo_id moka-ai/m3e-base --mirror
    python model_download.py --repo_id THUDM/chatglm2-6b --mirror
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    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
    
    • 1
    • 如果您是第一次运行本项目,知识库尚未建立,或者配置文件中的知识库类型、嵌入模型发生变化,或者之前的向量库没有开启 normalize_L2,需要以下命令初始化或重建知识库:
    $ python init_database.py --recreate-vs
    
    • 1

    4、启动webui.py

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

    $ python startup.py -a
    
    • 1

    并可使用 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
    
    • 1
    • 2

    在这里插入图片描述

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

    在这里插入图片描述

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

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

  • 相关阅读:
    大衍数列-蓝桥杯?-Lua 中文代码解题第2题
    剖析 Vue.js 内部运行机制
    C语言实现几种常见的排序算法
    AI-Chat,一款集全网ai功能的应用(附下载链接)
    ssm工业关键设备监测运维系统毕业设计-附源码191400
    题目 1240: 生日日数
    java毕业设计车辆监管系统mybatis+源码+调试部署+系统+数据库+lw
    TypeScript-01基础知识
    你学不好英语,可能是精神内耗太多了
    oracle的update语句where条件后的索引字段为空时不执行
  • 原文地址:https://blog.csdn.net/weixin_43094965/article/details/133044128