Technology Sharing

  • 首页
  • 资料分享
  • 在线工具
    • 随机密码生成器
  • 介绍
  • RSS
  • privacy
  • 云产品推广
    • 腾讯云
    • 阿里云
Share IT knowledge
  1. 首页
  2. 热门分享
  3. 正文

把ChatGPT部署到自己的网站

2023年3月7日 341点热度 0人点赞 0条评论

在今天的社交媒体和即时通讯时代,人们越来越倾向于通过文字交流来保持联系和进行沟通。随着自然语言处理技术的发展,聊天机器人逐渐成为人们进行文字交流的新方式。ChatGPT是一种基于OpenAI GPT的聊天机器人,它可以进行人工智能聊天并提供自然、流畅的文字交流体验。而在这篇博客中,我们将会介绍一个基于ChatGPT的Web聊天应用程序。

这个应用程序的GitHub链接是https://github.com/Chanzhaoyu/chatgpt-web,它是一个基于Flask和Bootstrap的Web应用程序。它使用了OpenAI GPT技术来提供自然语言处理和聊天机器人的功能,同时通过Flask提供了Web应用程序的基础框架,使用Bootstrap美化了Web应用程序的前端页面。

本文将介绍如何使用 Docker 和 Nginx 将 https://github.com/Chanzhaoyu/chatgpt-web 部署到服务器上

效果展示

访问入口:
1)https://technology.sharespace.top/chatgpt/
2)http://chatgpt.sharespace.top
验证账号:chatgpt_web 验证密码:b@YtIj30a32v

如果遇到这种报错,说明免费额度已用完,真的很抱歉,如果能资助博主的话,将继续免费提供给大家使用。

准备工作

1、有一个可正常登录的chatGPT账号
2、有一台可稳定访问OpenAl的境外服务器(e.g.美国或新加坡的主机均可)
阿里云新人特惠专享 腾讯云新人特惠专享
如果你还没有注册一个ChatGPT 账号,可以参考下面的教程进行注册:

https://zblogs.top/how-to-register-openai-chatgpt-in-china/
安装 Docker

在 CentOS 7 系统上安装docker

卸载旧版本的 Docker
如果您已经安装了旧版本的 Docker,请先将其卸载:
sudo yum remove docker docker-common docker-selinux docker-engine

安装必要的工具
安装 Docker 需要一些必要的工具和依赖项,可以使用以下命令安装:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加 Docker CE YUM 仓库
Docker 官方提供了一个 YUM 仓库,可以从该仓库中安装 Docker CE,使用以下命令添加该仓库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装 Docker CE
使用以下命令安装 Docker CE:
sudo yum install docker-ce

启动 Docker
使用以下命令启动 Docker 服务:
sudo systemctl start docker

设置 Docker 开机自启
使用以下命令设置 Docker 服务在开机时自动启动:
sudo systemctl enable docker

验证安装
使用以下命令验证 Docker 是否已成功安装:
sudo docker run hello-world

如果一切顺利,将会看到 Hello from Docker! 的消息,表示 Docker 已经成功安装并可以正常工作。

在 Ubuntu 系统上安装docker

卸载旧版本的 Docker
如果您已经安装了旧版本的 Docker,请先将其卸载:
sudo apt-get remove docker docker-engine docker.io containerd runc

安装必要的工具
安装 Docker 需要一些必要的工具和依赖项,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common

添加 Docker GPG 密钥
添加 Docker 官方 GPG 密钥,以验证下载的 Docker 软件包的完整性:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

添加 Docker APT 仓库
Docker 官方提供了一个 APT 仓库,可以从该仓库中安装 Docker CE,使用以下命令添加该仓库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

安装 Docker CE
使用以下命令安装 Docker CE:
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

启动 Docker
使用以下命令启动 Docker 服务:
sudo systemctl start docker

设置 Docker 开机自启
使用以下命令设置 Docker 服务在开机时自动启动:
sudo systemctl enable docker

验证安装
使用以下命令验证 Docker 是否已成功安装:
sudo docker run hello-world

如果一切顺利,将会看到 Hello from Docker! 的消息,表示 Docker 已经成功安装并可以正常工作。
安装nginx

在 CentOS 7 上安装 Nginx

使用以下命令安装 Nginx:
sudo yum install epel-release
sudo yum install nginx

安装完成后,可以使用以下命令启动 Nginx:
sudo systemctl start nginx

还可以使用以下命令设置 Nginx 在开机时自动启动:

sudo systemctl enable nginx

在 Ubuntu 上安装 Nginx

使用以下命令安装 Nginx:
sudo apt-get update
sudo apt-get install nginx

安装完成后,可以使用以下命令启动 Nginx:
sudo systemctl start nginx

还可以使用以下命令设置 Nginx 在开机时自动启动:
sudo systemctl enable nginx
获取OPENAI_API_KEY

首先,前往https://platform.openai.com/overview,并使用你的ChatGPT 账号登录。
登录进去后,点击页面右上角的个人头像,选择View API keys.

点击create new secret key,生成一个新的密钥。你可以先把密钥复制到安全的地方,待会儿会用上。

获取代码

使用 Git 克隆代码:

cd /usr/local/src/
git clone https://github.com/Chanzhaoyu/chatgpt-web.git
cd chatgpt-web
构建 Docker 镜像
docker build -t chatgpt-web .
# 后台运行
docker run --name chatgpt-web -d -p 127.0.0.1:3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web
# 运行地址
http://localhost:3002/

your_api_key 替换为上个步骤获取的API

配置 Nginx
vim /etc/nginx/conf.d/chatgpt.conf
server {
    server_name your_domain.com;
    listen       80;
    location / {
        proxy_pass http://127.0.0.1:3002;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

将 your_domain.com 替换为您的域名或 IP 地址。

重启 Nginx 服务:sudo systemctl restart nginx

防火墙:放行80端口

访问网站:http://your_domain.com

至此您应该可以看到聊天机器人的页面了!
总结

在本文中,我们使用 Docker 和 Nginx 将 https://github.com/Chanzhaoyu/chatgpt-web 部署到服务器上。Docker 镜像可以方便地在不同的环境中使用,并且 Nginx 可以提供反向代理和负载平衡功能。这种部署方式可以帮助您轻松地将您的应用程序部署到生产环境中。

打赏微海报分享
标签: 暂无
最后更新:2023年5月18日

nico

Linux运维工程师 软考网络工程师 && 软考信息安全工程师

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

nico

Linux运维工程师
软考网络工程师 && 软考信息安全工程师

最新 热点 随机
最新 热点 随机
linux部署JDK环境 [Solved] MariaDB import issue: Error at line 1: Unknown command '\-'. Could not retrieve mirrorlist http://mirrorlist.centos.org/ CentOS 7 Kubernetes如何删除卡在“Terminating”状态的命名空间 解决GitLab Runner签名无效 如何禁用 Ubuntu "Daemons using outdated libraries" 弹出窗口
[SOLVED] extension "vector" is not available 清除Linux内存缓存和交换空间的方法 Linux ulimit:保护系统稳定性和安全性的必备工具 构建自己的 ChatGPT:本地部署 ChatGPT 实现智能聊天机器人 部署SaltStack 多发行版兼容:如何查看 Linux 系统版本
最近评论
woodcockkienzlelsj8o9+73s48g9rr3m0@gmail.com 发布于 10 个月前(07月17日) necessitatibus corporis et odit nam quo harum et c...
RonaldG 发布于 10 个月前(07月07日) Very interesting topic, thank you for putting up.&...
小黑 发布于 1 年前(12月28日) 不错
nico 发布于 2 年前(02月09日) 嘻嘻嘻!!!
Bruse 发布于 2 年前(02月09日) 我来啦!!!
nico 发布于 2 年前(12月10日) 方便查询
Justin 发布于 2 年前(12月10日) 写的很好,谢谢分享!我 Mark 一下~
nico 发布于 3 年前(11月18日) 主题的原因吧
Justin 发布于 3 年前(09月22日) 这篇文章的质量很高呀!写得很详细~ 话说你的文章是隐藏了发布时间吗?
Justin 发布于 3 年前(08月27日) 好家伙,这标题乍一看还以为你打算进军英文技术写作领域了🤓

COPYRIGHT © 2023 Technology Sharing. ALL RIGHTS RESERVED.

备案图标 皖公网安备34132402000202 皖ICP备2023004851号-1