Soulter 18ffaa2b91 perf: 优化各种报错管理;
feat: 启动时检查依赖库
2023-04-23 08:31:22 +00:00
2023-04-03 21:33:54 +08:00
2023-04-23 08:31:22 +00:00
2023-04-23 08:31:22 +00:00
2022-12-10 13:19:29 +08:00
2023-03-02 09:34:16 +08:00
2023-03-28 23:07:52 +08:00
2022-12-17 14:39:37 +08:00
2023-04-15 15:33:00 +08:00
2023-04-05 09:41:39 +08:00
2022-12-11 15:33:32 +08:00
2023-04-23 08:31:22 +00:00
2023-04-22 14:35:22 +08:00
2023-04-18 21:35:09 +08:00

QQChannelChatGPT

在QQ和QQ频道上使用ChatGPT、NewBing等语言模型稳定一次部署同时使用。

教程:https://soulter.top/posts/qpdg.html

欢迎体验😊(频道名: GPT机器人 | 频道号: x42d56aki2) | QQ群号322154837

功能:

通知部署好后如果使用的是bing或者逆向ChatGPT库需要使用切换模型指令/bing或者'/revgpt'

近期新功能:

支持的AI语言模型请在configs/config.yaml下配置):

部署QQ频道机器人教程链接https://soulter.top/posts/qpdg.html

基本功能

回复符合上下文
  • 程序向API发送近多次对话内容模型根据上下文生成回复

  • 你可在configs/config.yaml中修改total_token_limit来近似控制缓存大小。

超额自动切换
  • 超额时程序自动切换openai的key方便快捷
支持统计频道、消息数量等信息
  • 实现了简单的统计功能
多并发处理,回复速度快
  • 使用了协程理论最高可以支持每个子频道每秒回复5条信息
持久化转储历史记录,重启不丢失
  • 使用内置的sqlite数据库存储历史记录到本地

  • 方式为定时转储,可在config.yaml下修改dump_history_interval来修改间隔时间,单位为分钟。

支持多种指令控制
  • 详见下方指令功能
官方API稳定
  • 不使用ChatGPT逆向接口而使用官方API接口稳定方便。

  • QQ频道机器人框架为QQ官方开源的框架稳定。

关于tokentoken就相当于是AI中的单词数但是不等于单词数text-davinci-003模型中最大可以支持4097个token。在发送信息时这个机器人会将用户的历史聊天记录打包发送给ChatGPT因此token也会相应的累加为了保证聊天的上下文的逻辑性就有了缓存token。

指令功能

OpenAI官方API

在频道内需要先@机器人之后再输入指令在QQ中暂时需要在消息前加上ai ,不需要@

  • /reset重置prompt
  • /his查看历史记录(每个用户都有独立的会话)
  • /his [页码数]查看不同页码的历史记录。例如/his 2查看第2页
  • /token查看当前缓存的总token数
  • /count 查看统计
  • /status 查看chatGPT的配置
  • /help 查看帮助
  • /key 动态添加key
  • /set 人格设置面板
  • /keyword nihao 你好 设置关键词回复。nihao->你好
  • /bing 切换为bing
  • /revgpt 切换为ChatGPT逆向库
  • /画 画画

Bing语言模型

  • /reset重置prompt
  • /gpt 切换为OpenAI官方API
  • /revgpt 切换为ChatGPT逆向库

逆向ChatGPT库语言模型

  • /gpt 切换为OpenAI官方API
  • /bing 切换为bing
  • 切换模型指令支持临时回复。如/bing 你好将会临时使用一次bing模型

📰使用方法:

详细部署教程链接https://soulter.top/posts/qpdg.html

Windows用户推荐Windows一键安装请前往Release下载最新版本Beta 有报错请先看issue解决不了再在频道内反馈。

安装第三方库

pip install -r requirements.txt

⚠Python版本应>=3.9

配置

详细部署教程链接https://soulter.top/posts/qpdg.html

启动

  • 启动main.py

感谢

本项目使用了一下项目:

ChatGPT by acheong08

EdgeGPT by acheong08

go-cqhttp by Mrs4s

nakuru-project by Lxns-Network

⚙配置文件说明:

# 如果你不知道怎么部署请查看https://soulter.top/posts/qpdg.html
# 不一定需要key了如果你没有key但有openAI账号或者必应账号可以考虑使用下面的逆向库


###############平台设置#################

# QQ频道机器人
# QQ开放平台的appid和令牌
# q.qq.com
# enable为true则启用false则不启用
qqbot:
  enable: true
  appid: 
  token: 

