Skip to content

使用Github+Railway部署自己的chatGPT 原创

ChatGPT

什么是 ChatGPT

ChatGPT 是一个基于人工神经网络技术的自然语言处理模型,由 OpenAI 开发。它可以理解和生成自然语言,用于进行对话、翻译、文本摘要等任务。ChatGPT 是目前最先进的自然语言处理模型之一,它使用了大量的预训练数据和深度学习算法来实现高质量的自然语言处理能力。

ChatGPT 的工作原理

ChatGPT 是一个基于 Transformer 模型的自然语言处理模型,其工作原理可以分为两个阶段:预训练和微调。下面分别对这两个阶段进行详细介绍。

1.预训练阶段

ChatGPT 使用了大量的文本数据进行无监督的预训练,从而学习到了自然语言的表示方式。在这个阶段中,ChatGPT 使用了一种称为“掩码语言建模”的技术来训练模型。具体来说,它会将输入的文本中的一些单词随机掩盖掉,然后让模型去预测这些被掩盖掉的单词。这样的训练方式可以使得模型学习到单词之间的关系,从而获得更好的语言表示能力。

2.微调阶段

在预训练完成后,ChatGPT 可以通过微调来适应特定的任务。例如,对于对话任务,我们可以通过给 ChatGPT 提供一些已知的对话历史和当前回复来微调模型,从而使其能够更好地生成有意义的回复。在微调阶段中,ChatGPT 通常会使用有监督的学习方法,即使用带标注的数据进行训练,并通过优化损失函数来更新模型参数。

总之,ChatGPT 的工作原理是通过预训练和微调两个阶段来学习自然语言表示,并在特定任务中使用这些表示来生成有意义的输出。

ChatGPT 的使用场景

ChatGPT 是一种通用的自然语言处理模型,它的使用场景非常广泛。以下是一些 ChatGPT 的主要应用场景:

  1. 对话系统:ChatGPT 可以被用来构建聊天机器人、智能客服等对话系统,通过学习大量的对话数据来生成自然流畅的回复。
  2. 机器翻译:ChatGPT 可以被用来进行机器翻译任务,即将一种语言的文本自动翻译成另一种语言的文本。
  3. 文本摘要:ChatGPT 可以被用来进行文本摘要任务,即从一篇较长的文章中提取出关键信息,并生成一份简洁的摘要。
  4. 问答系统:ChatGPT 可以被用来构建问答系统,即回答用户的问题。在这个场景下,ChatGPT 通常需要阅读和理解输入的问题,并通过搜索或推理来生成答案。
  5. 文本分类:ChatGPT 可以被用来进行文本分类任务,例如情感分析、垃圾邮件检测等。在这个场景下,ChatGPT 需要学习如何将文本映射到不同的类别。

哎,等等,这不都是说了一些废话么?到底用在哪呢?

这就看你具体的需求了,比如这篇文章上面的内容就是 ChatGPT 写的。

eb8d3f1080b371ef2a34369ca06eff22 MD5

还比如我叫它帮我写一个创建 pipeline 的步骤。

51feac0c83b1af65a1c5b78ad9d9daea MD5

这不比百度香?

下面就带搭建一个无需科学上网的 ChatGPT。

注册 ChatGPT

注册的步骤并不复杂,主要包含以下几步:

  1. 注册 ChatGPT 账号
  2. 通过短信接码平台[https://sms-activate.org/](https://sms-activate.org/)完成手机验证
  3. 通过[https://chat.openai.com/chat](https://chat.openai.com/chat)登录使用

获取 API Token

账号注册完成过后,通过https://platform.openai.com/登录。

4424ea1b03d01cbf80ad18f3212c2c3f MD5

然后点击 Personal 获取 API Keys。

d480ec76af7a0118588d04a502b6cac6 MD5

创建一个新的 Secret Key 即可。

c32ce4cd5bea97d5de5b16ca1853c685 MD5

获取 Github 代码

项目自己写?

不可能!白嫖才香。

https://github.com/Chanzhaoyu/chatgpt-web项目 fork 到自己的仓库中。

6b73cab568acd85ff629907e0439497c MD5

这不快哉?

开始部署

买服务器?安装软件?安装 Docker?

No!!!

那样的成本太高了。这里我们直接用国外的部署网站,目前比较著名的有:

  • ly.io
  • render.com
  • railway.app
  • vercel.com

我们选取 raliway.app 来进行我们的部署工作,访问:https://railway.app/,点击 Login,选择 Github 登录,并进行相关授权:

6f47cc5bc90b8f4f807dce8211bd8744 MD5

创建项目

点击New Project9a043bd0cbeda55520a95edf84a37137 MD5

然后选择Deploy from Github repo

c55ac82cabca1a7340cbb9039c1e46e7 MD5

然后选择 chatgpt-web 项目。

c6d487289da308a58e01ba5ba2edee9d MD5

然后点击Deploy Now即可。

部署过程中,会 Build 镜像,可以查看具体的日志。

a0ea32d7ecaff81b4fe4ab2b98645b50 MD5

但是现在应用是无法正常启动的,因为我们没有配置ChatGPT API Key,报错如下:

e736f6945eabef1a5e20a6e6850587c8 MD5

添加配置

为了能够正常启动,我们需要添加OPENAI_API_KEY或者OPENAI_ACCESS_TOKEN 参数,我这里使用前者,另外还要添加一个 PORT 参数,默认 3002 端口。除此之外我还添加了AUTH_SECRET_KEY参数,主要是为我们自己的 GPT 增加一层访问控制,避免任何人都能使用。

添加完成后如下:

eda3211d229c879d9552618659e6541e MD5

我们再来看应用日志,应用启动成功。

5c9bcec34a7b36000ecf4181843e5532 MD5

访问

1、我们可以在 Settings 处生成一个随机域名,如下

19cf56407909c8f297066856ca373155 MD5

然后就可以使用随机的域名访问了。

42d3474044147f2722f709e65dac18d0 MD5

2、使用自定义域名,前提是需要自己准备一个可用的域名。

首先,添加一个自定义域名。

2d452fc8e05bd94601e904850fde00d5 MD5

然后,添加一个 CNAME 即可。

3451efe4b8d41a12c434095950479608 MD5

然后就可以对话了。

更新

如果主代码有更新,我们只需要到 Github 上同步最新的代码。

5be07fc03b534929992f2726f6f9096c MD5

然后 Railway 会自动更新。

关于 Railway

Railway 提供 5 美元,500 个小时/月的额度,用完了要么充钱,要么死亡,可以根据实际情况来选择,个人使用其实是足够了,无外乎多搞几个账号。

最后

如果对 ChatGPT 感兴趣的,可以看一下下面这个知识星球,目前价格 198,如果不满意,3 天内可以全额退款。

470faba2b32489b66f318cf279a2d2f6 MD5

最近更新