轻松部署自己的AI聊天助手LocalGPT并实现无公网IP远程交互
文章目录
- 前言
- 环境准备
- 1. localGPT部署
- 2. 启动和使用
- 3. 安装cpolar 内网穿透
- 4. 创建公网地址
- 5. 公网地址访问
- 6. 固定公网地址
前言
本文主要介绍如何本地部署LocalGPT并实现远程访问,由于localGPT只能通过本地局域网IP地址+端口号的形式访问,实现远程访问还需搭配cpolar内网穿透。
LocalGPT这个项目最大的亮点在于:
1.使用LLM的力量,无需互联网连接,就可以向你的文档提问。100%私密,任何数据都不会离开你的执行环境。你可以摄取文档并提问,无需互联网连接!
2.使用LangChain和Vicuna-7B以及InstructorEmbeddings构建。可以借助LangChain构建更高级能力的pipeline。
环境准备
-
windows10
-
Git
-
python3.11.4
-
C++编译器
下载安装依赖过程中需要C++编译器,我们先提前安装C++编译器,进入微软官方下载vs2022工具:
https://visualstudio.microsoft.com/visual-cpp-build-tools/
下载后打开进行安装,我们勾选第一个C++桌面开发,然后点击右下角安装,接下来等待安装完成即可
1. localGPT部署
localGPT在Github 上面开源了,我们可以在里面复制克隆地址,把项目克隆到本地
GitHub 地址: https://github.com/PromtEngineer/localGPT
通过Git 把项目克隆到本地windows目录,在目录中打开Powershall,执行:
git clone https://github.com/PromtEngineer/localGPT.git
即可看到克隆下来的localGPT
进入localGPT目录
cd localGPT
下载安装依赖,然后等待完成即可
pip install -r requirements.txt
2. 启动和使用
打开localGPT目录,可以看到一个文件夹,叫:SOURCE_DOCUMENTS,我们只需把文档放到该目录下
这里测试,放入一个java编程思想文档
然后打开我们刚刚的命令行,下面命令提取数据,此处如果出现错误,可以尝试开启科学上网!
python ingest.py
没有报错表示正常
然后运行localGPT_API,运行会有点慢.可以稍等一下,这里运行的时候可以指定使用电脑GPU运行服务端,这样可以加快执行速度,详细可以参考Github上文档
python run_localGPT_API.py
启动后我们可以看到api 接口端口号和地址,注意,这个窗口不能关闭,需保持运行,因为web ui 界面需要和这个api 接口保持通信
接下来启动web ui 服务,重新在localGPT目录打开一个新的Powershell命令行窗口,然后进入localGPTUI目录
cd localGPTUI
进入后执行启动web ui 界面命令
python localGPTUI.py
启动后可以看到访问的地址和端口号,端口号是:5111
我们打开浏览器,输入上面的web ui 服务地址和端口号,即可看到操作的web ui 界面
在输入框中,输入需要对你文档提问的信息,然后点击search
即可看到返回我们上传的文档里面内容,到了这里,启动安装即完成了,下面设置远程访问
3. 安装cpolar 内网穿透
cpolar内网穿透工具,永久免费且不限制流量,支持http/https/tcp协议,无需公网IP,也不用设置路由器,使用简单。
cpolar官网:https://www.cpolar.com/
访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。
- windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
- linux系统:支持一键自动安装脚本,详细请参考官网文档——入门指南
cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录。
4. 创建公网地址
点击左侧仪表盘的隧道管理——创建隧道,创建一个我们上面的localGPT 的web ui 的5111隧道
- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
- 协议:选择http
- 本地地址:5111
- 域名类型:免费选择随机域名
- 地区:选择China vip
点击创建
隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网地址,有两种访问方式,一种是http 和https
5. 公网地址访问
我们使用http公网地址访问,可以看到,我们访问到了localGPT web UI 界面,这样一个公网地址访问就创建好了
6. 固定公网地址
由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。
注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】
登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择china vip top ,然后设置一个二级子域名名称,填写备注信息,点击保留
保留成功后复制保留的二级子域名地址
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China VIP
点击更新
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称
最后,我们使用固定的公网地址访问localGPT webui 界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了