这个部分是我已经安装了langchain-ChatGLM-6B,运行正常,我发现langchain自带了支持ChatGLM2-6B的一个配置,因此我这个实验的思路就是安装ChatGLM2这个模型、程序等,然后看看是否可以在这个原来安装的langchain进行实际操作;
退出原来的虚拟环境,
一、下载GLM2的原始代码
git clone https://github.com/THUDM/ChatGLM2-6B
git clone https://github.com/THUDM/ChatGLM2-6B
cd ChatGLM2-6B
由于我用langchain,我再考虑是否要做一下步骤:
# 其中 transformers 库版本推荐为 4.30.2,torch 推荐使用 2.0 及以上的版本,以获得最佳的推理性能
pip install -r requirements.txt
二、下载GLM2的模型(增加了text2vec)
采用git-lfs方式,用git方式肯定会报错,再运行下面文件可以运行启动git-lfs,我是早安装了。
#apt install git-lfs
git-lfs clone https://huggingface.co/THUDM/chatglm-6b
# 下载 Embedding 模型 (这个就是chatGLM2的区别,估计针对汉字进行优化) #git clone https://huggingface.co/GanymedeNil/text2vec-large-chinese git-lfs clone https://huggingface.co/GanymedeNil/text2vec-large-chinese $PWD/text2vec
三、按照正常应该是登录conda,然后进行自动requirement适配,但是因为我装了langchain,我记得langchain的界面和config里面有各个模型的,因此我打算直接启动Langchain后,用langchain里面的config进行配置。
以下配置修改的工作,我都在Langchain-GLM这个目录下进行,并未修改从网上git下来的其他GLM或GLM2的配置或者requirement进行fix.
模型下载完成后,在 configs/model_config.py
文件中,对embedding_model_dict
和llm_model_dict
参数进行修改。我对原来的langchain-GLM的内容进行了调整。
embedding_model_dict = { "ernie-tiny": "nghuyong/ernie-3.0-nano-zh", "ernie-base": "nghuyong/ernie-3.0-base-zh", "text2vec-base": "shibing624/text2vec-base-chinese", #"text2vec": "/mnt/workspace/text2vec",这个地方需要根据自己目录 "text2vec": "/mnt/workspace/text2vec", "m3e-small": "moka-ai/m3e-small", "m3e-base": "moka-ai/m3e-base", } llm_model_dict = { ... "chatglm2-6b": { "name": "chatglm2-6b", #"pretrained_model_name": "/mnt/workspace/chatglm2-6b", #原始部分模型存放应该是直接安装的,但是我这里有个上级目录 "pretrained_model_name": "/mnt/workspace/ChatGLM2-6B/chatglm2-6b", "local_model_path": None, "provides": "ChatGLM" }, ... } # LLM 名称改成 chatglm2-6b LLM_MODEL = "chatglm2-6b"
三、启动langchain
是否需要升级下 protobuf 即可。
pip install --upgrade protobuf==3.19.6
下面是在以langchain-GLM进行操作下;
在启动前应该用langchain-GLM这个虚拟环境登录,需要在安装langchain-GLM那个目录下进行启动,否则找不到。记得启动miniconda的.sh。
conda activate langchain-chatglm
python webui.py
增加环境变量
export PATH =/usr/local/cuda-11.7/bin:$PATH
export LD_LIBRARY_PATH = $LD_LIBRARY_PATH:/usr/local/cuda-11.7/lib64
export PATH = /usr/local
D:\anaconda\anaconda3 // 安装路径
D:\anaconda\anaconda3\Scripts
D:\anaconda\anaconda3\Library\bin
export PATH=/usr/local/cuda-11.7/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.7/lib64
LangChain + ChatGLM2-6B 构建知识库
LangChain + ChatGLM2-6B 搭建个人专属知识库-腾讯云开发者社区-腾讯云 (tencent.com)
LangChain + ChatGLM2-6B 搭建个人专属知识库-腾讯云开发者社区-腾讯云 (tencent.com)