使用 Langchain-Chatchat 部署私有化 RAG 知识库指南
项目简介
Langchain-Chatchat 是一个基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现的开源项目。它支持检索增强生成(RAG)技术,允许用户构建私有化的大模型知识库。该项目采用 Apache License 协议,支持免费商用,可离线部署。
项目特点包括:
- 支持市面上主流的本地大语言模型和 Embedding 模型。
- 支持开源的本地向量数据库。
- 提供 Docker 一键部署方案,降低环境配置门槛。
环境准备
在开始部署之前,请确保宿主机满足以下基础要求:
- 硬件要求:建议配备 NVIDIA GPU,显存大小需根据所选大模型参数量决定(通常 8GB 以上推荐用于中小参数模型)。
- 驱动安装:需要安装 NVIDIA Driver。
- 容器工具:需要安装 NVIDIA Container Toolkit,以便 Docker 能够调用 GPU 资源。
- Docker 环境:确保已安装并配置好 Docker 服务。
快速部署
本项目提供了 Docker 镜像,无需在宿主机上单独安装 CUDA 库。使用以下命令即可启动服务:
docker run -d --gpus all -p 8501:8501 --name langchain-chatchat registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.7
说明:
--gpus all:启用所有可用 GPU。-p 8501:8501:将容器 8501 端口映射到宿主机。- 镜像体积较大(约 43GB),首次拉取可能需要较长时间。
部署成功后,访问 http://localhost:8501 即可进入 Web 界面。
功能使用
聊天对话
Web 界面支持多种 LLM 模型选择。用户可以根据实际需求切换不同的后端模型进行对话。
- 模型选择:在设置中加载本地或在线的大语言模型。
- 对话体验:界面简洁,支持实时流式输出。但需注意,部分高级功能如账号管理、历史会话自动保存等可能不如商业产品完善,适合个人或小团队内部使用。
知识库管理
知识库是 RAG 系统的核心组件,Langchain-Chatchat 在此方面提供了较为完整的功能:
- Embedding 模型:新建知识库时,支持选择多种 Embedding 模型以适配不同的文本向量化需求。
- 文档处理:支持多种常见文档格式上传,并提供分词参数设置,允许用户调整切片策略以适应不同长度的文本内容。
- 问答测试:在提问前,需指定使用的模型和关联的知识库。一个知识库可包含多个文档,系统会根据文档内容进行检索并生成回答。
注意:问答效果受嵌入模型、分词参数及大模型能力的综合影响。若遇到回答不准确的情况,建议检查知识库的切片粒度及模型配置是否合理。
配置优化建议
为了获得更好的问答效果,建议在部署后进行以下调优:


