Langchain-Chatchat本地搭建ChatGLM3模型和提取PDF内容
- 软件开发
- 2025-07-23 10:27:01

文章目录 1、软件要求2、安装CUDA2.1、安装gcc2.2、安装CUDA 3、安装Anaconda33.1、下载Anaconda33.2、创建python虚拟环境 4、部署系统4.1、下载源码4.2、安装依赖4.3、下载模型4.4、初始化配置和知识库4.4.1、初始化配置4.4.2、初始化知识库 4.5、运行4.6、运行4.6.1、启动4.6.2、启动创建知识库和上传pdf4.6.3、问答提取内容 1、软件要求
Linux Ubuntu 22.04.5 kernel version 6.7 最低要求 该要求仅针对标准模式,轻量模式使用在线模型,不需要安装torch等库,也不需要显卡即可运行。
Python 版本: >= 3.8(很不稳定), < 3.12CUDA 版本: >= 12.1 推荐要求 开发者在以下环境下进行代码调试,在该环境下能够避免最多环境问题。Python 版本 == 3.11.7CUDA 版本: == 12.1本文是基于Ubuntu 22.04.1 LTS (GNU/Linux 5.15.133.1-microsoft-standard-WSL2 x86_64)测试
2、安装CUDA 2.1、安装gcc输入gcc -version检查是否安装了gcc
~$ gcc --version Command 'gcc' not found, but can be installed with: sudo apt install gcc 2.2、安装CUDA输入nvidia-smi查看支持CUDA的版本,支持的最高版本是12.3
当前pytorch最高支持12.1,在官网https://developer.nvidia.com/cuda-toolkit-archive下载12.1.1版本
输入命令下载安装
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run sudo sh cuda_12.1.1_530.30.02_linux.run配置环境变量,输入vi ~/.bashrc命令打开文件
export PATH=/usr/local/cuda-12.1/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH刷新环境变量source ~/.bashrc
3、安装Anaconda3 3.1、下载Anaconda3官网下载:https://www.anaconda.com/download/ 清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 当前最新版本:https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh 下载完成,输入下边命令安装
sh Anaconda3-2023.09-0-Linux-x86_64.sh 3.2、创建python虚拟环境 conda create -n python311 python=3.11 # 激活环境 conda activate python311 # 如果activate不存在,改用source激活环境 # source activate python311 # 退出环境 conda deactivate python311 4、部署系统 4.1、下载源码浏览器下载:Langchain-Chatchat-0.2.10.zip:https://github.com/chatchat-space/Langchain-Chatchat/releases 也可以通过git拉取最新仓库
# git拉取最新仓库 git clone https://github.com/chatchat-space/Langchain-Chatchat.git 4.2、安装依赖 # 进入目录 $ cd Langchain-Chatchat # 安装全部依赖 # 使用国内源下载依赖更快:https://mirrors.aliyun.com/pypi/simple/,https://pypi.tuna.tsinghua.edu.cn/simple/ # 全部依赖 $ pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ # api运行依赖 $ pip install -r requirements_api.txt -i https://mirrors.aliyun.com/pypi/simple/ # webui运行依赖 $ pip install -r requirements_webui.txt -i https://mirrors.aliyun.com/pypi/simple/ # 默认依赖包括基本运行环境(FAISS向量库)。如果要使用 milvus/pg_vector 等向量库,请将 requirements.txt 中相应依赖取消注释再安装。 4.3、下载模型 $ git lfs install # 下载LLM模型,国内从魔塔下载更快 $ git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git # git clone https://huggingface.co/THUDM/chatglm3-6b # 下载Embedding 模型,国内从魔塔下载更快 $ git clone https://www.modelscope.cn/AI-ModelScope/bge-large-zh.git # git clone https://huggingface.co/BAAI/bge-large-zh 4.4、初始化配置和知识库 4.4.1、初始化配置 # 初始化Langchain-Chatchat-0.2.10\configs目录内的配置文件 $ python copy_config_example.py 基础配置项 basic_config.py 该配置基负责记录日志的格式和储存路径,通常不需要修改。模型配置项 model_config.py EMBEDDING_MODEL = "bge-large-zh" # 修改为bge-large-zh # Embedding 模型运行设备。设为 "auto" 会自动检测(会有警告),也可手动设定为 "cuda","mps","cpu","xpu" 其中 EMBEDDING_DEVICE = "cuda" # 要运行的 LLM 名称,可以包括本地模型和在线模型。列表中本地模型将在启动项目时全部加载。 # 列表中第一个模型将作为 API 和 WEBUI 的默认模型。 # 在这里,我们使用目前主流的两个离线模型,其中,chatglm3-6b 为默认加载模型。 LLM_MODELS = ["chatglm3-6b", "zhipu-api", "openai-api"] # LLM 模型运行设备。设为"auto"会自动检测(会有警告),也可手动设定为 "cuda","mps","cpu","xpu" 其中之一。 LLM_DEVICE = "cuda" # 修改为cpu MODEL_PATH = { "embed_model": { ...... "bge-large-zh": "/mnt/d/project/python/model/BAAI/bge-large-zh", # 修改为物理路径 ...... }, "llm_model": { ...... "chatglm3-6b": "/mnt/d/project/python/model/THUDM/chatglm3-6b", # 修改为物理路径 ...... }, 提示词配置项 prompt_config.py 提示词配置分为三个板块,分别对应三种聊天类型。 llm_chat: 基础的对话提示词, 通常来说,直接是用户输入的内容,没有系统提示词。 knowledge_base_chat: 与知识库对话的提示词,在模板中,我们为开发者设计了一个系统提示词,开发者可以自行更改。 agent_chat: 与Agent对话的提示词,同样,我们为开发者设计了一个系统提示词,开发者可以自行更改。 # prompt模板使用Jinja2语法,简单点就是用双大括号代替f-string的单大括号 请注意,本配置文件支持热加载,修改prompt模板后无需重启服务。 数据库配置 kb_config.py服务和端口配置项 server_config.py # 这些模型必须是在model_config.MODEL_PATH或ONLINE_MODEL中正确配置的。 # 在启动startup.py时,可用通过`--model-name xxxx yyyy`指定模型,不指定则为LLM_MODELS FSCHAT_MODEL_WORKERS = { ...... "chatglm3-6b": { "device": "cuda", # 配置为cuda }, ...... } 4.4.2、初始化知识库 ## 默认依赖包括基本运行环境(FAISS向量库),初始化自己的知识库 $ python init_database.py --recreate-vs #如果您已经有创建过知识库,可以先执行以下命令创建或更新数据库表: # python init_database.py --create-tables 4.5、运行 # 一键启动脚本 startup.py, 一键启动所有 Fastchat 服务、API 服务、WebUI 服务,示例代码: $ python startup.py -a并可使用 Ctrl + C 直接关闭所有运行服务。
可选参数包括 -a (或–all-webui), --all-api, --llm-api, -c (或–controller), --openai-api, -m (或–model-worker), --api, --webui,其中:
–all-webui 为一键启动 WebUI 所有依赖服务;–all-api 为一键启动 API 所有依赖服务;–llm-api 为一键启动 Fastchat 所有依赖的 LLM 服务;–openai-api 为仅启动 FastChat 的 controller 和 openai-api-server 服务;其他为单独服务启动选项。 若想指定非默认模型,需要用 --model-name 选项,示例: $ python startup.py --all-webui --model-name Qwen-7B-Chat更多信息可通过 python startup.py -h 查看。
4.6、运行本文运行例子:上传一个PDF文档到知识库,并通过问答的方式提取PDF内容。
4.6.1、启动 4.6.2、启动创建知识库和上传pdf4.6.3、问答提取内容
问答方式提取内容,除了第一个社会信用代码不准确外,其它问题都能返回准确答案
安装部署参考自
Langchain-Chatchat本地搭建ChatGLM3模型和提取PDF内容由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Langchain-Chatchat本地搭建ChatGLM3模型和提取PDF内容”