本地部署 Langchain-Chatchat & ChatGLM

有何m不可發表於2024-03-17

一、模型&環境介紹#

1. ChatGLM#

  • github 地址:https://github.com/THUDM
  • 模型地址:https://huggingface.co/THUDM

2. m3e#

  • 模型地址:https://huggingface.co/moka-ai/m3e-base/

3. text2vec#

  • 模型地址:https://huggingface.co/GanymedeNil/text2vec-large-chinese/

4. Langchain-Chatchat#

  • github 地址: https://github.com/chatchat-space/Langchain-Chatchat

5. Python (建議Python 版本 3.8.1 - 3.10)#

  • 下載地址:https://www.python.org/downloads/release/

6. torch#

  • 安裝官網:https://pytorch.org/

7. conda#

  • 下載官網:https://docs.conda.io/en/latest/miniconda.html

二、安裝#

作者本人電腦環境是:
  • Windows 10
  • Intel 處理器
  • N卡 3060Ti 12G

1. 建議先安裝 conda (也可以不使用 conda )#

https://blog.csdn.net/sonapingo/article/details/130900170
https://blog.csdn.net/qq_41264055/article/details/132092447

2. 安裝後為 conda 設定清華源#

  • 長期切換通道,推薦生成.condarc檔案後手動編輯檔案內容,而不是透過命令列一個一個新增channel
  • .condarc檔案預設不生成,執行一下命令就可以在使用者目錄下生成:conda config –set show_channel_urls yes
  • 在.condarc檔案中複製以下內容(找不到該檔案的可以conda info看看"user config file"的路徑)
Copy
# This is a sample .condarc file.
# It adds mirror-channel(Tsinghua University) of anaconda and enables
# the show_channel_urls option.

# channel locations. These override conda defaults, i.e., conda will
# search *only* the channels listed here, in the order given.
# Use "defaults" to automatically include all default channels.
# Non-url channels will be interpreted as Anaconda.org usernames
# (this can be changed by modifying the channel_alias key; see below).
# The default is just 'defaults'.
channels:
  - defaults
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

# Show channel URLs when displaying what is going to be downloaded
# and in 'conda list'. The default is False.
show_channel_urls: true

# For more information about this file see:
# https://conda.io/docs/user-guide/configuration/use-condarc.html
  • 然後conda clean -i 清除索引快取

3. git 和 git lfs 安裝#

  • 確保機器安裝了 git 環境:https://git-scm.com/
  • 因為模型過大,需要安裝 lfs 支援: git lfs install

4. 下載 ChatGLM2-6B 模型到本地,要根據自己的顯示卡視訊記憶體下載合適的模型,比如作者本人需要下載 chatglm2-6b-32k-int4 或 int8(若視訊記憶體小於13G)#

git clone https://huggingface.co/THUDM/chatglm2-6b-32k /your_path/chatglm2-6b

注意:由於模型較大,下載經常會失敗,需要根據 git 提示,重試多次。

5. 下載 m3e 或 text2vec 模型到本地#

git clone https://huggingface.co/moka-ai/m3e-base /your_path/m3e

6. 下載並配置 Langchain-Chatchat#

  • 下載 Langchain-Chatchat 到本地:https://github.com/chatchat-space/Langchain-Chatchat/tags ,建議下載穩定 tag 版本,要不然一堆坑。
  • git clone 或是下載 zip 解壓到本地
  • cd 到 Langchain-Chatchat 目錄下,使用清華源安裝:pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • 預設安裝的 torch 是 cpu 版本,我們需要安裝 gpu 版本,否則模型在你 cpu 上跑,卡死。
    可以透過 pip list 檢視 torch 的安裝版本,或者在 python 環境透過以下命令判斷:
Copy
import torch
print(torch.__version__)  # 2.0.1+cu117 ,帶 +cu117 類似格式的,表示裝的 gpu 版本 ,不帶這種格式的預設是 cpu 版本
print(torch.cuda.is_available())  # True  表示支援 gpu ,False 的話將使用 cpu
  • 安裝好顯示卡驅動, 安裝 cuda 支援
  • 由於網路的關係,建議去 https://pytorch.org/ 官網下載 gpu 版本的 torch .whl,然後本地使用 pip install
    安裝好透過上述的兩種方式檢查 torch 是否支援 gpu
  • 上述步驟搞定好,開始 Langchain-Chatchat 的配置,詳細引數配置可參考 Langchain-Chatchat 官方的 wiki
    a. 將chatglm 和 m3e 配置到 model_config.py
    b. 修改 server_config.py 配置
  • 在 Langchain-Chatchat 目錄下,呼叫命令初始化本地資料庫:python init_database.py --recreate-vs
  • 使用 python startup.py --all-webui 啟動 web ui 頁面

三、自定義知識庫#

。。。

作者: 七夜i

出處:https://www.cnblogs.com/qiyer/p/17730888.html

本站使用「cc by 4.0」創作共享協議,轉載請在文章明顯位置註明作者及出處。

相關文章