电脑本地搭建privateGPT流程

2024-04-20 09:12

本文主要是介绍电脑本地搭建privateGPT流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 前言
    • 效果
    • 所需文件
    • 流程
      • 1,python版本
      • 2,工程文件安装
        • 2.1服务端搭建
        • 2.2客户端搭建
      • 3,模型下载

前言

当我的电脑主机在本地运行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可以理解
但是我丢进去中文文档使用中文提问,就会胡言乱语,我觉得应该是这个模型的训练语料中文涉及太低
找一个用中文调教的模型来问答体验更好

这篇关于电脑本地搭建privateGPT流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/919846

相关文章

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法

《mss32.dll文件丢失怎么办?电脑提示mss32.dll丢失的多种修复方法》最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢... 在电脑常年累月的使用过程中,偶尔会遇到一些问题令人头疼。像是某个程序尝试运行时,系统突然弹出一个错误提

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较