wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
使用以下命令运行安装脚本:bash Miniconda3-latest-Linux-x86_64.sh
按照安装程序的提示进行安装您可以选择安装位置和环境变量设置等选项安装完成后,关闭终端并重新打开一个新终端,在新终端中,使用以下命令激活conda环境: source ~/.bashrc
使用以下命令检查conda是否成功安装:conda --version
如果conda成功安装,您将看到conda的版本号,我这里安装的是conda 23.5.24.3、安装 Python首先,确信你的机器安装了 Python 3.8 - 3.11 版本python --version Python 3.8.17
如果没有安装或者低于这个版本,可使用conda安装环境conda create -p /opt/langchain-chatchat/pyenv python=3.8
激活Python虚拟环境conda activate /opt/langchain-chatchat/pyenv关闭环境conda deactivate /opt/langchain-chatchat/pyenv# 删除环境conda env remove -p /opt/langchain-chatchat/pyenv
这里的路径可根据大家的实际情况来调整即可root@iZ6we:/opt/langchain-chatchat# conda activate /opt/langchain-chatchat/pyenv(/opt/langchain-chatchat/pyenv) root@iZ6we:/opt/langchain-chatchat# python --versionPython 3.8.17(/opt/langchain-chatchat/pyenv) root@iZ6we:/opt/langchain-chatchat#
更新py库pip3 install --upgrade pip
4.4、项目依赖# 拉取仓库$ git clone https://github.com/chatchat-space/Langchain-Chatchat.git# 进入目录$ cd Langchain-Chatchat
使用pypi源安装全部依赖(默认依赖包括基本运行环境(FAISS向量库)如果要使用 milvus/pg_vector 等向量库,请将 requirements.txt 中相应依赖取消注释再安装)pip install -r requirements.txt -i https://pypi.python.org/simple
说明:默认安装不指定镜像[pip install -r requirements.txt]安装过程可能会出现依赖或者其它奇怪的错误,建议指定镜像源下载,国外的服务器用pypi镜像,国内的服务器可以用阿里源或者清华源# 使用阿里源$ pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/# 使用清华源$ pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
安装依赖的时候可能会出现如下错误:Could not find a version that satisfies the requirement setuptools_scm (from versions: none)这个错误通常在安装或配置setuptools_scm包时遇到问题时出现只需要重新安装setuptools_scmpip install --index-url https://pypi.org/simple/ setuptools_scm
4.5、下载模型因为模型文件一般比较大(ChatGLM2-6B的模型权重文件差不多12G),首先需要先安装Git LFS# 添加Git LFS的APT存储库运行以下命令将Git LFS的APT存储库添加到您的系统中:curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash# 安装Git LFS运行以下命令来安装Git LFS:sudo apt-get install git-lfs# 安装完成后,您可以运行以下命令来验证Git LFS是否已成功安装:git lfs version# 如果成功安装,您将看到Git LFS的版本信息git-lfs/3.4.0 (GitHub; linux amd64; go 1.20.6)
下载模型放入指定文件目录中# 下载 LLM 模型$ git clone https://huggingface.co/THUDM/chatglm2-6b /your_path/chatglm-6b# 下载 Embedding 模型$ git clone https://huggingface.co/GanymedeNil/text2vec-large-chinese /your_path/text2vec# 模型需要更新时,可打开模型所在文件夹后拉取最新模型文件/代码$ git pull
将your_path换成你模型的实际下载路径即可,我这里将模型放在 /opt/langchain-chatchat/models 目录$ git clone https://huggingface.co/THUDM/chatglm2-6b /opt/langchain-chatchat/models/chatglm-6b$ git clone https://huggingface.co/moka-ai/m3e-base /opt/langchain-chatchat/models/m3e-base
4.6、设置配置项复制模型相关参数配置模板文件 configs/model_config.py.example 存储至项目路径下 ./configs 路径下,并重命名为 model_config.pycp model_config.py.example model_config.py
复制服务相关参数配置模板文件 configs/server_config.py.example 存储至项目路径下 ./configs 路径下,并重命名为 server_config.pycp server_config.py.example server_config.py
在开始执行 Web UI 或命令行交互前,请先检查 configs/model_config.py 和 configs/server_config.py 中的各项模型参数设计是否符合需求:请确认已下载至本地的 LLM 模型本地存储路径写在 llm_model_dict 对应模型的 local_model_path 属性中,如:llm_model_dict={ "chatglm2-6b": { "local_model_path": "/opt/langchain-chatchat/models/chatglm-6b", "api_base_url": "http://localhost:8888/v1", # "name"修改为 FastChat 服务中的"api_base_url" "api_key": "EMPTY" }}
请确认已下载至本地的 Embedding 模型本地存储路径写在 embedding_model_dict 对应模型位置,如:embedding_model_dict = { "m3e-base": "/opt/langchain-chatchat/models/m3e-base",}
如果你选择使用OpenAI的Embedding模型,请将模型的 key写入 embedding_model_dict中使用该模型,你需要鞥能够访问OpenAI官的API,或设置代理4.7、知识库初始化当前项目的知识库信息存储在数据库中,在正式运行项目之前请先初始化数据库(我们强烈建议您在执行操作前备份您的知识文件)如果您是从 0.1.x 版本升级过来的用户,针对已建立的知识库,请确认知识库的向量库类型、Embedding 模型与 configs/model_config.py 中默认设置一致,如无变化只需以下命令将现有知识库信息添加到数据库即可:$ python init_database.py
如果您是第一次运行本项目,知识库尚未建立,或者配置文件中的知识库类型、嵌入模型发生变化,或者之前的向量库没有开启 normalize_L2,需要以下命令初始化或重建知识库:$ python init_database.py --recreate-vs
4.8、启动LLM服务如需使用开源模型进行本地部署,需首先启动 LLM 服务,如果启动在线的API服务(如 OPENAI 的 API 接口),则无需启动 LLM 服务这里选择基于多进程脚本 llm_api.py 启动 LLM 服务的方式,在项目根目录下,执行 server/llm_api.py 脚本启动 LLM 模型服务:$ python server/llm_api.py
如果部署服务器具备单张或者多张GPU显卡,只需在 llm_api.py 中修改 create_model_worker_app 函数中,修改如下三个参数:gpus=None, num_gpus=1, max_gpu_memory="20GiB"
其中,gpus 控制使用的显卡的ID,如果 "0,1"; num_gpus 控制使用的卡数;max_gpu_memory 控制每个卡使用的显存容量4.9、启动API服务在线调用API服务的情况下,直接执执行 server/api.py 脚本启动 API 服务;python server/api.py
启动 API 服务后,可访问 localhost:7861 或 {API 所在服务器 IP}:7861 FastAPI 自动生成的 docs 进行接口查看与测试FastAPI docs 界面4.9、启动 Web UI 服务使用 Langchain-Chatchat 主题色启动 Web UI 服务(默认使用端口 8501)$ streamlit run webui.py --theme.base "light" --theme.primaryColor "#165dff" --theme.secondaryBackgroundColor "#f5f5f5" --theme.textColor "#000000"
Web UI 对话界面:Web UI 知识库管理页面:说明:安装过程中如果遇到其它的问题,建议先去官方GitHub的FAQ中看看,大部分问题已经有解决方案了https://github.com/chatchat-space/Langchain-Chatchat/blob/master/docs/FAQ.md
五、Docker 环境部署如果想快速部署 LangChain-Chatchat 产品来体验,可以选择Docker一键部署的方式,比较简单,只需要先安装Docker 容器,在Unbuntu环境中如何安装 Docker & Docker Compose,可以参考文章 《Quivr 基于GPT和开源LLMs构建本地知识库 (更新篇)》中的3.2节这里不过多赘述 Windows安装Docker更简单Docker镜像使用的版本一般会稍微滞后一些,如果想快速体验最新的版本按前面开发模式部署会更合适一点LangChain-Chatchat项目使用的 Docker 镜像地址是:registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.0
该版本镜像大小 33.9GB,使用 v0.2.0,以 nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04 为基础镜像该版本内置一个 embedding 模型:m3e-large,内置 chatglm2-6b-32k该版本目标为方便一键部署使用,请确保您已经在Linux发行版上安装了NVIDIA驱动程序请注意,您不需要在主机系统上安装CUDA工具包,但需要安装 NVIDIA Driver 以及 NVIDIA Container Toolkit,请参考安装指南首次拉取和启动均需要一定时间,首次启动时请参照下图使用 docker logs -f <container id> 查看日志如遇到启动过程卡在 Waiting.. 步骤,建议使用 docker exec -it <container id> bash 进入 /logs/ 目录查看对应阶段日志六、ReferencesChatGLM2-6Bhttps://github.com/THUDM/ChatGLM2-6BLangChain-Chatchathttps://github.com/chatchat-space/Langchain-Chatchat如果你对这篇文章感兴趣,而且你想要了解更多关于AI领域的实战技巧,可以关注「技术狂潮AI」公众号在这里,你可以看到最新最热的AIGC领域的干货文章和案例实战教程(图片来源网络,侵删)
0 评论