PrivateGPT(如何部署及使用感受)

news2024/12/25 12:16:10

在这里插入图片描述

前言

最近在GitHub上出现了一个名为PrivateGPT的开源项目。该项目旨在为面临敏感数据、涉密信息或个人隐私问题的用户提供一种新的聊天工具。PrivateGPT具备完整的数据控制能力,使用户能够在本地环境中与强大的语言模型进行交互,无需上传数据到互联网或与他人分享。令人欣喜的是,PrivateGPT是一个免费的开源项目,任何人都可以在GitHub上下载和使用它。这种开放性使更多人能够受益于PrivateGPT的强大功能,并为其改进和发展做出贡献。

目前看github上类似的项目有两个,地址如下
imartinez/privateGPT SamurAIGPT/privateGPT
两个项目用的模型均为ggml-gpt4all-j-v1.3-groovy.bin,所以理论上效果是差不多的,但是,第二个有可视化界面,是的,它竟然是有前端界面的,那作为一个合格的前端er,那必须选它


一、部署

我是在ubuntu 18.04的服务器部署的,如果大家还没有python环境的话,可以先看下我的这篇文章ChatGLM-6B (介绍相关概念、基础环境搭建及部署),里边有详细的python环境搭建过程。接下来我们就正式开始privateGPT的搭建

1.clone项目

git clone https://github.com/SamurAIGPT/privateGPT

2.安装依赖

# Go to client folder and run the below commands
npm install
npm run dev
# Go to server folder and run the below commands 
# 此步骤是有坑的,平坑步骤见第二小节
pip install -r requirements.txt
python privateGPT.py

3.查看项目

直接打开127.0.0.1:3000即可,界面如下
在这里插入图片描述

二、部署遇到的问题

1.python版本选择

尽量选择python3.8的环境,虽然README.me中写了“Requirements Python 3.8 or later“,但是在python3.10启动服务端是会报错的

2.python装包提示

......
Failed to build hnswlib llama-cpp-python
ERROR: Could not build wheels for hnswlib, llama-cpp-python, which is required to install pyproject.toml-based projects

解决方法:
将llama-cpp-python0.1.50和pyllamacpp2.3.0从requirements.txt移除,然后重新装包即可

3.执行python privateGPT.py报错

 /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found

解决方法:
重新装GLIBC_2.29,但是装的时候需要特别谨慎,因为这个库是linux的核心库,一步小心可能会导致系统崩溃,以下解决方法仅供大家参考

# 下载编译glibc-2.29
wget -c https://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.gz
tar -zxvf glibc-2.29.tar.gz
mkdir glibc-2.29/build
cd glibc-2.29/build
../configure --prefix=/opt/glibc
# 执行此步骤可能导致类似于Makeconfig:42: *** missing separator.的错误,应该是上一步执行因部分包版本比较旧导致失败,直接apt update下那两包即可
make 
make install
# 建立软链
cp /opt/glibc/lib/libm-2.29.so /lib/x86_64-linux-gnu/
ln -sf libm-2.29.so libm.so.6
# 查看结果
strings /lib/x86_64-linux-gnu/libm.so.6 | grep GLIBC_

在这里插入图片描述

4.在局域网中无法访问前端

我是把这个项目放到了服务器,然后用我本地的电脑去链接查看,发现后端接口均无法访问。
解决方案:
把client/components/MainContainer.js和client/components
/ConfigSideNav.js文件中的http://localhost换成服务器ip即可


三、使用感受

我是将他自己的README.md进行上传,然后进行提问,开始是用中文,发现他是不支持的,服务端报错如下:
在这里插入图片描述
然后使用提问了两个引文问题

1.how to run
2.what the Requirements in the docs

问题来源于文档内容,内容如下
在这里插入图片描述

回答如下:大家可以自行感受下
在这里插入图片描述
不太确定是不是我的打开方式不对,感觉这个回答简直离谱,如果有大佬知道是什么问题,希望可以指点一下


总结

总的起来,我认为目前的PrivateGPT在回答简单的问题时表现不佳,比ChatGPT差不少。但我仍然认为PrivateGPT的概念符合现在的趋势,在不断完善后,必将能够实现质的飞跃。

