首页 > 其他分享 >完全离线的本地问答模型LocalGPT如何实现无公网IP远程连接提问

完全离线的本地问答模型LocalGPT如何实现无公网IP远程连接提问

时间:2024-06-30 22:31:15浏览次数:25  
标签:LocalGPT localGPT IP 公网 离线 域名 访问 地址 cpolar

文章目录

前言

本文主要介绍如何本地部署LocalGPT并实现远程访问,由于localGPT只能通过本地局域网IP地址+端口号的形式访问,实现远程访问还需搭配cpolar内网穿透。

LocalGPT这个项目最大的亮点在于:

1.使用LLM的力量,无需互联网连接,就可以向你的文档提问。100%私密,任何数据都不会离开你的执行环境。你可以摄取文档并提问,无需互联网连接!

2.使用LangChain和Vicuna-7B以及InstructorEmbeddings构建。可以借助LangChain构建更高级能力的pipeline。

image-20230802134214726

环境准备
  • windows10

  • Git

  • python3.11.4

  • C++编译器

下载安装依赖过程中需要C++编译器,我们先提前安装C++编译器,进入微软官方下载vs2022工具:

https://visualstudio.microsoft.com/visual-cpp-build-tools/

下载后打开进行安装,我们勾选第一个C++桌面开发,然后点击右下角安装,接下来等待安装完成即可

image-20230801170431559

1. localGPT部署

localGPT在Github 上面开源了,我们可以在里面复制克隆地址,把项目克隆到本地

GitHub 地址: https://github.com/PromtEngineer/localGPT

通过Git 把项目克隆到本地windows目录,在目录中打开Powershall,执行:

git clone https://github.com/PromtEngineer/localGPT.git

即可看到克隆下来的localGPT

image-20230801163816309

进入localGPT目录

cd localGPT

下载安装依赖,然后等待完成即可

pip install -r requirements.txt
2. 启动和使用

打开localGPT目录,可以看到一个文件夹,叫:SOURCE_DOCUMENTS,我们只需把文档放到该目录下

image-20230801174849469

这里测试,放入一个java编程思想文档

image-20230801175209867

然后打开我们刚刚的命令行,下面命令提取数据,此处如果出现错误,可以尝试开启科学上网!

python ingest.py

没有报错表示正常

image-20230801175859865

然后运行localGPT_API,运行会有点慢.可以稍等一下,这里运行的时候可以指定使用电脑GPU运行服务端,这样可以加快执行速度,详细可以参考Github上文档

python run_localGPT_API.py

启动后我们可以看到api 接口端口号和地址,注意,这个窗口不能关闭,需保持运行,因为web ui 界面需要和这个api 接口保持通信

image-20230802130859818

接下来启动web ui 服务,重新在localGPT目录打开一个新的Powershell命令行窗口,然后进入localGPTUI目录

cd localGPTUI

进入后执行启动web ui 界面命令

python localGPTUI.py

启动后可以看到访问的地址和端口号,端口号是:5111

image-20230802132046806

我们打开浏览器,输入上面的web ui 服务地址和端口号,即可看到操作的web ui 界面

image-20230802132313470

在输入框中,输入需要对你文档提问的信息,然后点击search

image-20230802134214726

即可看到返回我们上传的文档里面内容,到了这里,启动安装即完成了,下面设置远程访问

image-20230802134246847

3. 安装cpolar 内网穿透

cpolar内网穿透工具,永久免费且不限制流量,支持http/https/tcp协议,无需公网IP,也不用设置路由器,使用简单。

cpolar官网:https://www.cpolar.com/

访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。

  • windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
  • linux系统:支持一键自动安装脚本,详细请参考官网文档——入门指南

cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录。

20230130105810

4. 创建公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个我们上面的localGPT 的web ui 的5111隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:5111
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

image-20230802134612688

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网地址,有两种访问方式,一种是http 和https

image-20230802134643932

5. 公网地址访问

我们使用http公网地址访问,可以看到,我们访问到了localGPT web UI 界面,这样一个公网地址访问就创建好了

image-20230802134751529

6. 固定公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择china vip top ,然后设置一个二级子域名名称,填写备注信息,点击保留

image-20230801141655483

保留成功后复制保留的二级子域名地址

