文章目录
前言
当我的电脑主机在本地运行privateGPT的时候我听到了cpu风扇在呼啸,
至于privateGPT是干什么的,
其实就相当于一个文档分析软件,只不过内置了一个gpt,你把文件丟给他,你可以向他提问题,然后他根据你扔进去的文档进行回答
好处在于是本地运行的gpt,不会发生隐私泄露事件,一切分析和回答都在本地进行,如果你要读一些小说或者新闻,可以先丢给gpt让他
读一遍,你边读边和他交流里面的内容还是挺有意思的
不过privateGPT最终还是搭建完成了,跟着我一起看看搭建流程吧
效果
所需文件
电脑配置
windows平台
Python 3.8
NodeJS v18.20
至少 16GB 内存
一个小飞机,下载模型,配置文件,如果没有那就别看了,没有gpt模型和配置文件,这就是个空壳子
部分需要用到的文件我放在这里了
链接:https://pan.baidu.com/s/1I32CtcWL40vaM7MGwkTo8A?pwd=1234
提取码:1234
工程文件,模型,符合要求的nodejs
然而这些文件只是一部分,还有一部分需要小飞机下载
这些是在运行模型时会下载的文件,确保你有小飞机,不然最后也是404
流程
https://github.com/SamurAIGPT/EmbedAI
我是参考这篇文章搭建的,我只是对其细节和文件进行补充,因此你可以参考我的本地搭建流程来实现这个工程的复现
它的搭建过程并不复杂,主要分为客户端搭建和服务端搭建,跟着我一起看看吧
1,python版本
我直接安装了anaconda,Anaconda3-2021.05-Windows-x86_64.exe这个软件安装好后就是python3.8
查看Python版本的命令
python --version
如果你没有安装过python环境,直接用这个文件就可以
如果你电脑上已经安装了Python,版本不是3.8,
那么可以创建一个虚拟环境来安装python3.8进行python环境隔离
使用如下两个命令进行创建名为py38的虚拟环境,它会自动创建
创建完毕后使用第二条命令进行激活这个虚拟环境即可
conda create --name py38 python=3.8
conda activate py38
这是为了确保文件和配置环境一致
2,工程文件安装
2.1服务端搭建
然后从github上下载这个工程
https://github.com/SamurAIGPT/EmbedAI
你直接下载压缩包就行,这个方便,然后解压文件到一个文件夹
解压好后,使用Anaconda Prompt (Anaconda3)这个命令窗口
切记要进入python3.8版本的环境,如果你的虚拟环境才是3.8的,要进入虚拟环境进行配置
命令窗口里导航到工程文件解压的地方
首先解决privategpt服务端的文件下载安装
例如我的文件夹,/d代表强制跳转
cd /d D:\PGMCode\Mycode\pythonCode\goodTools\personAI\myprivateGPT\EmbedAI-main\server
然后让其安装对应的文件
pip install -r requirements.txt
安装过程有些枯燥,就是不停的下文件,安装文件,需要注意的是有些文件会报错
我是在一台新电脑上配置的,之前没有安装过任何的python包,但是安装其自带的包文件,还是会有红字显示文件版本冲突
我一开始十分疑惑,我都没有安装其他包怎么还冲突了,我只能说是其自带的包内部有冲突,后来我发现不用管他,不影响服务运行
安装完成后,使用
python privateGPT.py
正常情况下你能看到服务已经开启了
这样privategpt服务端你就搭建好了
2.2客户端搭建
安装node-v18.20.2-x64.msi这个软件
然后手动在环境变量中添加其目录,这样是为了系统能够识别它的存在
在系统的path目录中增加nodejs的安装路径
C:\Program Files\nodejs
安装好后,在其目录下创建两个文件夹node_global,node_cache用于存放全局配置文件和缓存文件
然后配置他们
npm config set prefix "C:\Program Files\nodejs\node_global"
npm config set cache "C:\Program Files\nodejs\node_cache"
然后在cmd中就可以查看nodejs的安装是否是成功了
然后,我们将使用nodejs来完成privategpt客户端的创建
依旧在命令窗口中导航到工程文件客户端的文件夹
cd /d D:\PGMCode\Mycode\pythonCode\goodTools\personAI\myprivateGPT\EmbedAI-main\client
然后使用命令来创建客户端以及启动客户端
npm install
npm run dev
这样你就能看到客户端也创建好了
3,模型下载
启动客户端,访问http://localhost:3000/
你能看到客户端启动的界面,这个时候你还是没有模型的,因此我的文件中是有模型的,你把它解压放到服务端server文件夹下model目录下就可以了
或者你直接点击下载模型也行,它会自动从网络上下载,大小约3.5g
然后接下来你要点击上传文件,然后点击提取数据
提取数据时,它会从模型网站上下载模型配套的json配置文件,这就需要小飞机了,所以这一步是关键的
大部分人都会在这里看到网络连接失败的提示,如果你有但是没有下载json成功,就看看你的配置问题
你可以在服务器cmd后台看到模型具体的下载情况,以及文件究竟下载到多少了
如果你完成了模型和配置文件的下载
在网页客户端
你向他丢入文件,
它会自动将文件转化为db数据库文件,然后分析,你就可以向他问问问题,让他回答了
经过实践发现,我丢给他英文文档,然后用英文提问是没有问题的,privategpt可以理解
但是我丢进去中文文档使用中文提问,就会胡言乱语,我觉得应该是这个模型的训练语料中文涉及太低
找一个用中文调教的模型来问答体验更好