设为首页

加入收藏

繁體中文

 OK5266.COM | 本站首页 | 资讯动态 | 站内公告 | 精品文萃 | 下载中心 | 学习园地 | 博客世界 | 论坛世界 | 访客留言 | 手机访问 | 微公众号 |

     [ 南湖君 ], welcome back!

«Mar.2024»
12
3456789
10111213141516
17181920212223
24252627282930
31

用户:
密码:
缓存:

Bulletin Board

暂无公告...

My Features

Blog Update

Latest Comments

Messages

Friend Site Links

爱德华网络世界

Blog Counts
blog名称:南湖君
日志总数:23
评论数量:8
留言数量:0
访问次数:106178
建立时间:2004年9月16日

[学习天地]ChatGPT接入到web网站教程
edward 发表于 2023-5-18 20:32:49

一、服务器搭建

免费的是什么样的服务器?

1 核心 1GB 内存 20GB硬盘,自己玩玩足够用了。

国内云计算服务提供商包括阿里云、腾讯云、华为云、百度云、京东云等,而国外也有像亚马逊旗下的 AWS 云这样的服务商。重点是,AWS 提供了免费的云服务,任何人都可以使用。

在 AWS 的免费套餐页面,用户可以免费使用多种产品和服务,例如云服务器、数据库、函数计算、机器学习等。这个免费套餐对于学生、初学者或小规模企业等用户来说非常有吸引力。网址为:https://aws.amazon.com/cn/free

需要注意的是:

AWS 免费套餐中的 EC2 云服务器只提供了 1 核心和 1GB 的内存,在安装 Docker、Portainer 和一个 Java SpringBoot 应用程序后,运行正常并且稳定。

申请 AWS 免费套餐时需要提供银行卡信息,但使用其他银行卡也是可以的。有些营销文为了卖服务器会夸大其扣费情况,但实际上 AWS 免费套餐并没有恶意扣费的问题。本人也搜索了相关信息并验证了一段时间,发现使用十分顺畅。

当使用时间接近 1 年时,用户可以停止服务并重新申请一个新的账户,以继续使用 AWS 免费套餐。

如果以上注意点没有问题,用户可以按照接下来的教程进行申请和使用。需要注意的是,由于 AWS EC2 和国内一些服务器使用的方式略有不同,因此需要按照教程创建并使用实例。

1.申请Key(OpenAI)
1.访问ChatGPT官网:https://platform.openai.com/account/api-keys

没有账号?来看看如何注册:https://y3if3fk7ce.feishu.cn/docx/QBqwdyde7omVf4x69paconlgnAc

2.点击 Create new Secret Key

2.创建免费服务器
以下是在 AWS 上创建免费服务器的简要攻略:

注册 AWS 账户:前往 AWS 官网(https://aws.amazon.com/)进行注册。需要提供一些基本信息并设置账户密码。

登录 AWS 控制台:注册完成后,使用账户密码登录 AWS 控制台(https://console.aws.amazon.com/

进到IAM控制面板
在创建 Amazon EC2 云服务器前,需要在控制面板中创建;用户组、用户、角色,这样在后面创建服务器的时候才能把用户信息给关联上。

方式一、点击这里进入IAM控制面板:

https://us-east-1.console.aws.amazon.com/iamv2/home?region=us-east-2#/home -

方式二、或者搜索 IAM 并进入,就是IAM控制面板。

3.1 添加用户
用户=》添加用户

指定用户详细信息

设置权限

下一步即可。

下载.csv文件

说明:首先你需要在IAM控制面板下的访问管理中的用户下,创建一个自己的用户。你可以创建用户名为 admin 或者其他你喜欢的名字。

3.2 创建用户组
策略这部分,搜索AdministratorAccess,然后如下图勾选后创建组,即可。

创建部署实例:
访问ECS控制台地址如下:https://us-east-2.console.aws.amazon.com/ec2/home?region=us-east-2#KeyPairs:

在创建应用实例之前,需要先创建一个密钥对,并在创建应用实例时将其关联。同时,该密钥对也是本地 SSH 登录的重要凭证,如果没有密钥对,将无法登录实例。

创建密钥对后,AWS 会自动将其下载到本地,因此需要确保将其保存好

写一个名称后,默认创建即可。

创建完成后,会自动下载一个名为 后缀名字为 ppm 的文件,保存好它,后面用。

4.2 创建安装组
用于访问服务器的端口都需要在安全组中开通,比如 SSH 22、Portainer 9000、Docker 2375 所以需要自己创建一个安全组。

地址:https://us-east-2.console.aws.amazon.com/ec2/home?region=us-east-2#SecurityGroups:

以后你想控制各个端口的访问,就在安全组中操作就可以了。
创建ECS实例
注意:如果在使用中把自己的应用实例搞坏了,没关系。直接干掉它,重新启动新实例就可以了。

连接到实例:
启动实例后,您需要使用 SSH 客户端连接到实例。您需要下载密钥文件,然后使用该文件连接到实例。可以在 EC2 控制台中的“实例”页面中查找实例的公共 IP 地址。

Amazon EC2 云服务器提供了 EC2 在线连接、会话管理器、SSH 客户端、EC2 串行管理器。我们这里主要用在线的和 SSH 客户端。

EC2 在线连接,直接点上连接就可以了。SSH 客户端需要按照引导进行操作。
————————————————

原文参考:https://blog.csdn.net/weixin_38428126/article/details/130040020

二、ChatGPT搭建

这是ChatGPT web服务器在电脑和手机上的展示效果。 

我先教大家怎么自己搭建ChatGPT web网站,博客最后会公布我的网站给大家免费使用。

你也可以直接拉到最后获取我的ChatGPT web网站使用。

搭建ChatGPT web网站

API key

需要一个chatGPT账号并生成一个API Key,这个API secret Key是为了验证你的身份。

这个非常简单,我们打开openai的平台地址:https://platform.openai.com/

登录之后点击右上角的头像,点击Manage Account->API Keys->Create New Secret Key, 然后复制下来保存备用。

云服务器

云服务器需要在境外。

VPS/云服务器

如果你还没有云服务器或者VPS,可以按第一部分的介绍,申请亚马逊云服务器,有免费一年试用建议使用,建议使用 Ubuntu系统。可以用来搭建科学上网,搭建个人网站,也可以用来接入ChatGPT。如果你的预算充足,也可以直接购买云服务器。

云服务器建议使用Linux Ubuntu系统

如果有了云服务器我们先切换到root账户sudo su

然后执行以下命令来复制一份网站的模版:

git clone https://github.com/ok5266/AI-Bot.git
cd AI-Bot

装依赖

安装Node

node 需要 18或以上的版本

执行以下命令:

# 安装nodejs
apt install nodejs
# 安装node包管理器
apt install npm
# 升级包管理工具upgrade
npm install -g n
# 升级到node.js最新稳定版
n stable # latest
hash -r
# 查看版本,如果是 18及以上就可以了
node -v

若上面命令无法执行安装,执行下面命令:

# 安装节点版本管理器 (nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
# 激活 nvm
. ~/.nvm/nvm.sh
# 使用 nvm 安装最新版本的 Node.js
nvm install --lts
# 升级包管理工具upgrade
npm install pnpm -g

安装PNPM

如果你没有安装过 pnpm,这是npm的替代品

npm install pnpm -g

填写密钥

# 进入 service目录
cd service
# 打开 .env 文件
vim .env
# 填写你之前复制的API srecet key
OPENAI_API_KEY=abcdefgh

i 进入编辑模式,编辑完成后按 Esc 然后输入, 再输入 :wq (written and quit), 保存退出。 :q 不保存,直接退出。

安装服务

后端

我们在文件夹 service 运行以下命令

pnpm install

前端

根目录chatgpt-web下运行以下命令

pnpm bootstrap

运行

后端服务

进入文件夹 service 运行以下命令

touch nohup.out
nohup pnpm start & tail -f nohup.out

运行后,^Z退出。

前端网页

默认是1002端口,记得修改云服务器的防火墙允许你使用的端口被外网访问。

如果需要修改端口请打开这个文件修改。

vim vite.config.ts

我这里把端口改成80,因为http的默认端口是80,为了方便我绑定域名到这个ip上。如果你的80端口被占用,那请选择另外的端口。

根目录下运行以下命令

touch nohup.out
nohup pnpm dev & tail -f nohup.out

运行后,^Z退出。

绑定域名

如果你有域名,可以直接绑定到你的公网IP上,既可以绑定`顶级域名也可以绑定到二级域名。

只需要加一条A记录即可。

顶级域名

使用 http://example.com 就可以访问了。 

二级域名

使用 http://chat.example.com 就可以访问了。

 

杀进程

如果需要重启,需要执行以下命令查到所有的进程ID,然后杀掉所有进程

ps -ef | grep -v grep | grep -E 'pnpm|node' 
# 所有的进程都需要kill掉 
kill -9 PID


修改个人信息

如果你想修改你的个人信息:

personal

打开helper.ts文件,vim src/store/modules/user/helper.ts

export function defaultSetting(): UserState {
  return {
    userInfo: {
      avatar: 'http://www.ok5266.com/ai/src/assets/avatar2.jpg',
      name: 'Edward AI Chat',
      description: 'Homepage <a href="http://www.ok5266.com/" 
class="text-blue-500" target="_blank" >OK5266</a>',
    },
  }
}

userInfo的信息都可以修改。

密码访问

如果需要添加密码访问: 

打开.env文件,vim service/.env

这个等号后面填上你的密码即可。

AUTH_SECRET_KEY=

如果想修改提示文本:

vim src/locales/zh-CN.ts

搜索:unauthorizedTips并修改文本即可。

每小时访问限制

打开service目录下的.env文件,vim service/.env

# Rate Limit
MAX_REQUEST_PER_HOUR=3600

阅读全文(306) | 回复(0) | 引用(2)

发表评论:
昵称:
密码:
主页:
标题:
爱德华网络世界 | 博客首页 | 联系我们 | 博客注册 | 博客登陆
Powered by www.ok5266.com © Copyright 2004-2024. All rights reserved.
Processed in 0.047 second(s), page refreshed 193916 times.