LangChain-Chatchat 本地知识库部署与实践
1. 前言
随着人工智能技术的快速发展,大语言模型(LLM)的应用场景日益广泛。LangChain-Chatchat 是一个基于 LangChain 与大语言模型(如 ChatGLM、Qwen 等)构建的本地知识库问答应用。其核心目标是建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。通过检索增强生成(RAG)技术,用户可以将本地文档上传至系统,实现基于私有数据的智能问答。
本文详细记录了 LangChain-Chatchat 在本地环境下的部署全过程,涵盖环境准备、代码拉取、模型配置、常见问题排查及性能优化方案,旨在为开发者提供一份完整的参考指南。
2. 环境要求
2.1 硬件配置
本框架使用 fschat 驱动,统一使用 huggingface 进行推理。若需顺利在 GPU 运行本地模型的 FP16 版本,需满足以下显存要求以保证稳定连续对话:
- 7B 模型(如 ChatGLM3-6B, LLaMA-7B-Chat):最低显存 14GB,推荐显卡 RTX 4080。
- 14B 模型(如 Qwen-14B-Chat):最低显存 30GB,推荐显卡 V100。
- 34B 模型(如 Yi-34B-Chat):最低显存 69GB,推荐显卡 A100。
- 72B 模型(如 Qwen-72B-Chat):最低显存 145GB,推荐多卡 A100 以上。
显存估算公式:
FP16: 显存占用 (GB) = 模型量级 x 2
Int4: 显存占用 (GB) = 模型量级 x 0.75
注意:Embedding 模型将额外占用 1-2GB 显存,历史记录可能占用数 GB 显存,建议预留冗余空间。内存最低要求应比模型运行显存大,例如运行 6B 模型显存占 13GB,建议使用 16GB 以上内存。
2.2 软件环境
已测试系统:Linux Ubuntu 22.04.5 kernel version 6.7。
最低要求:
- Python 版本:>= 3.8 (< 3.12)
- CUDA 版本:>= 12.1
推荐要求:
- Python 版本:3.11.7
- CUDA 版本:12.1
对于 Windows 用户,建议使用 WSL2 安装 Ubuntu 子系统,以确保 Linux 命令兼容性。需注意 Windows 安装的 CUDA 版本可能与 WSL 内不一致,建议统一卸载重装为相同版本,避免依赖库报错。
3. 部署步骤
3.1 拉取代码
克隆项目仓库并进入目录:
git clone --recursive https://github.com/chatchat-space/Langchain-Chatchat.git
cd Langchain-Chatchat
pip install -r requirements.txt
3.2 下载模型
国内网络环境下直接访问 HuggingFace 较慢,推荐使用 ModelScope(魔塔社区)下载模型。首先安装 Git LFS:
git lfs install
git clone https://www.modelscope.cn/ZhipuAI/chatglm2-6b.git
git clone https://www.modelscope.cn/Jerry0/m3e-base.git