欢迎各位大佬随时指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/603121.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kotlin的for循环遍历

kotlin的for循环遍历 1、List val list listOf("A", "B", "C")for (item in list) {println(item)} A B C 2、List的in val list listOf("A", "B", "C")for (item: String in list) {println(item)} A B C 3、l…

【C/C++】基础知识之命名空间与作用域

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

【学习日记2023.6.2】之 管理端报表统计

文章目录 11. 管理端报表统计11.1 Apache ECharts11.1.1 介绍11.1.2 入门案例 11.2 营业额统计11.2.1 需求分析和设计11.2.2 代码开发Controller层Service层接口Service层实现类Mapper层 11.2.3 功能测试11.2.4 提交代码 11.3 用户统计11.3.1 需求分析和设计11.3.2 代码开发Con…

【QCA6174】QCA6174认证DFS跳转信道距离干扰信道太近,导致边带可以检测到信号问题分析及解决方案

WIFI DFS测试要求 Master设备需要测试的项目 4.6.2.1 Channel Availability Check ---信道可用性检查 定义其作为雷达脉冲检测机制,当雷达脉冲出现时所占用的信道需要能被设备检测到已经被占用。当相关信道未被占用时,这些信道被称为Avaliable Channel可用信道 4.6.2.2 In…

23Java面试专题 八股文面试全套真题(含大厂高频面试真题)多线程

文档说明 在文档中对所有的面试题都进行了 难易程度和 出现频率的等级说明 星数越多代表权重越大&#xff0c;最多五颗星&#xff08;☆☆☆☆☆&#xff09; 最少一颗星&#xff08;☆&#xff09; Java多线程相关面试题 1.线程的基础知识 1.1 线程和进程的区别&#xff1f; 难…

敷尔佳三闯IPO:去年狂赚8亿,广告宣传费近4亿

618大促已经开启&#xff0c;敷尔佳能否借“618”撑起“医美面膜第一股”&#xff1f; 近日&#xff0c;哈尔滨敷尔佳科技发展有限公司&#xff08;下称“敷尔佳”&#xff09;更新招股书&#xff0c;继续冲刺“医美面膜第一股”。 敷尔佳是一家主要从事专业皮肤护理产品的研…

MySQL中的业务数据该如何正确导入到Hive中 - Sqoop

水善利万物而不争&#xff0c;处众人之所恶&#xff0c;故几于道&#x1f4a6; 目录 1. 使用Sqoop脚本将MySQL中的数据迁移到HDFS 2. 在Hive中建立与之对应的表 3. 将HDFS中的数据load到 Hive 数仓的ODS层的表中 1 . 使用Sqoop 将 MySQL中的数据导入到HDFS上 #! /bin/bashsqoo…

二进制安装Kubernetes(K8s)集群(基于containerd)---从零安装教程(带证书)

一、实验环境 1、安装说明 selinux iptables off 官方网站&#xff1a;https://kubernetes.io/zh-cn/docs/home 主机名IP系统版本安装服务master0110.10.10.21rhel7.5nginx、etcd、api-server、scheduler、controller-manager、kubelet、proxymaster0210.10.10.22rhel7.5nginx、…

Ubuntu安装ssh并开启服务

Ubuntu开启SSH服务 1、更新源列表 $ sudo apt-get update 2、安装 说明:安装时需要提供互联网或者提前下载安装包 $ sudo apt-get install openssh-server 3、启动 $ sudo service ssh start 查询服务启动状态: $ sudo ps -e | grep ssh 或者 $ sudo service ssh status …

【C++】模板(1)

文章目录 前言一、泛型编程二、模板2.1 函数模板2.2 函数模板实例化&#xff1a;2. 3 函数模板的原理&#xff1a;2.4 模板参数的匹配原则 三、类模板 前言 C中的模板(template)是一种强大的语言特性&#xff0c;它可以让程序员编写可以适用于不同数据类型的通用代码。通过使用…

Js中的堆(heap)和栈(stack)内存