image-20230801141712030

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20230801141756806

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China VIP

点击更新

image-20230802134942316

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称

image-20230802135003869

最后,我们使用固定的公网地址访问localGPT webui 界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了

image-20230802135042314

标签:LocalGPT,localGPT,IP,公网,离线,域名,访问,地址,cpolar
From: https://blog.csdn.net/2301_79558858/article/details/140060812

相关文章

  • leetCode.93. 复原 IP 地址
    leetCode.93.复原IP地址题目思路:代码//前导零的判断方法:如果第一个数是0,且第二个数还有数据,那就是前导0,要排除的//注意跟单个0区分开classSolution{public:vector<string>res;vector<string>restoreIpAddresses(strings){dfs(s,......
  • 【JavaScript脚本宇宙】打造完美用户体验:必备JS图形库指南
    探索顶尖JavaScript图形库:从jsPlumb到mxGraph前言在现代的Web开发中,交互式图形和数据可视化库成为了不可或缺的工具。这些库不仅提供了丰富的功能,还大大简化了开发人员的工作流程。本文将介绍和比较六个流行的JavaScript图形和数据可视化库:jsPlumb、GoJS、draw2d、Cytosca......
  • 【JavaScript脚本宇宙】加速您的网站:图像优化工具和库的终极指南
    别让大图拖垮你的应用:如何正确优化图像前言在数字时代,图像是我们日常生活中不可或缺的一部分。然而,随着图像数量的增加和分辨率的提高,它们也占据了越来越多的存储空间和带宽。为了解决这个问题,开发人员可以使用各种图像优化工具和技术来减小图像文件的大小,同时保持其质量......
  • 【JavaScript脚本宇宙】精通前端开发:六大热门CSS框架详解
    前端开发的利器:深入了解六大CSS框架前言在现代Web开发中,选择适合的前端框架和工具包是构建高效、响应式和美观的网站或应用程序的关键。本文将详细介绍六个广受欢迎的CSS框架:Bootstrap、Bulma、TailwindCSS、Foundation、Materialize和SemanticUI。每个框架都有其独特的......
  • 用pipenv解决pyinstaller打包文件过大的问题
    学会用pyinstaller打包python文件后,我发现直接大暴出来的文件内存特别大于是我上网搜了一些压缩方法,试过用upx,用了之后感觉有点麻烦,后面又看到了pipenv,感觉还不错首先用windows+r快捷键输入cmd打开命令管理器安装pipenv模块pipinstallpipenv-ihttps://pypi.tuna.tsinghua.......
  • Lipowerline5.0 雷达电力应用软件下载使用
    1.配网数据处理分析针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有......
  • 离线安装docker社区版
    提示:以下所有命令都在Ubuntu-24.04-live-server-amd64系统中运行文章目录前言一、离线包制作二、在目标系统上离线安装DockerCE总结前言安全原因,内部机器不能联网,要给新机器安装docker-ce只能使用离线安装方法。如果使用本文的下载包可以直接跳到第二项看。......
  • IPython的%macro魔法命令:自动化和重用代码的利器
    IPython是一个强大的交互式Python解释器,它提供了许多增强功能来提升开发效率,其中之一就是魔法命令(magiccommands)。魔法命令以%开头,用于执行特定的操作,如控制IPython的行为或执行特殊的代码转换。%macro是IPython中一个非常有用的魔法命令,它允许用户定义和存储一段代码,以便......
  • 深度解析:scikit-learn Pipeline记忆功能的秘密
    标题:深度解析:scikit-learnPipeline记忆功能的秘密摘要scikit-learn(简称sklearn)是Python中一个广泛使用的机器学习库,它提供了许多用于数据挖掘和数据分析的工具。Pipeline是sklearn中一个强大的功能,允许用户以流水线的方式组合多个数据转换和/或模型训练步骤。本文将详细......
  • 图解 Jenkins Pipeline 的前端自动化部署,用上后真香!
    图解JenkinsPipeline的前端自动化部署,用上后真香!原创 悟空聊架构 悟空聊架构 2024-06-2720:57 广东 听全文你好,我是悟空。本文目录如下:一、Jenkins前端部署思路1.1整体架构图1.2部署步骤二、Pipeline和自由风格对比三、Pipeline核心脚本......