赞
踩
个人的一点经验和总结,希望能帮助到大家。有不对的地方请留言和指正!
langchain-GLM是一个本地知识库应用解决方案,支持以cli、web、api方式提供以本地知识库或在线资源为知识素材的对话服务,对中英文场景对话支持友好。它由LLM(大语言模型,例如:ChatGLM-6B、星火、文心一言)和Embedding 模型组成,支持私有化部署。
top k
个prompt
中 LLM
生成回答。稍微对大模型运行原理了解的童靴们可能都了解,大模型也不是生来什么领域的知识都懂的。需要给它喂数据,不断训练。
企业要想用大模型高效利用数据,把企业数据给大模型,那肯定是不可能的。
这个时候大模型本地部署,私有数据自己管控就是必要条件了。恰恰langchain就解决了这个问题。
硬件配置要求:
第一种:安装0,1.*版本【建议使用docker方式部署】:
1.运行环境安装
- sudo apt-get update
- sudo apt-get install -y nvidia-container-toolkit-base
- sudo systemctl daemon-reload
- sudo systemctl restart docker
2.查看GPU编号,命令:nvidia-smi
3.安装langchain-chatchat镜像
- #方式1
- docker run -d -p 80:7860 --gpus all registry.cn-beijing.aliyuncs.com/isafetech/chatmydata:1.0
-
- #参数解释:
- --gpus all 指定给该设备所有可用的GPU
- --gpus '"device=1"' 指定设备编号为1的GPU
-
- #方式2
- git clone -b 0.1.17 --single-branch https://github.com/chatchat-space/Langchain-Chatchat.git
-
- docker build -f Dockerfile-cuda -t chatglm-cuda:latest .
- docker run --gpus all -d --name chatglm -p 7860:7860 chatglm-cuda:latest
-
- #若要使用离线模型,请配置好模型路径,然后此repo挂载到Container
- docker run --gpus all -d --name chatglm -p 7860:7860 -v ~/github/langchain-ChatGLM:/chatGLM chatglm-cuda:latest
3.查看启动日志
docker logs 容器ID
4.启用后台服务
- docker exec -it 容器ID /bin/bash
-
- #命令行服务
- python cli_demo.py
-
- #接口服务
- python api.py
-
- #web服务
- python webui.py
第二种部署方式:
- wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh
- bash Anaconda3-2023.03-1-Linux-x86_64.sh
-
- conda create -n ai python=3.11 #创建虚拟环境
- conda activate ai #激活虚拟环境
- conda list #查看已安装的包
- conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia #安装依赖包
-
- # 拉取仓库
- $ git clone https://github.com/chatchat-space/Langchain-Chatchat.git
-
- # 进入目录
- $ cd Langchain-Chatchat
-
- # 安装全部依赖
- $ pip install -r requirements.txt
- $ pip install -r requirements_api.txt
- $ pip install -r requirements_webui.txt
-
- # 默认依赖包括基本运行环境(FAISS向量库)。如果要使用 milvus/pg_vector 等向量库,请将 requirements.txt 中相应依赖取消注释再安装。
- $ git lfs install
-
- $ git clone https://huggingface.co/THUDM/chatglm2-6b
- $ git clone https://huggingface.co/moka-ai/m3e-base
-
- ###建议:上面地址下载慢的话,访问https://e.aliendao.cn/,搜索 chatglm2-6b和m3e-base,然后按照下面方式下载
-
- git clone https://github.com/git-cloner/aliendao
- cd aliendao
- pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple --trusted-host=pypi.mirrors.ustc.edu.cn
-
- python model_download.py --e --repo_id 模型ID
-
$ python copy_config_example.py
- # 如果模型目录名称和 MODEL_PATH 中的 key 或 value 相同,程序会自动检测加载,无需修改 MODEL_PATH 中的路径。
- MODEL_ROOT_PATH = "/usr/local/"
-
-
- #配置LLM线上模型参数
- ONLINE_LLM_MODEL = {
- }
-
- #配置本地模型参数,模型的相对路径,相对 MODEL_ROOT_PATH 所配置的路径
- MODEL_PATH = {
- "embed_model":{
- "m3e-base": "moka-ai/m3e-base"
- },
- "llm_model":{
- "chatglm2-6b": "THUDM/chatglm2-6b",
- }
-
-
- ####
- #注意:线上模型和本地模型只需要配置一个即可。
python init_database.py --recreate-vs
python startup.py -a
选择适合你的方式安装即可。
部署方式一常见问题:
1、docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]].或者 apt-get install -y nvidia-container-toolkit找不到或者下载失败
解决方案:
- curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey
-
- apt-key add gpgkey
-
- curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
-
- apt-get update && apt-get install -y nvidia-container-toolkit
- systemctl restart docker
-
2、为什么要使用anaconda?
anaconda是什么?
Anaconda是Python的一个发行版本,专注于数据分析,能够对包和环境进行管理。它内置了conda、pip等管理工具,以及Jupyter Notebook、Spyder等开发工具
- conda env list #查看已有的环境
- conda create -n ai python=3.11 #创建虚拟环境
- conda activate ai #激活虚拟环境
- conda list #查看已安装的包
- conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia #安装依赖包
-
- conda deactivate #退出虚拟环境
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。