当你使用AI聊天服务时,是否有以下烦恼:
1、国外服务禁止中国IP访问
2、账号很容易被删账号
3、生成质量参差不齐
4、排队时间长,识别内容有限,需要月费才可以使用高级服务
5、使用第三方服务,容易暴露隐私信息,对个人信息安全产生威胁
6、模型都是别人预训练好的,不能根据自己需要做微调
....
假如可以将一个AI聊天服务部署到本地,而且只需要桌面级的电脑。这样不再需要再担心网络问题,不再需要申请账号,不再需要担心生成质量低,不再需要等待别人排队的烦恼,不再需要缴纳高昂的月费,不再需要购买第三方各种增值服务,不再需要担心个人隐私被暴露,不再需要担心模型不能被修改。
现在保姆式手把手教你怎么在一台家用桌面级电脑上部署本地的AI聊天服务。在开始之前,先介绍一下使用配置。
硬件环境:
CPU:AMD和INTEL都可以,不使用CPU推理运算,则CPU至少4线程。需要用CPU推理运算,则推荐16线程以上。文章例子没使用CPU进行推理,使用设备是i7-11700(8核16线程)
内存:需要至少16G以上,文章使用设备是32G内存
显卡:使用CPU运算可以忽略显卡配置。文章例子使用的是显卡推理,由于Pytorch支持的原因,这里不能使用AMD的显卡,需要使用NVIDIA显存至少6G以上的显卡,推荐使用16G显存。文章使用设备是NVIDIA 4080
硬盘:需要预留14G以上的硬盘空间存放模型
软件环境:
1、系统环境
2、显卡驱动
1)CUDA Toolkit驱动。由于Pytorch支持的原因,这里使用CUDA Toolkit驱动版本为12.1,下载:developer.nvidia.com/cuda-12-1-0-download-archive。下载好后双击安装,一直点击默认配置直到安装完成。
2)显卡驱动,由于CUDA Toolkit驱动版本为12.1,所以CUDA版本需要是12.1以上,文章使用的是12.3,下载:cn.download.nvidia.cn/Windows/546.29/546.29-notebook-win10-win11-64bit-international-dch-whql.exe。下载好后双击安装,一直点击默认配置直到安装完成。
安装后通过nvidia-smi和nvcc --version查看CUDA和CUDA Toolkit版本,查询结果如下:
3、python环境
需要使用python3,文章使用的是3.10.11版本。为了不影响原来安装好的环境和方便管理,这里使用pyenv去安装python,这样切换不同版本的python而不会影响系统变量。具体安装方法如下:
1)下载:github.com/pyenv-win/pyenv-win/tree/master/pyenv-win。 install-pyenv-win.ps1至电脑某目录(如D:\pyenv),下载完成后,到保存的目录调起PowerShell(不是cmd),运行./install-pyenv-win.ps1。执行完成后自动注入系统环境变量。新起PowerShell,使用pyenv --version看是否安装成功。
2)使用pyenv install --list查询可安装的版本,文章使用的是3.10.11。使用pyenv install 3.10.11安装。安装完成后通过pyenv global 3.10.11设置全局的Python版本。使用pyenv versions可以查询安装的Python版本。
4、设置git代理(可选)
后续操作需要从git上下载依赖文件,如果网络不好可以通过设置git代理来提速,具体操作如下:
打开git bash
输入 git config --global http.proxy 代理地址:端口号,如:
git config --global http.proxy 127.0.0.1:8888
输入 git config --global https.proxy 代理地址:端口号,如:
git config --global https.proxy 127.0.0.1:8888
取消代理可以这样操作:
git config --global --unset http.proxy
git config --global --unset https.proxy
5、安装Pytorch
使用python3的pip3进行安装
如果版本pytorch与CUDA不一致,可能会导致运行程序的时候出现类似下面的报错:
raise AssertionError("Torch not compiled with CUDA enabled")
AssertionError: Torch not compiled with CUDA enabled
如果不确定自己CUDA是否安装、可以这样检查,新建一个pytorch.py文件,内容如下:
import torch
print(torch.__version__)
print(torch.version.cuda)
使用cmd执行以下命令,即可看到输入结果
python3 pytorch.py
6、下载开源模型
这里使用的是ChatGLM3-6B,是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。拥有10B以下最强的基础模型,支持工具调用(Function Call)、代码执行(Code Interpreter)、Agent 任务等功能。
首先下载项目到本地:
进入项目:
cd ChatGLM3
安装依赖,安装过程可能比较久,需要下载大概12G的训练模型。请保持网络顺畅,并且关闭360等管家和杀毒软件
pip3 install -r requirements.txt
如果中途断了,没有启动成功,则可能在下次启动时,会出现多个模型文件夹,如果占用了空间,请按需删除即可。
7、启动前准备
安装以下组件:
pip install streamlit
pip install streamlit-chat
进入ChatGLM3/basic_demo目录,使用下面命令启动:
streamlit run web_demo2.py --server.port 8080
成功运行后,会在浏览器自动打开一个网页,这样就可以愉快的AI聊天互动!!