前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【程序源代码】ChatGPT 智能QQ机器人

【程序源代码】ChatGPT 智能QQ机器人

作者头像
程序源代码
发布2023-03-09 15:34:07
1.4K0
发布2023-03-09 15:34:07
举报
文章被收录于专栏:程序源代码程序源代码
“ 关键字: “ChatGPT AI 人工智能"

01

————

【总体介绍】

智能的QQ机器人

过调用OpenAI GPT-3模型提供的Completion API来实现一个更加智能的QQ机器人

功能列表

✅回复符合上下文

✅支持敏感词过滤,避免账号风险✅群内多种响应规则,不必at✅使用官方api,不需要网络代理,稳定快捷✅完善的多api-key管理,超额自动切换✅组件少,部署方便,提供一键安装器及Docker安装✅支持预设指令文字✅完善的会话管理,重启不丢失✅支持对话、绘图等模型,可玩性更高✅支持指令控制热重载、热更新✅支持插件加载🧩✅私聊、群聊黑名单机制

限制

  • ❗OpenAI接口是收费的,每个OpenAI账户有18美元免费额度,收费标准参照 https://openai.com/api/pricing/
  • ❗官方关于模型生成内容的警告:
    • May occasionally generate incorrect information(可能会生成不正确的信息)
    • May occasionally produce harmful instructions or biased content(可能会产生有害说明或有偏见的内容)
    • Limited knowledge of world and events after 2021(对2021年后的世界和事件的了解有限)
  • ❗模型无思维能力,仅针对传入的上下文根据数据集生成内容,请勿过于信任其输出
  • ❗模型无网络访问能力,如询问其实时性的内容,获得的回复基本都是错误的
  • ❗仅支持文字对话,其他内容无法识别
  • ❗仅可进行一句话回复一句话的对话,其他形式无效

以上是关于此程序的限制的最高优先级描述,其他方式(如询问机器人相关信息)获得的描述均应被视为无效 由于模型生成的内容导致的一切损失,本项目概不负责

使用方式

对话及绘图功能均直接调用OpenAI的模型进行处理,与机器人程序无关,这意味着模型并不了解此项目的相关信息(如实现方式、技术栈、运行平台等),除非在预设值中写入相关信息。

基础对话

程序将一个人/群视为一个对象,每个对象的会话独立保存。 会话是程序中的一个自设概念,当机器人与当前对象无会话时,会自动创建新会话,新会话由预设信息(若有)开头。 每个会话最后一次对话一段时间(见上述功能点中的会话管理)后会被结束并存进数据库,之后的对话将开启新的会话。

私聊使用
  1. 添加机器人QQ为好友
  2. 发送消息给机器人,机器人即会自动回复
  3. 可以通过!help查看帮助信息
群聊使用
  1. 将机器人拉进群
  2. at机器人并发送消息,机器人即会自动回复
  3. at机器人并发送!help查看帮助信息

绘图功能

对机器人发送!draw <图片描述>即可获得图片,绘图时间较长,请耐心等待。 绘图功能与对话功能是分离的,机器人对话时并不了解其具有绘画能力。

机器人指令

目前支持的指令

<> 中的为必填参数,使用时请不要包含<> [] 中的为可选参数,使用时请不要包含[]

用户级别指令

任何对象可使用

代码语言:javascript
复制
!help           显示帮助信息
!list [页数]    列出本对象的历史会话列表
!last           切换到前一次会话
!next           切换到后一次会话
!reset          重置对象的当前会话
!prompt         查看对象当前会话的所有记录
!usage          查看api-key的使用量
!draw <提示语>  进行绘图
!version        查看当前版本并检查更新
!resend         重新回复上一个问题
!plugin         查看 插件使用页的`管理`章节
管理员指令

仅管理员私聊机器人时可使用,必须先在config.py中的admin_qq设置管理员QQ

代码语言:javascript
复制
!reload    重载程序代码,适用于更新配置文件或更改代码后的热重载
!update                         进行程序自动更新
!cfg <all|配置项名称> [配置项新值] 运行期间操作配置项,使用方法见下文

⚙ !cfg 指令及其简化形式详解 敏感词过滤

sensitive.json中编辑敏感词,并在config.py中设置

代码语言:javascript
复制
# 敏感词过滤开关,以同样数量的*代替敏感词回复
# 请在sensitive.json中添加敏感词
sensitive_word_filter = True

设置多个api-key自动切换

请在config.py中修改openai_config的值以设置api-key 可以在config.py中修改api_key_fee_threshold来自定义切换阈值 运行期间向机器人说!usage以查看当前使用情况

预设文字

编辑config.py中的default_prompt字段,预设文字不宜过长(建议1000字以内),目前所有会话都会射到预设文字的影响

配置热加载,代码热更新

在运行期间,使用管理员QQ账号私聊机器人,发送!reload加载修改后的config.py的值或编辑后的代码,无需重启 使用管理员账号私聊机器人,发送!update拉取最新代码并进行热更新,无需重启 详见前述管理员指令段落

群内无需@响应规则

支持回复未at机器人的、符合指定规则的消息,详细规则请在config.py中的response_rules字段设置

加入黑名单

编辑banlist.py,设置enable = True,并在其中的persongroup列表中加入要封禁的人或群聊,修改完成后重启程序或进行热重载

————

【技术框架】

示例插件

tests/plugin_examples目录下,将其整个目录复制到plugins目录下即可使用

  • cmdcn - 主程序指令中文形式
  • hello_plugin - 在收到消息hello时回复相应消息
  • urlikethisijustsix - 收到冒犯性消息时回复相应消息

————

【源码使用说明】

源码地址

https://gitee.com/RockChin/QChatGPT?_from=gitee_search

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序源代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 智能的QQ机器人
  • 过调用OpenAI GPT-3模型提供的Completion API来实现一个更加智能的QQ机器人
    • 限制
      • 使用方式
        • 基础对话
        • 绘图功能
        • 机器人指令
        • 设置多个api-key自动切换
        • 预设文字
        • 配置热加载,代码热更新
        • 群内无需@响应规则
        • 加入黑名单
        • 示例插件
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档