目录 1、堆和栈的概念2、数据类型3、腾讯面试题4、阿里面试题 1、堆和栈的概念 在JS钟变量都存放在内存中&#xff0c;而内存给变量开辟了两块区域&#xff0c;分别为栈区域和堆区域栈(stack)&#xff1a;是栈内存的简称&#xff0c;栈是自动分配相对固定大小的内存空间&#…

长尾词挖掘,挖掘有效长尾关键词的3个方法

长尾关键词的特征是比较长&#xff0c;往往是2-3个词组成&#xff0c;甚至是短语&#xff0c;存在于内容页面&#xff0c;除了内容页的标题&#xff0c;还存在于内容中。 长尾关键词带来的客户&#xff0c;转化为网站产品客户的概率比目标关键词高很多&#xff0c;因此长尾…

Nginx服务

目录 一、Nginx概述 二、编译安装Nginx服务 1.安装Nginx服务 2. Nginx服务的基础命令 2.1开启nginx服务 2.2关闭nginx服务 2.3重载配置文件 2.4平滑升级 3.添加 Nginx 系统服务 3.1判断 Nginx 服务是否开启 3.2 方法一&#xff1a;将 nginx 服务添加到 chkconfig管…

《面试1v1》CMS垃圾回收期

我是 javapub&#xff0c;一名 Markdown 程序员从&#x1f468;‍&#x1f4bb;&#xff0c;八股文种子选手。 《面试1v1》 连载中… 面试官&#xff1a; 小伙子,CMS 垃圾收集器跟我讲讲? 候选人&#xff1a; CMS全称Concurrent Mark Sweep,是一种并发标记清除算法。它并发执…

Unity3d 有关Invoke和 Coroutine 的执行条件的误解

文章目录 认识错误的点正解测试代码执行截图 认识错误的点 之前一直以为在父物体未激活的状态下&#xff0c; invoke 和 Coroutine 都不会执行。这里面有一点误区。 正解 Coroutine 在父物体未激活状态下&#xff0c;确实不会执行。并且如果在父物体&#xff08;包括祖先节点…

新手小白运行Springboot+vue项目

有时候我们会经常复刻别人的项目代码&#xff0c;在第一次运行别人的代码都需要哪些步骤呢&#xff1f; 我在第一次运行的时候踩了很多坑&#xff0c;也看了很多博文&#xff0c;这篇文章将我认为帮助较大的内容进行了一个整合&#xff0c;希望可以为不了解前后端分离&#xff…

【踩坑日记】【YOLO5】YOLO5 训练模型的测试结果全部相反(标签混乱)原因

问题描述 使用 labelImg 为图片数据集打上标签后交给YOLO5训练&#xff0c;发现测试结果中识别结果全部相反&#xff0c;也就是出现了标签混乱的现象。本人使用猫狗图片各 150 张作为数据集进行模型训练&#xff0c;训练出来的模型将所有的猫识别成了狗&#xff0c;所有的狗识…

【数据库从0到1】-【入门基础篇】

【数据库从0到1】-【入门基础篇】 &#x1f53b;一、数据库产生背景&#x1f53b;二、数据库有关概述&#x1f53b;三、数据库访问接口&#x1f53b;四、数据库种类&#x1f53b;五、数据库有关术语&#x1f53b;六、常见DBMS排名&#x1f53b;七、常见数据库介绍7.1 RDS(关系型…

DVWA——Brute Force

文章目录 Brute Force&#xff08;暴力&#xff08;破解&#xff09;&#xff09;&#xff08;1&#xff09;Low等级&#xff08;2&#xff09;Medium等级&#xff08;3&#xff09;High等级&#xff08;4&#xff09;Impossible Brute Force&#xff08;暴力&#xff08;破解&…

基于SpringBoot的三层架构开发统一响应结果

说明&#xff1a;三层架构开发时目前开发的主流&#xff0c;我这里通过一个案例&#xff0c;来分析非三层架构开发的不利之处&#xff0c;以及三层架构开发的好处。 案例说明&#xff1a;打开员工信息页&#xff0c;页面要显示所有员工的信息&#xff1b;前端页面已提供&#…