利用Github和Railway搭建专属的ChatGPT

简介: 利用Github和Railway搭建专属的ChatGPT

!! 大家好,我是乔克,一个爱折腾的运维工程,一个睡觉都被自己丑醒的云原生爱好者。


这篇文章重新发表一次,之前加了一个小广告,对此深表抱歉。那个星球我去体验了
几天,从体验效果来看“一般”,里面一篇混乱,没有实际的东西,全是网上的一些文
章整理,然后一群小白在那里问问题。我已经退出了,各位自行考虑。


ChatGPT

什么是 ChatGPT

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

ChatGPT 的工作原理

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

  1. 预训练阶段

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

  1. 微调阶段

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

ChatGPT 的使用场景

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

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

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

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

image.pngimage.png

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

image.pngimage.png

这不比百度香?

下面就带搭建一个无需科学上网的 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/登录。

image.pngimage.png

然后点击 Personal 获取 API Keys。

image.pngimage.png

创建一个新的 Secret Key 即可。

image.pngimage.png

获取 Github 代码

项目自己写?

不可能!白嫖才香。

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

image.pngimage.png

这不快哉?

开始部署

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

No!!!

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

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

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

image.pngUntitled 8.png

创建项目

点击New Project

image.pngimage.png

然后选择Deploy from Github repo

image.pngimage.png

然后选择 chatgpt-web 项目。

image.pngimage.png

然后点击Deploy Now即可。

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

image.pngimage.png

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

image.pngimage.png

添加配置

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

添加完成后如下:

image.png

image.png

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

image.pngimage.png

访问

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

image.pngimage.png

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

image.pngimage.png

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

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

image.pngimage.png

然后,添加一个 CNAME 即可。

image.pngimage.png

然后就可以对话了。

更新

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

image.pngimage.png

然后 Railway 会自动更新。

关于 Railway

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

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
2月前
|
人工智能 搜索推荐 大数据
GitHub Copilot Enterprise登场,或将掀起编程界的ChatGPT革命!
【2月更文挑战第13天】GitHub Copilot Enterprise登场,或将掀起编程界的ChatGPT革命!
41 1
GitHub Copilot Enterprise登场,或将掀起编程界的ChatGPT革命!
|
2月前
|
机器学习/深度学习 自然语言处理 IDE
GitHub Copilot 与 OpenAI ChatGPT 的区别及应用领域比较
GitHub Copilot 和 OpenAI ChatGPT 都是近年来颇受关注的人工智能项目,它们在不同领域中的应用继续引发热议。本文旨在分析和比较这两个项目的区别,从技术原理、应用场景、能力和限制、输出结果、能力与限制和发展前景等方面进行综合评估,帮助读者更好地了解这两个项目的特点和适用性。
49 0
|
2月前
|
人工智能 文字识别 异构计算
关于github开源ocr项目的疑问
小白尝试Python OCR学习,遇到报错。尝试Paddle OCR部署失败,Tesseract OCR在Colab误操作后恢复失败。EasyOCR在Colab和阿里天池Notebook成功,但GPU资源不足。其他平台部署不顺,决定使用WebUI或阿里云轻应用。求教OCR项目部署到本地及简单OCR项目推荐。
31 2
|
2月前
|
人工智能 自然语言处理 iOS开发
『GitHub项目圈选19』推荐5款本周 让人爱不释手 的开源项目
『GitHub项目圈选19』推荐5款本周 让人爱不释手 的开源项目
|
2月前
|
存储 Web App开发 人工智能
『GitHub项目圈选18』推荐5款本周 超实用 的开源项目
『GitHub项目圈选18』推荐5款本周 超实用 的开源项目
100 1
|
2月前
|
人工智能 物联网 机器人
『GitHub项目圈选17』推荐5款本周 火火火 的AI开源项目
『GitHub项目圈选17』推荐5款本周 火火火 的AI开源项目
230 1
|
2月前
|
JSON 搜索推荐 程序员
『GitHub项目圈选15』推荐5款本周 深受程序员喜爱 的开源项目
『GitHub项目圈选15』推荐5款本周 深受程序员喜爱 的开源项目
|
2月前
|
人工智能 自然语言处理 NoSQL
『GitHub项目圈选13』推荐5款本周 让人爱不释手 的开源项目
『GitHub项目圈选13』推荐5款本周 让人爱不释手 的开源项目
|
2月前
|
SQL NoSQL Linux
『GitHub项目圈选11』推荐5款本周 深受开发人员青睐 的开源项目
『GitHub项目圈选11』推荐5款本周 深受开发人员青睐 的开源项目
|
2月前
|
存储 人工智能 API
『GitHub项目圈选10』推荐5款本周 实用给力 的开源项目
『GitHub项目圈选10』推荐5款本周 实用给力 的开源项目