e26664aa51
feat: 使用tiktoken计算tokens数 |
||
---|---|---|
.github | ||
pkg | ||
plugins | ||
res | ||
scenario | ||
tests | ||
.gitignore | ||
config-template.py | ||
CONTRIBUTING.md | ||
Dockerfile | ||
LICENSE | ||
main.py | ||
override-all.json | ||
README_en.md | ||
README.md | ||
requirements.txt | ||
tips-custom-template.py |
QChatGPT🤖
English | 简体中文
- Refer to Wiki to get further information.
- Official QQ group: 656285629
- Community QQ group: 362515018
- QQ channel robot: QQChannelChatGPT
- Any contribution is welcome, please refer to CONTRIBUTING.md
🍺List of supported models
Details
Chat
- OpenAI GPT-3.5 (ChatGPT API), default model
- OpenAI GPT-3, supported natively, switch to it in
config.py
- OpenAI GPT-4, supported natively, qualification for internal testing required, switch to it in
config.py
- ChatGPT website edition (GPT-3.5), see revLibs plugin
- ChatGPT website edition (GPT-4), ChatGPT plus subscription required, see revLibs plugin
- New Bing, see revLibs plugin
- HuggingChat, see revLibs plugin, English only
Story
- NovelAI API, see QCPNovelAi plugin
Image
- OpenAI DALL·E, supported natively, see Wiki(cn)
- NovelAI API, see QCPNovelAi plugin
Voice
- TTS+VITS, see QChatPlugins
- Plachta/VITS-Umamusume-voice-synthesizer, see chat_voice plugin
Install this plugin to switch between different models.
✅Function Points
Details
- ✅Sensitive word filtering, avoid being banned
- ✅Multiple responding rules, including regular expression matching
- ✅Multiple api-key management, automatic switching when exceeding
- ✅Support for customizing the preset prompt text
- ✅Chat, story, image, voice, etc. models are supported
- ✅Support for hot reloading and hot updating
- ✅Support for plugin loading
- ✅Blacklist mechanism for private chat and group chat
- ✅Excellent long message processing strategy
- ✅Reply rate limitation
- ✅Support for network proxy
- ✅Support for customizing the output format
More details, see Wiki(cn)
🔩Deployment
If you encounter any problems during deployment, please search in the issue of QChatGPT or qcg-installer first.
- Register OpenAI account
If you want to use a model other than OpenAI (such as New Bing), you can skip this step and directly refer to following steps, and then configure it according to the relevant plugin documentation.
To register OpenAI account, please refer to the following articles(in Chinese):
Check your api-key in personal center after registration, and then follow the following steps to deploy.
- Deploy Automatically
Details
Docker
See this document(cn)
Contributed by @mikumifa
Installer
Use this installer to deploy.
- The installer currently only supports some platforms, please refer to the repository document for details, and manually deploy for other platforms
- Deploy Manually
Manually deployment supports any platforms
- Python 3.9.x or higher
配置QQ登录框架
Currently supports mirai and go-cqhttp, configure either one
mirai
Follow this tutorial(cn) to configure Mirai and YiriMirai.
After starting mirai-console, use the login
command to log in to the QQ account, and keep the mirai-console running.
go-cqhttp
- Follow this tutorial(cn) to configure go-cqhttp.
- Start go-cqhttp, make sure it is logged in and running.
Configure QChatGPT
- Clone the repository
git clone https://github.com/RockChinQ/QChatGPT
cd QChatGPT
- Install dependencies
pip3 install requests yiri-mirai openai colorlog func_timeout dulwich Pillow nakuru-project-idk
- Generate
config.py
python3 main.py
-
Edit
config.py
-
Run
python3 main.py
Any problems, please refer to the issues page.
🚀Usage
After deployment, please read: Commands(cn)
For more details, please refer to the Wiki(cn)
🧩Plugin Ecosystem
Plugin usage and development are supported.
List of plugins (cn)
Examples
在tests/plugin_examples
目录下,将其整个目录复制到plugins
目录下即可使用
cmdcn
- 主程序指令中文形式hello_plugin
- 在收到消息hello
时回复相应消息urlikethisijustsix
- 收到冒犯性消息时回复相应消息
More Plugins
欢迎提交新的插件
- revLibs - 将ChatGPT网页版接入此项目,关于官方接口和网页版有什么区别
- Switcher - 支持通过指令切换使用的模型
- hello_plugin -
hello_plugin
的储存库形式,插件开发模板 - dominoar/QChatPlugins - dominoar编写的诸多新功能插件(语音输出、Ranimg、屏蔽词规则等)
- dominoar/QCP-NovelAi - NovelAI 故事叙述与绘画
- oliverkirk-sudo/chat_voice - 文字转语音输出,使用HuggingFace上的VITS-Umamusume-voice-synthesizer模型
- RockChinQ/WaitYiYan - 实时获取百度
文心一言
等待列表人数 - chordfish-k/QChartGPT_Emoticon_Plugin - 使机器人根据回复内容发送表情包
- oliverkirk-sudo/ChatPoeBot - 接入Poe上的机器人
- lieyanqzu/WeatherPlugin - 天气查询插件
😘Thanks
- @the-lazy-me video tutorial creator
- @mikumifa Docker deployment
- @dominoar Plugin development
- @万神的星空 Packages publisher
- @ljcduo GPT-4 API internal test account
And all contributors and other friends who support this project.