部署私有开源的GPT人工智能平台

部署私有开源的GPT人工智能平台

以ChatGPT为代表的GPT(Generative Pre-trained Transformer, 生成式预训练转换器)聊天机器人,可能是人工智能领域最重要的里程碑之一,通过自然语言式的交互,GPT正在改变我们与计算机交流和获取信息的方式。部署私有的GPT平台,和使用公开的GPT平台相比,有几个优势:

  1. 数据隐私与安全:部署在私有环境中的 GPT 可以确保数据不离开你的基础设施,从而降低数据泄露的风险。对于处理敏感或机密信息的组织来说,这是一个重要的优势。
  2. 自定义与灵活性:私有部署允许你根据特定需求对模型进行微调和优化。你可以使用专门的数据集进行再训练,以使模型更适合特定的应用场景。
  3. 响应时间和延迟:私有部署可能提供更快的响应时间,因为它不需要与公共API服务器进行通信,也不受到公共平台的流量影响。

出于这些考虑,我们在使用公共的GPT平台的同时,也基于开源的privateGPT部署了自己的GPT平台(WesinxGPT),privateGPT官方的部署步骤使用pyenv作为python虚拟环境管理器,由于在python机器学习时我们更多地使用Anaconda发布版,通过其内置的conda用于虚拟环境管理,经过测试与官方的pyenv可以达到同样的效果。

1.创建虚拟环境:使用conda create --name gpt python=3.11 命令创建一个名为gpt(可以按照需要修改) 的虚拟环境,并指定python版本为3.11(目前版本的privategpt要求python版本≥3.11且<3.12),使用conda activate gpt激活该环境,使用conda install poetry安装poetry库用于后续操作。

2. 下载privateGPT项目:从github下载privateGPT项目git clone https://github.com/imartinez/privateGPT 进入项目目录进行后续操作cd privateGPT 。

3. 使用poetry安装依赖并运行项目:使用前面的poetry安装项目依赖并配置项目,在网络良好的情况下,这两个步骤也需要较长的时间,在配置项目时,需要下载预先训练的模型,目前版本模型大于4.7G,因此需要保证网络状况良好,如果存在部分包不能安装的情况,可能需要配置代理,如果对poetry不熟悉,在安装中遇到待安装的无限pending的情况,需要删除项目下的poetry.lock文件并重新生成安装。poetry install --with ui,local , poetry run python scripts/setup

4. 启用 CUDA支持,官方文档中,如果要在windows,macos或linux平台启用cuda支持,需要增加一个步骤,windows powershell系统下命令如下,$env:CMAKE_ARGS='-DLLAMA_CUBLAS=on'; poetry run pip install --force-reinstall --no-cache-dir llama-cpp-python 。其它平台可以参考官方文档。按照官方文档的说明,编译步骤中需要c++编译器,可以安装Visual Studio 2022,并保证其中Universal Windows Platform development和C++ CMake tools for Windows这两个工具均已安装,并且安装了minGW用来进行编译,我安装的是MinGW的Msys32发行版,并为其中mingw32/bin目录下的mingw32 -make.exe文件建立了一个名为make.exe的软连接。启用CUDA支持后,上述编译步骤需要在Visual Studio工具的X86-x64 cross tools command prompt终端中才能编译成功。在这里,与powershell中不同,需要 set CMAKE_ARGS='-DLLAMA_CUBLAS=on'来配置环境变量。

5. 运行privateGPT,官方文档中,linux平台运行PGPT_PROFILES=local make run即可,但在windows平台下(powershell) ,需要先设置环境变量再运行。$env:PGPT_PROFILES="local"; make run 先配置环境变量再运行。如果没有将环境变量持久化存储,则在以后运行时,需要依次在powershell中privategpt目录下运行conda activate gpt, $env:PGPT_PROFILES="local"make run,来启动privateGPT

服务启动后,在浏览器中输入http://127.0.0.1:8001,或者http://<ip:port>可以打开privatGPT界面,与chatgpt不同,privateGPT支持私有文档的上传和分析。上传文件或开始对话后,可以在后台看到输出进度和过程,可以看出,privateGPT对电脑要求较高,在Ryzen 3700X,32g配置的电脑上,运行对话时CPU和内存负荷都会达到80%以上,不知道如果启用CUDA支持的话是否效率会高一些。

6.运行时可能会提示一些错误,其中一条是需要打开windows的开发者模式。打开后该提示消除。

作者
魏智勇(John)
加入讨论

此站点使用 Akismet 来减少垃圾评论。了解我们如何处理您的评论数据

魏智勇(John)

站长,80后,创业者,擅长工业自动化与信息化技术,熟悉各种PLC,组态软件,熟悉计算机技术,熟悉LabVIEW、C,C#,JavaScript程序设计技术。

%d 博主赞过: