ChatGPT 串接到 Discord - 团队协作好助理
2023年3月19日
ChatGPT 是由 OpenAI 开发的一个强大的语言模型,本篇文章教你如何串接 Discord Bot ,协助团队在工作上更加高效并促进沟通与协作。使 ChatGPT 发挥出最大的功效,进一步提升工作效率和团队协作能力。本篇文章可以在不写任何的代码状况下完成,当然要做客制化的话仅需微调参数即可。
专案介绍
如果在串接过程中遇到问题,可以在ChatGPT-Discord-Bot 的 Issues 中回报,我们会定期在那边回覆问题
先附上本次专案的开源代码:ChatGPT-Discord-Bot,在 Discord 里的每个频道中导入 ChatGPT Bot,只要在输入框输入 /chat
就会有一个 /chat message
的关键字自动带入,直接输入文字即可与 ChatGPT 互动,此外,这边也顺便把 DALL·E 2 模型串接完,因此可以利用/imagine prompt
就能够透过文字生成图片,如下图所示:
安装步骤
取得 Token
OpenAI Token
在 OpenAI 平台中注册/登入帐号 → 首次注册需要填写基本资讯
右上方有一个头像,点入后选择
View API keys
点选中间的
Create new secret key
⚠️ 每只 API 有免费额度,也有其限制,详情请看 OpenAI Pricing
Discord Token
创建机器人:
进入左方
Applications
点击右上方
New Application
并输入 Bot 的名称 > 确认后进入新页面。点击左方
Bot
点击右方
Add Bot
Token 在上方选择
View Token
或已申请过则会是Reset Token
的按钮。下方
MESSAGE CONTENT INTENT
需打开按下
Save Change
设定 OAuth 2
- 点击左栏
OAuth2
- 点击左栏
URL Generator
- 右栏
SCOPES
选择bot
、右栏下方BOT PERMISSIONS
选择Administrator
{' '} - 复制最下方网址到浏览器中
- 选择欲加入的服务器
- 按下
继续
>授权
- 点击左栏
专案设置
Fork Github 专案
注册/登入 GitHub
点选
Star
支持开发者点选
Fork
复制全部的代码到自己的仓库
部署(免费空间)
进入 replit
点选
Sign Up
直接用Github
帐号登入并授权 -> 按下Skip
跳过初始化设定进入后中间主页的部分点选
Create
-> 跳出框,点选右上角Import from Github
若尚未加入 Github 仓库,则点选连结
Connect GitHub to import your private repos.
-> 勾选Only select repositories
-> 选择ChatGPT-Discord-Bot
回到第四步,此时
Github URL
可以选择ChatGPT-Discord-Bot
专案 -> 点击Import from Github
。
专案执行
环境变数设定
接续上一步
Import
完成后在Replit
的专案管理页面左下方Tools
点击Secrets
。右方按下
Got it
后,即可新增环境变数,需新增:- OpenAI API Token:
- key:
OPENAI_API
- value:
[由上方步骤一取得] sk-FoXXXX
- key:
- 欲选择的模型:
- key:
OPENAI_MODEL_ENGINE
- value:
gpt-3.5-turbo
- key:
- ChatGPT 要让助理扮演的角色词(目前官方无释出更多的使用方法,由玩家自行测试)
- key:
SYSTEM_MESSAGE
- value:
You are a helpful assistant.
- key:
- Discord Token:
- key:
DISCORD_TOKEN
- value:
[由上方步骤一取得] MTA3NXXX
- key:
- OpenAI API Token:
开始执行
点击上方的
Run
成功后右边画面会显示
Hello. I am alive!
,并将画面中上方的网址复制下来,下一步骤会用到⚠️ 若一小时内没有任何请求,则程式会中断,因此需要下步骤
CronJob 定时发送请求
注册/登入 cron-job.org
进入后面板右上方选择
CREATE CRONJOB
Title
输入ChatGPT-Discord-Bot
,网址输入上一步骤的网址下方则每
5 分钟
打一次按下
CREATE
指令
指令 | 说明 |
---|---|
/chat | 在输入框直接输入 /chat 会后缀 message 直接输入文字,即可调用 ChatGPT 模型。 |
/reset | ChatGPT 会记住前十次的问答纪录,调用此指令则会清除。 |
/imagine | 在输入框输入 /imagine 会后缀 prompt 直接输入文字,会调用 DALL·E 2 模型,即可生成图像。 |
Q&A
如何看 Log 档?
在 Replit 专案中左侧有一个
logs
,在专案当中的 logger 会记录在其中,可以自行添加 logger 在其中。如何调整 DALL·E 2 输出的图片大小?
修改
/src/models/OpenAIModel
里的image_size
即可。