云崽系机器人的智能聊天插件 https://www.yunzai.chat/
Find a file
2023-02-11 01:32:23 +08:00
apps Update README.md 2023-02-11 01:32:23 +08:00
config fix: 加入重试机制 2023-02-10 10:46:31 +08:00
resources fix: redis expire time; picture mode title; queue lock problem 2023-02-03 21:49:55 +08:00
utils fix: 加入重试机制 2023-02-10 10:46:31 +08:00
index.js feat: add picture mode 2022-12-10 19:45:54 +08:00
LICENSE Initial commit 2022-12-06 11:29:11 +08:00
README.md Update README.md 2023-02-11 01:32:23 +08:00

云崽qq机器人的chatgpt插件

  • 支持单人连续对话Conversation
  • 目前使用 GPT-3 API尽可能逼近ChatGPT体验支持模型参数调整
  • 支持问答图片截图
  • 仅需OpenAI Api Key开箱即用

版本要求

Node.js >= 18 / Node.js >= 14(with node-fetch)

安装

  1. 进入 Yunzai根目录
  2. 检查 Node.js 版本,并根据对应的 Node.js 版本选择安装教程。
node -v

Node.js >= 18

  1. 进入 Yunzai根目录
  2. 安装依赖
pnpm install -w undici chatgpt showdown mathjax-node delay uuid remark strip-markdown

chatgpt的版本号注意要大于4.0.0

  1. 克隆项目
git clone https://github.com/ikechan8370/chatgpt-plugin.git ./plugins/chatgpt-plugin
  1. 修改配置

编辑plugins/chatgpt-plugin/config/index.js文件主要修改其中的apiKey


Node.js >= 14 (并且 <18)

如果不是 CentOS 7, RHEL 7, Ubuntu 18 请自行搜索并升级你的 Node.js 版本!

此教程是为了因 glibc 不支持升级 Node.js 的Linux发行版准备的。

  1. 进入 Yunzai 根目录
  2. 安装依赖
pnpm install -w undici chatgpt showdown mathjax-node delay uuid remark strip-markdown node-fetch

chatgpt的版本号注意要大于4.0.0

  1. 克隆项目
git clone https://github.com/ikechan8370/chatgpt-plugin.git ./plugins/chatgpt-plugin
  1. 修改配置

修改 Yunzai根目录/node_modules/.pnpm/chatgpt@4.1.0/node_modules/chatgpt/build/index.js

此处 chatgpt@4.1.0 路径不是绝对的!请根据自己安装的版本进行替换!

将 // src/fetch.ts 部分修改成如下样子,其他部分不要动

// src/fetch.ts
import fetch from 'node-fetch';
globalThis.fetch = fetch;

再编辑Yunzai根目录/plugins/chatgpt-plugin/config/index.js文件,主要修改其中的apiKey


使用

基本使用

@机器人 发送聊内容即可 将配置文件中的toggleMode修改为prefix可以将触发方式改为【#chat+问题】,可以避免指令冲突。 img.png 发挥你的想象力吧!

关于配置中的一些模型的配置项:

  • model通常保持空即可除非你想调用特定的模型比如你用gpt-3微调的学到特定领域知识的机器人。

  • promptPrefixOverride:通常保持空即可。如果你想调整机器人回复的风格,可以在这里加入对机器人的一些暗示,比如要求用中文,要求回答长一点/短一点。甚至可以让它有自己的小脾气。下图为我让他不要回答太简单的问题,并且表现出不耐烦。

)T@XYNWXUM S1)D$7%I3H image

  • assistantLabel默认为ChatGPT表示机器人认知中的自己的名字。你可以修改为其他名字。

获取帮助

发送#chatgpt帮助

TODO

  • 更灵活的Conversation管理
  • 恢复网页版支持 (Browser Based Solution)
  • 支持Bing版本

关于openai token获取

  1. 注册openai账号 进入https://chat.openai.com/ 选择signup注册。目前openai不对包括俄罗斯、乌克兰、伊朗、中国等国家和地区提供服务所以自行寻找办法使用其他国家和地区的ip登录。此外注册可能需要验证所在国家和地区的手机号码如果没有国外手机号可以试试解码网站收费的推荐https://sms-activate.org/
  2. 获取API key 进入账户后台创建API keyhttps://platform.openai.com/account/api-keys

其他问题可以参考使用的api库https://github.com/transitive-bullshit/chatgpt-api

其他

OpenAI 即将开放其官方ChatGPT API请等待此部分内容更新。

该api响应速度可能由于模型本身及网络原因不会太快请勿频繁重发。因网络问题和模型响应速度问题可能出现500、503、404等各种异常状态码此时等待官方恢复即可。实测复杂的中文对话更容易触发503错误超时。如出现429则意味着超出了免费账户调用频率只能暂时停用放置一段时间再继续使用。

openai目前开放chatgpt模型的免费试用在此期间本项目应该都可用后续如果openai调整其收费策略到时候视情况进行调整。 GPT-3的API调用是收费的新用户有18美元试用金可用于支付价格为$0.0200/1K tokens,问题和回答加起来算。

如果在linux系统上发现emoj无法正常显示可以搜索安装支持emoj的字体如Ubuntu可以使用sudo apt install fonts-noto-color-emoji

感谢

Alt