# QQ机器人
# enable为true则启用false则不启用
# 需要安装GO-CQHTTP配合使用。
# 文档https://docs.go-cqhttp.org/
# 请将go-cqhttp的配置文件的sever部分粘贴为以下内容否则无法使用
# 请先启动go-cqhttp再启动本程序
# 
# servers:
#   - http:
#       host: 127.0.0.1
#       version: 0
#       port: 5700
#       timeout: 5
#   - ws:
#       address: 127.0.0.1:6700
#       middlewares:
#         <<: *default
gocqbot:
  enable: false

# 设置是否一个人一个会话
uniqueSessionMode: false
# QChannelBot 的版本请勿修改此字段否则可能产生一些bug
version: 3.0
# [Beta] 转储历史记录时间间隔(分钟)
dump_history_interval: 10
# 一个用户只能在time秒内发送count条消息
limit:
  time: 60
  count: 5
# 公告
notice: "此机器人由Github项目QQChannelChatGPT驱动。"
# 是否打开私信功能
# 设置为true则频道成员可以私聊机器人。
# 设置为false则频道成员不能私聊机器人。
direct_message_mode: true

# 系统代理
# http_proxy: http://localhost:7890
# https_proxy: http://localhost:7890

# 自定义回复前缀,如[Rev]或其他务必加引号以防止不必要的bug。
reply_prefix:
  openai_official: "[GPT]"
  rev_chatgpt: "[Rev]"
  rev_edgegpt: "[RevBing]"

# 百度内容审核服务
# 新用户免费5万次调用。https://cloud.baidu.com/doc/ANTIPORN/index.html
baidu_aip:
  enable: false
  app_id: 
  api_key: 
  secret_key: 




###############语言模型设置#################


# OpenAI官方API
# 注意已支持多key自动切换方法
# key:
#   - sk-xxxxxx
#   - sk-xxxxxx
# 在下方非注释的地方使用以上格式
# 关于api_base可以使用一些云函数如腾讯、阿里来避免国内被墙的问题。
# 详见:
# https://github.com/Ice-Hazymoon/openai-scf-proxy
# https://github.com/Soulter/QQChannelChatGPT/issues/42
# 设置为none则表示使用官方默认api地址
openai:
  key: 
    - 
  api_base: none
  # 这里是GPT配置语言模型默认使用gpt-3.5-turbo
  chatGPTConfigs:
    model: gpt-3.5-turbo
    max_tokens: 3000
    temperature: 0.9
    top_p: 1
    frequency_penalty: 0
    presence_penalty: 0
    
  total_tokens_limit: 5000

# 逆向文心一言【暂时不可用,请勿使用】
rev_ernie:
  enable: false

# 逆向New Bing
# 需要在项目根目录下创建cookies.json并粘贴cookies进去。
# 详见https://soulter.top/posts/qpdg.html
rev_edgegpt:
  enable: false

# 逆向ChatGPT库
# https://github.com/acheong08/ChatGPT
# 优点:免费(无免费额度限制);
# 缺点速度相对慢。OpenAI 速率限制:免费帐户每小时 50 个请求。您可以通过多帐户循环来绕过它
# enable设置为true后将会停止使用上面正常的官方API调用而使用本逆向项目
#
# 多账户可以保证每个请求都能得到及时的回复。
# 关于account的格式
# account:
#   - email: 第1个账户
#     password: 第1个账户密码
#   - email: 第2个账户
#     password: 第2个账户密码
#   - ....
# 支持使用access_token登录
# 例:
# - session_token: xxxxx
# - access_token: xxxx
# 请严格按照上面这个格式填写。
# 逆向ChatGPT库的email-password登录方式不工作建议使用access_token登录
# 获取access_token的方法详见https://soulter.top/posts/qpdg.html
rev_ChatGPT:
  enable: false
  account:
    - access_token: 
Description
Agentic IM ChatBot Infrastructure Integration with multiple IMs, easy-to-use plugin system, supports OpenAI, Gemini, Anthropic, Dify, Coze, built-in Knowledge Base, Agent. 一站式大模型聊天机器人平台及开发框架 多消息平台(QQ, Telegram, 企微, 飞书, 钉钉等)集成,易用的插件系统,支持接入 OpenAI, Gemini, Anthropic, Dify, Coze, 阿里云百炼应用等平台,内置知识库、Agent 智能体
Readme AGPL-3.0 41 MiB
Languages
Python 68.4%
Vue 27.4%
TypeScript 2.7%
JavaScript 0.6%
SCSS 0.5%
Other 0.4%