上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

部署和调试打造属于自己的ChatGPT

[复制链接]
  • TA的每日心情
    无聊
    2023-8-2 20:48
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    9

    回帖

    15

    积分

    助理工程师

    积分
    15
    发表于 2023-8-21 04:11:35 | 显示全部楼层 | 阅读模式

    首先我关注这个项目有一段时间了,不得不说作者和他的社区真的很猛!

    首先这个项目截至目前已经有了40.9K的Start了,Fork也已经有了38.1K了,这个数据真的超级牛批了。

    那么我们来看一下这款号称: “一键拥有你自己的跨平台 ChatGPT 应用”。的应用都有那些过人之处吧。

    不想看的直接去搭建好的站点体验,下面的教程是针对想自己搭建和自己本地运行的

    https://ikunn.icu

    都是大棚里的教程如有雷同纯属巧合,CV的时候可能没注意别介意。

    根据作者的ReadMe写道:

    主要功能

    • 在 1 分钟内使用 Vercel 免费一键部署
    • 提供体积极小(~5MB)的跨平台客户端(Linux/Windows/MacOS), 下载地址
    • 完整的 Markdown 支持:LaTex 公式、Mermaid 流程图、代码高亮等等
    • 精心设计的 UI,响应式设计,支持深色模式,支持 PWA
    • 极快的首屏加载速度(~100kb),支持流式响应
    • 隐私安全,所有数据保存在用户浏览器本地
    • 预制角色功能(面具),方便地创建、分享和调试你的个性化对话
    • 海量的内置 prompt 列表,来自中文和英文
    • 自动压缩上下文聊天记录,在节省 Token 的同时支持超长对话
    • 多国语言支持:English, 简体中文, 繁体中文, 日本語, Español, Italiano, Türkçe, Deutsch, Tiếng Việt, Русский, Čeština
    • 拥有自己的域名?好上加好,绑定后即可在任何地方无障碍快速访问
      那么这是这个项目中基本的一些功能清单,另外功能还在陆续更新中,我们今天着重讲解一下如何使用他。
      首先,你如果想在自己的本地PC上直接使用的话,你无需下载NodeJS、Yarn等的环境配置文件,也就是说门槛为0!,作者在Releases中已经打造好了全面适配Windows和MacOS的桌面端应用,也就是说你直接下载解压后直接启动就可以运行了。
      下面我们进入仓库地址:
    • https://github.com/Yidadaa/ChatGPT-Next-Web
      在右侧的Release中直接点击,选择适合自己的操作系统版本,下载解压后直接使用即可。

    img

    目前截至发稿日最新的版本为v2.9.4

    下面让我来给大家做一个教程和评测吧。

    我们围绕着三个主流系统上如何使用:

    1、windows安装使用(这里会穿插讲解一下原生代码Clone到本地后的运行方法)

    2、MacOS上安装使用

    3、宝塔面板如何运行部署

    后面会统一讲解一下如何设置APIKey和代理节点的使用方法。

    1、在Window上安装使用

    首先我们来看Widnows版本用户的”傻瓜式“安装使用

    1、首先我们通过刚才的界面直接下载ChatGPT.Next.Web_2.9.4_x64-setup.exe 这个即可

    下载后是一个可.exe的可执行文件,大概是这样子的

    img

    接下来我们双击运行它,可能会出现下面的弹窗,我们不用管他,点击仍然运行即可。

    (这里需要注意的是,下载安装的文件目录一定是在某个盘下的二级目录,不要直接安装在比如D:// 下的一级目录下,他会有个提示的,没关系)

    img

    点击仍然要运行后,我们会出现以下界面,我们点击Next

    img

    我们Next后会出现让你选择安装目录的路径,这里注意一下我上面说的路径问题。

    img

    我们自己选择到对应的目录位置后,继续点击Next

    img

    接下来我们点击Install

    img

    我们Install后会出现两个选项,分别是Run ChatGPT Next Web 和Create desktop short truct

    至于一个意思是现在立刻运行 ChatGPT Next Web这个软件,一个是创建桌面快捷方式。我们根据自己的需求勾选或者取消即可,

    img

    这样我们就完成了Windows上安装——————简直不要太方便了兄弟们,这个项目的牛逼之处就在于,很多Github上的代码你都需要拉下来重新编译,有时候环境不对的情况下还会导致错误失败的原因,这个Release中就相当于帮你打包成了完整的软件,就像我们常用的QQ和微信一样,直接桌面安装。真的非常厉害!

    我们安装完成后直接点击Finish就可以看出来直接在本地就能运行了。就像微信一样简单Easy。

    img

    下面我们切换一下分支,来讲解一下,如何在本地Build和Install运行他,也就是我们常说的本地编译,如果你是一名开发者你肯定不会陌生这些操作,尤其是前端的同学们,这节主要是为了方便你自己本地进行修改代码和学习代码来用的,其实一般操作这一步骤的同学基本都是同行了。就不赘述那么多,直接来讲一下吧。

    首先我们使用Git命令将次仓库Clone下来

    我们桌面新建一个文件夹。

    img

    右键使用GitBash进行操作。

    输入命令:git clone https://github.com/Yidadaa/ChatGPT-Next-Web.git

    img

    出现100% 就说明我们已经把这个仓库的代码Clone下来了。

    我们双击进入该文件夹,我们就可以看到改代码了。

    img

    如果你想本地运行它,请确认你的电脑中有NodeJS 这些环境,最基本的你要有

    我们如何检查呢?使用Win+R 输入CMD 进入控制台。输入Node -v检查我们的Node版本。

    yarn 自己安装

    img

    我这里使用的是16.19.1版本的NodeJS 你可以尝试一下其他版本,没试过其他的我不晓得。

    img

    那么确定好版本之后呢,我们需要给他配置一个环境变量,我们看到刚才的文件夹下方有一个叫做.env.template 的文件 他就是一个环境配置文件的模板,我们复制他 并且使用F12 对他进行重命名,把后面的 .template去掉,改成.env

    img

    那么我们创建好这个文件夹之后,我们来使用记事本进行打开,为他填上所需要的变量,这里给大家截个图,然后我们按照需要自行配置即可。

    img

    我们打开后就会看到下面的文件,以及一大堆的配置参数。

    img

    下面我们来详细讲解一下配置参数里面的东西,以及如何配置吧。

    OPENAI_API_KEY (必填项)

    OpanAI 密钥,你在 openai 账户页面申请的 api key。 买key可以来:https://hezuba.top/

    CODE (可选)

    访问密码,可选,可以使用逗号隔开多个密码。

    警告:如果不填写此项,则任何人都可以直接使用你部署后的网站,可能会导致你的 token 被急速消耗完毕,建议填写此选项。

    BASE_URL (可选)

    Default: https://api.openai.com
    Examples: http://your-openai-proxy.com

    OpenAI 接口代理 URL,如果你手动配置了 openai 接口代理,请填写此选项。

    如果遇到 ssl 证书问题,请将 BASE_URL 的协议设置为 http。

    OPENAI_ORG_ID (可选)

    指定 OpenAI 中的组织 ID。

    HIDE_USER_API_KEY (可选)

    如果你不想让用户自行填入 API Key,将此环境变量设置为 1 即可。

    DISABLE_GPT4 (可选)

    如果你不想让用户使用 GPT-4,将此环境变量设置为 1 即可。

    HIDE_BALANCE_QUERY (可选)

    如果你不想让用户查询余额,将此环境变量设置为 1 即可。

    上面就是对应的配置文件的详细介绍,这个ReadMe下面也是有的 有需要的可以自行设置。

    设置好参数之后,我们退出保存。由于是为了给大家演示,就不去配置这些参数了。

    我们来看下一步。

    我们进入上方文件目录栏里,来进入控制台

    img

    输入CMD后进入控制台界面我们输入 yarn install 没有这些环境的同学自行配置吧。

    img

    输入yarn install 后我们等待他把依赖安装完成。(可能需要些时间,耐心等待即可)

    你也可以直接俩一起执行 yarn install && yarn dev

    img

    等待他加载完成后我们继续在这个页面上输入命令 yarn dev

    img

    输入yarn dev

    img

    img

    等到下面出现Successfuly 的时候就说明成功了,我们就可以在浏览器通过localhost:3000 来进行访问了

    这期间有错误提示就http://www.baidu.com 搜索一下就好了

    成功后效果

    img

    你如果修改代码里面的东西的话用VSCode 或者是WebStrom 加载进去就行了编译器就不用我教了吧。

    img

    这是作者的Reame 自己看哈

    基本上本地二开,调试就是这样了 还有一点:如果你要部署在CentoOS环境上你不要把本地Node_moudle给带上去。不知道是什么原因我本地yarn install 之后打压缩包放在服务器上不行。也可能是操作问题吧,我直接下载纯净的代码把自己修改后的内容进行了替换就是可以的。

    具体就是在windows上yarn install 和yarn build 有冲突 如果你也遇到了就重新下载一个纯净的git代码打包到服务器上然后找到你更改的文件替换 在服务器上去yarn install 和yarn build

    2、在MacOS上下载运行

    由于我没有MAC 我只能帮你脑部一下咯。

    哈哈哈哈

    依然是去Release中下载安装包

    地址:https://github.com/Yidadaa/ChatGPT-Next-Web/releases

    img

    这个.dmg的下载后就直接可以运行了。如果有Mac的朋友麻烦补一下看有没有问题哈。

    3、宝塔如何安装部署

    好了,本地的两种操作系统都进行了讲解,在宝塔上安装主要是踩过几个坑,给大家避免一下。

    首先你需要购买一台服务器,然后安装宝塔面板。开心版的话也不是不行。就是可能会有奇奇怪怪的BUG。

    我们打开宝塔之后,默认安装他所需要的环境,我的宝塔环境有些杂乱就不给大家演示了,大家上网搜索一下初始化安装的步骤就行了。

    我这里主要用到了PM2管理器

    img

    我们去软件商店进行搜索,注意一下NodeJS管理器和PM2管理器有冲突大家别搞错了!

    img

    我们打开PM2管理器,如果是第一次安装会比较慢,大家耐心能等待一下,然后我们进入Node版本,这里我切换到和我Windwos一样的16.19.1

    img

    切换好后会比较卡,稍等刷新一下就好了。

    然后我们将下载好的代码上传到服务器上

    img

    然后我们继续回到PM2管理器,来添加项目

    img

    里面的设置基本是这样的

    img

    如果提示没有模块管理去左侧的模块管理下载安装就行了,然后再返回

    img

    正常情况下他就能启动正常运行了,另外通过域名访问有两种方式

    第一种,直接在PM2管理器中映射域名

    img

    第二种通过反向代理方式:

    在左侧网站中添加一个PHP项目 选择纯静态

    img

    然后自行添加SSL证书开启HTTPS之类的常规操作

    img

    主要的是我们需要一个反向代理

    img

    点击添加反向代理,按照上面的配置,如果你改了端口就按照你实际的端口来操作。

    img

    然后点击配置文件将下方的配置输入进去:

    img

    proxy_cache off;

    proxy_buffering off;

    chunked_transfer_encoding on;

    tcp_nopush on;

    tcp_nodelay on;

    keepalive_timeout 300;

    别忘了保存啊,保存好之后就可以通过域名访问你的ChatGPT了哈

    Docker我嫌麻烦,个人习惯问题别喷,所以我没写。

    记录一下踩坑的地方:

    1. 宝塔的WAF关了 等运行成功后再开

    img

    2、把安全中心的防火墙暂时关了,还有入侵防御给关了。

    img

    3、就是PM2管理器和NodeJS冲突的问题了

    img

    还有就是:

    不要把Windows上build后的东西给传上来 还有install 的东西

    不要把Windows上build后的东西给传上来 还有install 的东西

    不要把Windows上build后的东西给传上来 还有install 的东西

    我不知道为什么我也不想知道。

    我是改完之后在本地的文件夹里把修改后的某些代码直接Copy过来在服务器上进行的修改然后build的

    基本上就这样了。

    下面说一下设置的用法。

    图片上的水印是我自己的别怀疑,不是抄袭

    img

    关于如何使用CloudFalre搭建OpenAI的文章到处都是我说一下我的吧

    我在CSDN上CV的哈,原作者看到了别捶我谢谢

    第一步:注册cloudflare账号

    前往官方网站注册一个账户 :https://www.cloudflare.com/

    img

    第二步:创建worker,进行请求中转

    img

    名字可以自己随便取一个,点击快速编辑,进入代码编辑界面

    img

    img

    js代码为

    export default {

    async fetch(request) {

    const url = new URL(request.url);

    url.host = 'api.openai.com';

    return fetch(url, { headers: request.headers, method: request.method, body: request.body });

    },

    };

    至此,代理中转服务就搭建完成了,但是我们在国内仍然不能使用的,需要配置一个可访问域名进行域名转发

    第三步:域名转发

    在左侧菜单栏==>网站 ===>添加站点,添加上我们自己的域名,这里需要是根域名

    img

    配置以后,点击域名,会提示你修改域名的DNS服务器

    需要在我们自己的域名控制面板里,找到dns管理,修改dns服务器地址

    比如我的域名是在阿里云上,我们就可以在下面这里,修改为cloudflare 要求的DNS地址

    等待cloudflare验证DNS配置成功后,会给你邮箱发送通知邮件

    就回到Worker配置那里,增加一个域名转发,我添加了一个自己的自定义域名

    img

    以上操作完成后,就可以在使用OpenAI官方接口的时候,配置使用自己的代理域名了

    我就不展示了自己用自己的。

    基本上代理就是这么玩儿的。

    其他的应该没什么遗漏的,如果有的话请见谅。可以在评论区进行互动。

    公益站点:ikunn.icu 我是哥哥的好粉丝!!!!

  • TA的每日心情
    无聊
    2023-8-2 20:48
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    9

    回帖

    15

    积分

    助理工程师

    积分
    15
    发表于 2023-8-21 04:12:01 | 显示全部楼层
    水印别介意,就是我自己
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    294

    主题

    3907

    回帖

    3828

    积分

    管理员

    积分
    3828

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2023-8-21 13:42:18 | 显示全部楼层
    一注册上来,很明确的发广告的 都是直接封号处理的

    看哥哥发的内容也不是收费之类的,也都是删帖处理

    如果有教程+公益性的网站,宣传一下自己的其它东西,倒不是很反对

    之前那个贴,我试了几下,都错误,我就删除了
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-8-2 20:48
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    9

    回帖

    15

    积分

    助理工程师

    积分
    15
    发表于 2023-8-21 14:38:01 | 显示全部楼层
    王一之 发表于 2023-8-21 13:42
    一注册上来,很明确的发广告的 都是直接封号处理的

    看哥哥发的内容也不是收费之类的,也都是删帖处理

    哈哈哈哈不得不承认一开始确实是想来打广告,没想到这儿真有教程 不打了学写脚本去,我发的三个帖子都是自己搭建的不收费放心,现在不会以后也不会。
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表