LangChain 是什么
LangChain 是一个用于构建基于大型语言模型(LLM)的应用程序的库。它为开发者提供了一种便捷的方式,可以将 LLM 与其他计算或知识源结合起来,从而创造出更加智能和强大的应用程序。
LangChain 的目标是帮助开发者充分发挥大型语言模型的优势,使其在各种领域,如自然语言处理、问答系统、文本生成等方面得到更广泛的应用。
通过 LangChain,开发者可以更高效地利用大型语言模型的能力,为用户提供更优质的智能化体验。例如,开发者可以使用 LangChain 将大型语言模型与电子商务网站集成,导入人工客服的对话问答库和商品介绍文档,为用户提供智能的商品推荐和个性化购物建议。
下载源码
基于 ChatGLM 模型来搭建属于自己的本地知识库。先下载 langchain-ChatGLM 源码。
git clone https://github.com/chatchat-space/langchain-ChatGLM.git
环境准备
基于 python3.8 的版本来构建自己的 langchain,创建 python 虚拟环境并激活:
conda create -n langchain python=3.8
conda activate langchain
在虚拟 python 环境中,更新 pip 库,并下载 langchain 的依赖:
pip3 install --upgrade pip
# 项目中 pdf 加载由先前的 detectron2 替换为使用 paddleocr,如果之前有安装过 detectron2 需要先完成卸载避免引发 tools 冲突
pip uninstall detectron2
# 检查 paddleocr 依赖,linux 环境下 paddleocr 依赖 libX11, libXext
apt-get install libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev
进入 langchain 工程,下载依赖项:
cd langchain-ChatGLM
pip install -r requirements.txt
检查 paddleocr 是否成功,首次运行会下载约 18M 模型到 ~/.paddleocr:
python loader/image_loader.py
du -sh ~/.paddleocr/
# 输出 18M /root/.paddleocr/ 说明验证成功
llama-cpp 模型调用的说明
虽然未指定使用 llama-cpp 的模型,但 langchain 依赖 llama-cpp-python 的包,因此需要安装 llama-cpp-python。
pip install llama-cpp-python
注意,这里依赖 gcc 的版本是 8.4 及以上,系统自带的 gcc 可能是 7.5 版本,因此会报错。需要先升级。
更新软件包列表:
apt update -y
apt install gcc-8 g++-8
更新系统的默认 gcc 版本为 8.4:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 100
验证 gcc 版本是否升级成功:
gcc --version
模型选择
检查 langchain-ChatGLM 默认使用的模型,打开 configs/model_config.py,可以看到支持的模型列表:


