首页 > 其他分享 >通过Serverless私有化部署ChatGPT Web

通过Serverless私有化部署ChatGPT Web

时间:2023-05-11 22:26:18浏览次数:48  
标签:Serverless Web 域名 设置 镜像 ChatGPT com

作为开发人员,想要自己部署一个渠道访问或是想随时访问但是奈何魔法有限,又或是海外服务器太贵,不想耗费这个钱,本文借助 Serverless 来搭建一下私有 ChatGPT 服务,Serverless 按照使用量来计费,个人使用下(满足工作和生活)费用相当低。


本文过程较为繁琐,也有更为简便的其他方式:

https://rptzik3toh.feishu.cn/docx/XtrdduHwXoSCGIxeFLlcEPsdn8b


前言

本次搭建过程需要满足以下几个条件,需要预先满足,已经注册或是从一些渠道获取到了 Api key,有自己的备案域名。

  • 已有 Api key
  • 需要开通阿里云 Serverless
  • 需要开通阿里云容器镜像服务
  • 已有备案域名
    图片

云函数

开通服务(略过,免费开通), https://www.aliyun.com/product/fc

  1. 顶部选择地域,如硅谷
  2. 左侧选择服务及函数
  3. 创建服务,填写服务描述信息即可

图片


容器镜像服务

开通服务(掠过,免费开通), https://www.aliyun.com/product/acr

  1. 顶部选择海外站点,如硅谷

图片

  1. 进入个人实例。创建镜像仓库,下一步中选择本地仓库,保存。

图片

  1. 点击仓库名称进入仓库内部,该部分命令稍后会用到,此处只需看到即可。

图片


ChatGPTVNextWeb

https://github.com/Yidadaa/ChatGPT-Next-Web

该仓库实现了 ChatGPT 的交互 UI,提供了 Docker 镜像方便部署。可将该镜像上传到个人的容器镜像服务(供 Serverless 绑定部署使用)。

  1. 拉取 VNextWeb 镜像到本地
docker pull yidadaa/chatgpt-next-web
  1. 本地登录容器镜像服务(见容器镜像服务节末图)
docker login --username=用户名 registry.us-west-1.aliyuncs.com
  1. 标记本地 VNextWeb 镜像版本

查看镜像 id

docker images

eg:查看本地镜像,复制Id

图片

设置镜像版本

docker tag [ImageId] registry.us-west-1.aliyuncs.com/partner/chatgptnextweb:[镜像版本号]

eg:此处直接标记最新版本 latest

docker tag a58372f00c78 registry.us-west-1.aliyuncs.com/partner/chatgptnextweb:latest
  1. 上传镜像到容器镜像服务
docker push registry.us-west-1.aliyuncs.com/partner/chatgptnextweb:[镜像版本号]

eg:推送镜像

docker push registry.us-west-1.aliyuncs.com/partner/chatgptnextweb:latest

创建函数

回到 Serverless 管理页面中,开始创建函数

图片

基础设置

使用镜像创建方式,填写描述信息,选择如下设置即可。

图片

选择镜像与端口设置

选择容器镜像服务中个人实例下镜像仓库中的镜像,仓库需要和当前 Serverless 地域相同,设置监听端口 3000

图片

高级设置

选择最低配置即可,该配置足矣满足个人使用。

图片

环境变量设置

  • CODE, 设置访问密码,可设置多个(逗号隔开)以方便共享给其他人使用,不设置则任何人都可访问(谨慎)。
  • OPENAI_API_KEY, ChatGPT 的 Api key。

图片

一切完毕点击创建即可。


访问函数

如上创建完毕后会跳转到详情页,点击测试函数,开始部署

图片

如执行完毕,得到返回页面则部署成功。

图片


私有域名

当部署完毕云服务商会提供一个生成好的域名(点击触发器管理),但不能在浏览器中访问(直接访问会下载访问页面成文件形式),需要配合自定义域名使用。

图片

添加自定义域名

点击创建自定义域名跳转到新页面中,点击添加自定义域名跳转到添加页面。复制如下红箭头地址,进入到下一步中。

图片

此处需要已经有了一个备案好的域名,不管是在阿里云还是腾讯云。此处以腾讯云为例,进入 dns 解析页 https://console.dnspod.cn/dns

图片

添加记录,设置想要的域名前缀,记录类型选择 CNAME,记录值中粘贴上一步的复制的公网 CNAME 值,确认即可。

回到添加自定义域名页面,设置域名地址(域名前缀.域名主体, 例如 cn.bing.com),再选择服务名,函数名和版本,创建即可。

图片

通过域名地址访问,则可看到页面内容,点击设置填写预先设置好的访问密码。便可使用自己的 ChatGPT 服务了。

图片


2023-05-11,望技术有成后能回来看见自己的脚步

标签:Serverless,Web,域名,设置,镜像,ChatGPT,com
From: https://www.cnblogs.com/CKExp/p/17392384.html

相关文章

  • web调用PC摄像头进行视频录制
    在项目中我们很多时候都会遇到使用浏览器调用电脑设备的需求,记录一下实现思路及方法,共享一下技术点,同时也方便日后查看和整理web浏览器在设计的时候为我们提供了很多的API接口实现功能,我们这次使用web调用PC摄像头和录音设备,主要思路是:获取到设备的媒体流,再将媒体流进行转存。......
  • HTB ACADEMY-Web Fuzzing WRITE UP
    准备工作基本信息操作对象:VmwareStation(Kali-Linux)目标实例对象:178.128.46.49:30893/academy.htb安装单词列表(WordList),例如GithubSecLists,本次需要的单词列表文件如下:文件名用途/opt/useful/SecLists/Discovery/Web-Content/directory-list-2.3-small.txt......
  • Spring MVC官方文档学习笔记(一)之Web入门
    注:该章节主要为原创内容,为后续的SpringMVC内容做一个先行铺垫1.Servlet的构建使用(1)选择Maven->webapp来构建一个web应用(2)构建好后,打开pom.xml文件,一要注意打包方式为war包,二导入servlet依赖,如下<!--打war包--><packaging>war</packaging><!--导入servlet依赖......
  • ChatGPT 再遭禁用 | 人工智能时代下数据安全如何保障
    近日,三星电子宣布禁止员工使用流行的生成式AI工具,原因在于4月初三星内部发生的三起涉及ChatGPT误用造成的数据泄露事件。报道称,三星半导体设备测量资料、产品良率等内容或已被存入ChatGPT学习资料库中。去年11月上线以来,ChatGPT一直是科技领域的焦点。上线短短5天,注册用户数......
  • web游览器的标签页仿 ios mac 苹果的墓碑机制 (js代码)
    背景:本来项目开发系统防挂机功能,在其余游览器中均可以使用。但是呢在苹果的safair游览器中会出现几率失效,最后经过排查发现是苹果的墓碑机制导致。即:此标签页活跃,其他标签页假死。然后就导致防挂机失效了。原理:假如当前游览器中有3个标签页分别是A,B,C,每个标签页都有倒计时。正......
  • Qwik 1.0 发布,全栈式 Web 框架
    Qwik是一个全栈式Web框架,Qwik基于React、Angular和Vue等其他Web框架的概念,但以JavaScript流等更新的方法脱颖而出,允许以高性能向用户交付复杂的Web应用程序。随着Web应用程序变得越来越大,它们的启动性能会下降,因为当前的框架向客户端发送了太多的JavaScript......
  • c# 调用webapi的几种方式
     HttpHelper帮助类publicstaticclassHttphelper{//Post请求publicstaticstringPostResponse(stringurl,stringpostData,outstringstatusCode){stringresult=string.Empty;//设置Http的正文......
  • OData WebAPI实践-OData与EDM
    本文属于OData系列引言在OData中,EDM(EntityDataModel)代表“实体数据模型”,它是一种用于表示WebAPI中的结构化数据的格式。EDM定义了可以由OData服务公开的数据类型、实体和关系。EDM也提供了一些规则来描述数据模型中的实体之间的关系,例如继承、关联和复合类型。E......
  • 如何用 Serverless 一键部署 Stable Diffusion?
    思路其实很简单,我们只需要将镜像里面的动态路径映射到NAS文件存储里面即可,利用NAS独立存储文件模型,扩展,语言包等,并且我们可以为管理NAS单独配置一个可视化的后台,用简单的文件上传删除的方式管理我们的文件,为此我们需要展开打镜像的脚本,为了完成全套的流程我们接下来盘一下......
  • JavaWeb之Servlet本质
    Servlet:服务器和Wepapp开发者之间的协议,sun公司已经规范了Servlet协议,Wepapp开发者只需要去实现规范接口类和对应的配置文件即可,Servlet底层是面向接口编程,用反射机制实例化一个类后再向下转型成Servlet类(因为Wepapp开发者实现规范好,只需到对应的文件中调用各个方法)菜鸟教程的解......