搭建自己的ChatGPT

前言:

当今,自然语言处理(NLP)技术的快速发展已经为人工智能(AI)领域的许多应用带来了变革性的机遇。ChatGPT是一款基于OpenAI的自然语言处理技术,能够生成高质量的自然语言对话。它采用预训练技术和深度神经网络模型,不断地学习语言数据并生成更加生动、自然的对话内容。在写文案、编程、提问等相关领域非常出彩,本文将介绍如何自己在本地部署ChatGPT-Web,让你能够自己安心使用ChatGPT,本文为小白教程,力求每个零基础的人都能搭建属于自己的ChatGPT,让AI运用到生活中的各处去;

在此,特别鸣谢OpenAI开发的GPT模型,帮助了我很多;还有开源项目ChatGPT-Web,没有它就没有本文的部署教程!

正文:

在部署自己的ChatGPT之前,让我们先准备,我们部署需要准备什么?

  1. Linux主机(Windows主机)
  2. Docker操作(别担心,我会教你)
  3. 理解域名、IP和端口(Option选项,可理解可不理解)

主机

部署ChatGPT的主机可以选择本地电脑,也可以选择服务器(所谓的服务器,粗略理解,就是一台在别的地方一直开机的电脑)。在哪部署,取决于你的使用方式,如果你只想在本地使用,可以选择在本地电脑中部署;如果想多端使用,在手机、电脑或分享给你的好友使用,那就最好部署在服务器

Docker

Docker是目前比较主流的部署应用方案。为什么要用Docker呢?原因有:

  1. 通过使用Docker可以减少环境的配置(所谓的环境配置,例如你要运行一个java程序,你的计算机就必须安装java语言包;你要运行python程序,就必须安装python语言包),加快应用的部署速度
  2. 可以通过Docker来管理应用的开启与关闭

域名与端口(可选)

域名是用于标识和访问互联网上的网站和资源的一种字符串形式的地址。它是由一串字母、数字和连字符所组成的,能够识别和表示互联网上的计算机、服务和设备。域名的作用类似于一个门牌号码,它可以让用户在不需要记住复杂的IP地址的情况下直接访问同一个站点或服务。例如:baidu.com 对于的 ip 就是110.242.68.66

IP 是互联网协议的简称。它是一种通信规则,用于在互联网上传输数据。类似生活中的电话号码(小区地址),用于在互联网中找到你的计算机。

端口是一种用于指示进程或应用程序的通信端点的抽象概念。例如通过ip找到你的计算机了,那我怎么区分你的计算机上不同的服务呢?答案就是端口。例如你的计算机上面运行了A服务和B服务,那我可以通过你的计算机IP+A端口来访问A服务,通过计算机IP+B端口来运行B服务。

正式部署教程

在理解上述的概念后,正式开始我们的部署教程

1、准备主机

若准备部署在本地,考虑到大多数的电脑都是Windows操作系统or Linux操作系统,第一步教程将讲解如何准备Docker环境

首先来到docker的官网,点击之后下载Docker的软件包到你喜欢的路径,先别安装!

image-20230402175710107

Windows用户打开控制面板,进入到控制面板image-20230402175830607

通过启用功能,打开Hyper-V、适用于Linux的Windows子系统和虚拟机平台

image-20230402175930670

image-20230402175944285

在开启后,重启计算机,并可启用Windows Subsystem for Linux(WSL) Linux子系统

然后我们在 Microsoft Store 中下载新版 Ubuntu 镜像

image-20230402180341382

在安装后输入以下命令,查看wsl的版本为1还是2

1
wsl --list -v

image-20230402180520676

在确认自己的版本为2之后,即可开始安装docker

在安装完docker之后,打开docker的设置界面,确实自己启用的是wsl的后端即可

image-20230403180947740

若准备部署的云端,大部分的云端服务器的操作系统都是Linux操作系统,可以直接通过在阿里云中购买轻量应用服务器,来使用(默认安装好docker)

阿里云服务器购买链接(点我),选择亚太地区,docker镜像,按照自己的经济实力选择配置image-20230403182701446

在购买完成后,应该能在控制台中的轻量应用服务器中看到自己的服务器image-20230404182206444

在服务器信息中看到自己的ip地址(公)(注意不要泄露出去),点击重置密码,设置你个人喜欢的密码

image-20230403183252680

在得到ip和你自己的密码后,我们将使用powershell来进行ssh连接到云服务器上

1
ssh root@{你的服务器ip}

然后输入yes,再输入密码,注意密码是没有显示的,不要认为自己没有输入!

image-20230404181221327

在输入进入到终端,输入以下命令

1
mkdir chatgpt && cd chatgpt && touch docker-compose.yml

这是一行包含三个 Bash 命令的串联操作,用于创建一个名为 chatgpt 的新目录,并在其中创建一个名为 docker-compose.yml 的文件。 该命令可以按以下方式分解:

  • mkdir chatgpt: 创建一个名为 chatgpt 的新目录。
  • cd chatgpt: 进入 chatgpt 目录。
  • touch docker-compose.yml: 创建一个名为 docker-compose.yml 的空文件。

image-20230404174143397

输入以下命令

1
nano docker-compose.yml

会出现以下界面

image-20230404174501845

复制以下内容到里面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: '3'

services:
app:
image: chenzhaoyu94/chatgpt-web # 总是使用 latest ,更新时重新 pull 该 tag 镜像即可
restart: unless-stopped
ports:
- 3002:3002
environment:
OPENAI_API_KEY: {你的token或者你的key}
OPENAI_API_BASE_URL: {你的token对于的api}
OPENAI_API_MODEL: gpt-3.5-turbo-0301 #聊天的模型
AUTH_SECRET_KEY: {password} #密码,防止其他人乱用你的额度
TIMEOUT_MS: 60000

通过快捷键CTRL+O进行保存,CTRL+X进行退出。

2、购买API

key 和 api 的选择有3种方案:

  • OpenAI 官方:需要自备国外信用卡(香港不行),且主机具备访问官方api的能力
  • API2D:Server酱作者推荐,有完整的文档,不需要主机具备访问官方api的能力,价格约为官方价格的1.5倍
  • 第三方大佬Key:不太稳定,但胜在便宜量大

OpenAI官方:

image-20230404175050328

自己创建secret key, 官方api的访问网址为:https://api.openai.com

API2D

1680601973652

通过创建自己的forward key, api2d的api访问网址为:https://stream.api2d.net

通过作者的推荐网址进行购买,https://api2d.com/r/186624 , 作者可以获得奖励(写教程不易,希望大家可以通过这个链接购买,作者可以获得100p的奖励)

第三方大佬Key:image-20230404175737658

通过作者的推荐网址购买,https://fa.zhifenn.com/?i=98jfb2

作者可以获得奖励(写教程不易,希望大家可以通过这个链接购买,作者可以获得5w字的奖励)

第三方大佬的api访问网址为:https://chat-chatgpt-kmfviptdmu.us-west-1.fcapp.run/openai

将上述你购买得到的key和api访问网址,填入到docker-compose.yml的文件中,运行

1
docker-compose up -d

命令,即可运行成功!

image-20230404180124711

3、访问!

最后通过浏览器访问你的ip地址+3002端口即可!

本地部署访问的网址:localhost:3002

服务器部署访问的网址:{你的服务器的公网IP:3002}

1680602666368


搭建自己的ChatGPT
https://www.talk-qys.top/2023/04/02/搭建自己的ChatGPT/
作者
dgqyushen
发布于
2023年4月2日
许可协议