自建类ChatGPT服务:本地化部署与远程访问教程

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁
🦄 博客首页——猫头虎的博客🎐
🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺
🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐
🌊 《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大小厂~💐
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥
文章目录
- 自建类ChatGPT服务:本地化部署与远程访问教程
- 摘要
- 引言
- 导语
- 系统环境
- 1. 安装Text generation web UI
- 2.安装依赖
- 3. 安装语言模型
- 4. 启动
- 5. 安装cpolar 内网穿透
- 6. 创建公网地址
- 7. 公网访问
- 8. 固定公网地址
- 总结
- 原创声明

自建类ChatGPT服务:本地化部署与远程访问教程
文章目录
- 自建类ChatGPT服务:本地化部署与远程访问教程
- 摘要
- 引言
- 导语
- 系统环境
- 1. 安装Text generation web UI
- 2.安装依赖
- 3. 安装语言模型
- 4. 启动
- 5. 安装cpolar 内网穿透
- 6. 创建公网地址
- 7. 公网访问
- 8. 固定公网地址
- 总结
- 原创声明
摘要
本文介绍了如何在Windows 10系统上,通过使用Text generation web UI和cpolar内网穿透工具,搭建和远程访问自建类ChatGPT服务。文章详细介绍了安装Text generation web UI和语言模型、安装cpolar内网穿透工具、创建公网地址和固定公网地址的步骤,帮助读者快速搭建并远程访问自定义的大型语言模型。
引言
随着大型语言模型在自然语言处理领域的广泛应用,许多研究者和开发者对如何在本地进行自建类ChatGPT服务,并通过远程访问来提高效率和满足私有化部署的需求产生了兴趣。Text generation web UI为类ChatGPT的大型语言模型提供了一个友好的网页界面,使其易于使用和自定义。本文将介绍如何将Text generation web UI与cpolar内网穿透工具结合使用,实现从本地化部署到最后的远程访问。
导语
本文将指导读者通过简单的步骤在Windows 10系统上搭建自建类ChatGPT服务,并通过cpolar内网穿透工具实现远程访问。通过这种方法,读者可以轻松地拥有一个自定义的语言模型服务,无论是用于个人学习研究还是商业应用,都能得到便捷的体验。
系统环境
Windows 10
Python 3.11.4
1. 安装Text generation web UI
在github界面下载压缩包,这里以windows系统为例:
https://github.com/oobabooga/text-generation-webui
使用windows系统,我们下载windows压缩包:

下载后,这里注意:存放目录的路径不能有空格,然后点击start_windows.bat启动安装。

在安装过程中会提示选择显卡类型,根据电脑配置正常选择即可,然后等待下载,下载大小2个GB左右大小资源。

2.安装依赖
上面安装后会出现两个文件夹,可以看到其中一个是text-generation-webui 名称文件夹,我们点击cmd_windows.bat打开cmd命令行。

打开后,进入text-generation-webui文件夹:
cd text-generation-webui
执行下载依赖命令,注意!!!这里需要kx上网,否则下载依赖会发生错误,包括后面也一直需要保持kx上网哦!!!
pip install -r requirements.txt
执行后等待下载完成即可

3. 安装语言模型
同意点击cmd_windows.bat打开cmd命令行,进入

输入命令进入text-generation-webui文件夹
cd text-generation-webui
安装facebook语言模型,其他语言模型可以查看GitHub文档上面找到:
python download-model.py facebook/opt-1.3b
输入后等待下载安装完成即可,为了防止出现下载失败,建议开启kx上网!

4. 启动
点击start_windows.bat启动

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

在浏览器输入上述URL,即可看到web ui 界面:

设置一下语言模型,点击Model,在下拉框可以看到我们上面下载安装的facebook模型,选择后点击Load,然后保存设置。

然后输入即可对话,这样就搭建好了,可玩度很高,且可以扩展其他语言模型!

5. 安装cpolar 内网穿透
cpolar内网穿透工具,永久免费且不限制流量,支持http/https/tcp协议,无需公网IP,也不用设置路由器,使用简单。
cpolar官网:https://www.cpolar.com/
访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。
- windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
- linux系统:支持一键自动安装脚本,详细请参考官网文档——入门指南
cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录。

6. 创建公网地址
点击左侧仪表盘的隧道管理——创建隧道,创建一个我们上面的text generation webui 的http访问方式的7860隧道
- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
- 协议:选择http
- 本地地址:7860
- 域名类型:免费选择随机域名
- 地区:选择China vip
点击创建

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

7. 公网访问
我们使用http公网地址访问,可以看到,我们访问到了text generation webui 界面,这样一个公网地址访问就创建好了。

8. 固定公网地址
由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】
注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】
登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择china vip top,然后设置一个二级子域名名称,填写备注信息,点击保留。

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

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

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China VIP
点击更新

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

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

转载自cpolar极点云文章:本地化部署自建类ChatGPT服务远程访问
总结
本文详细介绍了在Windows 10系统上搭建自建类ChatGPT服务并实现远程访问的步骤。首先,通过下载Text generation web UI并安装依赖,成功部署了类ChatGPT的大型语言模型。然后,使用cpolar内网穿透工具创建了一个公网地址,并通过固定公网地址保证了长期稳定的远程访问。通过这样的搭建,读者可以方便地在本地操作和定制语言模型,同时通过远程访问实现更加灵活的使用方式。
原创声明
=======
作者wx: [ libin9iOak ]
本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。
作者保证信息真实可靠,但不对准确性和完整性承担责任。
未经许可,禁止商业用途。
如有疑问或建议,请联系作者。
感谢您的支持与尊重。
点击
下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。
相关文章:
自建类ChatGPT服务:本地化部署与远程访问教程
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
常用SQL语句总结
SQL语句 文章目录 SQL语句1 SQL语句简介2 DQL(数据查询语句)3 DML(数据操纵语句)4 DDL(数据定义语句)5 DCL(数据控制语句)6 TCL(事务控制语句) 1 SQL语句简介…...
arm交叉编译lmbench
一、下载lmbench www.bitmover.com/lmbench 官网下载,http://www.bitmover.com/lmbench/lmbench3.tar.gz 我没有下载下来,找的别人的百度云下载 链接: https://pan.baidu.com/s/1tGo1clCqY-jQPN8G1eWSsg 提取码: f6jd 二、修改makefile 修改三个文件…...
ExtJs 7.7.0 下载方法与去除trial水印
背景 最近发现Sencha ExtJs发布了ExtJs7.7.0版本,立刻下载了SDK包,许多朋友不知如何下载,如何去除右上角的trial水印。本文讲下相关下载技巧与方法。 下载SDK 首先需要申请试用,申请地址如下,需要注意可能需要梯子&…...
Android11开发规划
文章目录 规划总结规划 提示:这里可以添加本文要记录的大概内容: 从本文开始,会介绍如何移植瑞芯微提供的Android11源码到自己的RK3568的板子上 下面是整个Android开发的规划: 包括以下部分: … 一、移植部分 下载编译瑞芯微提供的源码 瑞芯微原厂源码目录介绍...
活动隔断在现在酒店运用的方式
活动隔断是一种在酒店内部划分空间的方式,用于实现不同活动的隔离和隐私。现代酒店常用的活动隔断方式有以下几种: 1. 固定隔断:使用墙体、固定屏风或者板材等材料,将空间划分为不同的房间或区域。这种方式常用于划分客房、会议室…...
Jenkins工具系列 —— 插件 钉钉发送消息
文章目录 安装插件 Ding TalkJenkins 配置钉钉机器人钉钉APP配置项目中启动钉钉通知功能 安装插件 Ding Talk 点击 左侧的 Manage Jenkins —> Plugins ——> 左侧的 Available plugins Jenkins 配置钉钉机器人 点击 左侧的 Manage Jenkins ,拉到最后 钉…...
LeetCode 26 题:删除有序数组的重复项
思路 在写这一个题时,我突然想到了Python中的 set()函数可能会有大用处,便选择了用Python写。 set()函数可以将列表转化为集合,集合会保证元素的单一性,所以会自动删去相同字符。 …...
优雅地切换node版本(windows)
文章目录 1、下载并安装nvm2、nvm的使用3、处理npm版本与nodejs版本不匹配问题(通常不会有这个问题) 1、下载并安装nvm 卸载已安装的node:控制面板-程序-找到node并卸载 通常在控制面板中卸载后,nodejs目录、环境变量、注册表就自…...
反诈:吴明军、黄亮领导的WIN生活资金盘,大家警惕防范此类诈骗
消息已经证实!“米粒”无法变现,数以万计的会员深套“315万民商城”,维权艰难,血汗钱无法讨回。 其实这一点笔者并不感到太意外,因为万民商城资金传销盘的定性之前就已经发文揭露过,并反复提醒大家小心警惕…...
shell、bash的关系及bash的特性(一)
一、概念 shell是壳,是运行在终端中的文本互动程序。Shell相当于是一个翻译,把我们在计算机上的操作命令,翻译为计算机可识别的二进制命令,传递给内核,以便调用计算机硬件执行相关的操作;同时,计…...
【问题随记】
ubuntu 14.04源更新(sources.list) deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-update…...
Stable Diffusion AI绘画学习指南【常用模型,采样器介绍】
常用采样器、目前有20个采样步骤越多每个步之间的降噪越小,减少采样过程中的截断误差,结果越好 学微分方程求解器 Euler(最简单的采样器,采样过程中不加随机噪声,根据采样计划来执行每个步骤中的噪声,并使…...
pycharm——漏斗图
import pyecharts.options as opts from pyecharts.charts import Funnel""" Gallery 使用 pyecharts 1.1.0 参考地址: https://echarts.apache.org/examples/editor.html?cfunnel目前无法实现的功能:1、暂时无法对漏斗图的长宽等范围操作进行修改 ""…...
RISC-V基础之浮点指令(包含实例)
RISC-V体系结构定义了可选的浮点扩展,分别称为RVF、RVD和RVQ,用于操作单精度、双精度和四倍精度的浮点数。RVF/D/Q定义了32个浮点寄存器,f0到f31,它们的宽度分别为32位、64位或128位。当一个处理器实现了多个浮点扩展时࿰…...
前端生成图片验证码怎么做?
##题记:我们实现一个功能首先想一下我们需要做哪些工作,比如我们需要生成一个随机的图片验证码,我们需要一个就是点击事件获取验证码,通过接口我们去获取图片路径进行渲染就行,这里边还要牵扯一件事情就是获取一个随机…...
【Java】springboot框架 粮油质量溯源MES生产加工管理系统源码
粮油质量溯源MES生产加工管理系统源码,实现一物一码,全程追溯,正向追踪,逆向溯源。技术架构:spring bootmybatiseasyuimysql 。 粮油生产质量追溯系统实现种植主体、种植基地、生产计划、压榨、精炼、包装、销售、物料…...
macOS install redis遇到的bug(tar包,homebrew安装,守护进程redis.conf配置)
官网下载tar包再make install 首先是sudo make test的时候一直报 !!! WARNING The following tests failed: *** [err]: trim on SET with big value in tests/unit/type/string.tcl Expected [r memory usage key] < 42000 (context: type source line 478 file /usr/loca…...
面试题:创建JS对象的几种方式?构造函数是什么?new操作符具体干了什么?为什么字符串可以使用length?
内置构造函数还未更新完,待更新。。。 js创建对象的三种方式?构造函数是什么?new操作符具体干了什么?为什么字符串可以使用length? 内置构造函数还未更新完,待更新。。。一、利用对象字面量创建对象二、利用…...
LabVIEW深度相机与三维定位实战(下)
🏡博客主页: virobotics的CSDN博客:LabVIEW深度学习、人工智能博主 🎄所属专栏:『LabVIEW深度学习实战』 🍻上期文章:『LabVIEW深度相机与三维定位实战(上)』 &#…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...
