ChatGPT 串接到 Discord

ChatGPT 是由 OpenAI 开发的一个强大的语言模型,本篇文章教你如何串接 Discord Bot ,协助团队在工作上更加高效并促进沟通与协作。使 ChatGPT 发挥出最大的功效,进一步提升工作效率和团队协作能力。本篇文章可以在不写任何的代码状况下完成,当然要做客制化的话仅需微调参数即可。

专案介绍

如果在串接过程中遇到问题,可以在ChatGPT-Discord-Bot 的 Issues 中回报,我们会定期在那边回覆问题

先附上本次专案的开源代码:ChatGPT-Discord-Bot,在 Discord 里的每个频道中导入 ChatGPT Bot,只要在输入框输入  /chat  就会有一个  /chat message  的关键字自动带入,直接输入文字即可与 ChatGPT 互动,此外,这边也顺便把 DALL·E 2 模型串接完,因此可以利用/imagine prompt 就能够透过文字生成图片,如下图所示:

9acc947c8cf64f26a8b5a4d205e28f47
ChatGPT DALL·E2 Demo

安装步骤

取得 Token

  1. OpenAI Token
    1. 在 OpenAI 平台中注册/登入帐号 → 首次注册需要填写基本资讯
    2. 右上方有一个头像,点入后选择  View API keys
      f17e5f112f8e4a65a697fddeebf60f1f
      Get OpenAI Token Step1 and Step2
    3. 点选中间的  Create new secret key
      5dc7f016047d4c50aaf8a35884a0818a
      Get OpenAI Token Step3
      efc5145cddbf4eef9650e685960d4281
      Get OpenAI Token Step4

    ⚠️ 每只 API 有免费额度,也有其限制,详情请看  OpenAI Pricing

  2. Discord Token
    1. 登入  Discord Developer
    2. 创建机器人:
      • 进入左方  Applications
      • 点击右上方  New Application  并输入 Bot 的名称 > 确认后进入新页面。
        7b9f91a546c24509b3b36a66127d715f
        Get Discord Token Step 1
        ad3ed6d1775c424493a5a6b1eb23800a
        Get OpenAI Token Step 2
      • 点击左方  Bot
      • 点击右方  Add Bot
        7d5b7da2c7b04c79becacb67647f8d79
        Get OpenAI Token Step 3
        ac62e933578d4044a6dc9d3d33703ecb
        Get OpenAI Token Step 4
      • Token 在上方选择  View Token  或已申请过则会是  Reset Token  的按钮。
        830acea1afc747f794dd275022d21579
        Get OpenAI Token Step 5 and Step 6
      • 下方  MESSAGE CONTENT INTENT  需打开
      • 按下  Save Change
        ce334b756b744f32ae33f89c959ee794
        Get OpenAI Token Step 7 and Step 8
    3. 设定 OAuth 2
      • 点击左栏  OAuth2
      • 点击左栏  URL Generator
      • 右栏  SCOPES  选择  bot、右栏下方  BOT PERMISSIONS  选择  Administrator {‘ ‘}
        9788ef9c411042b7978cc28042ff0b1a
        Get OpenAI Token Step 9, Step 10 and Step 11
        bbb5a1c8e357409e976429dbf33d5470
        Get OpenAI Token Step 12
      • 复制最下方网址到浏览器中
      • 选择欲加入的服务器
        acf22c8d3de4465794030add39add769
        Get OpenAI Token Step 13 and Step 14)
      • 按下  继续 > 授权

专案设置

  1. Fork Github 专案
    1. 注册/登入  GitHub
    2. 进入ChatGPT-Discord-Bot
    3. 点选  Star  支持开发者
    4. 点选  Fork  复制全部的代码到自己的仓库
      2e5f0cfefc9c4a41ab9ab7f3954e2320
      Fork Github Repository Step 1
      ae58b1780c184408b37d120fab2db46e
      Fork Github Repository Step 2
  2. 部署(免费空间)
    1. 进入  replit
    2. 点选  Sign Up  直接用  Github  帐号登入并授权 -> 按下  Skip  跳过初始化设定
    3. 进入后中间主页的部分点选  Create -> 跳出框,点选右上角  Import from Github
      e0b5e423c0d0442cb5ad9b8a9bb7a840
      Replit Deploy Step 1
    4. 若尚未加入 Github 仓库,则点选连结  Connect GitHub to import your private repos. -> 勾选  Only select repositories -> 选择  ChatGPT-Discord-Bot
      86b7e747b30f409b986b0f6a08538771
      Replit Deploy Step 2
      bca883353c6743fcb19b603fb7ab1d3d
      Replit Deploy Step 3
    5. 回到第四步,此时  Github URL  可以选择  ChatGPT-Discord-Bot  专案 -> 点击  Import from Github
      a8677b30e0ea4513bd2fa1a201756749
      Replit Deploy Step 4

专案执行

  1. 环境变数设定
    1. 接续上一步  Import  完成后在  Replit  的专案管理页面左下方  Tools  点击  Secrets
    2. 右方按下  Got it  后,即可新增环境变数,需新增:
      • OpenAI API Token:
        • key: OPENAI_API
        • value: [由上方步骤一取得] sk-FoXXXX
      • 欲选择的模型:
        • key: OPENAI_MODEL_ENGINE
        • value: gpt-3.5-turbo
      • ChatGPT 要让助理扮演的角色词(目前官方无释出更多的使用方法,由玩家自行测试)
        • key: SYSTEM_MESSAGE
        • value: You are a helpful assistant.
      • Discord Token:
        • key: DISCORD_TOKEN
        • value: [由上方步骤一取得] MTA3NXXX
      b3a95691d0844545a937a5716b4805a5
      Replit Set Environment Variable
  2. 开始执行
    1. 点击上方的  Run
    2. 成功后右边画面会显示  Hello. I am alive!,并将画面中上方的网址复制下来,下一步骤会用到
      7c8a47353738443dac427f2dfd4df3ec
      Replit Run

      ⚠️ 若一小时内没有任何请求,则程式会中断,因此需要下步骤

  3. CronJob 定时发送请求
    1. 注册/登入  cron-job.org
    2. 进入后面板右上方选择  CREATE CRONJOB
      a9d1616c3b3a4e8ead5e8c13230f3039
      CronJob Step 1
    3. Title  输入  ChatGPT-Discord-Bot,网址输入上一步骤的网址
    4. 下方则每  5 分钟  打一次
    5. 按下  CREATE
      5365ea072ac940dcb17b58650f5464db
      CronJob Step 2

指令

指令 说明
/chat 在输入框直接输入  /chat  会后缀  message  直接输入文字,即可调用 ChatGPT 模型。
/reset ChatGPT 会记住前十次的问答纪录,调用此指令则会清除。
/imagine 在输入框输入  /imagine  会后缀  prompt  直接输入文字,会调用 DALL·E 2 模型,即可生成图像。

Q&A

  1. 如何看 Log 档?

    在 Replit 专案中左侧有一个 logs ,在专案当中的 logger 会记录在其中,可以自行添加 logger 在其中。

  2. 如何调整 DALL·E 2 输出的图片大小?

    修改 /src/models/OpenAIModel 里的 image_size 即可

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享