{"id":21943172,"url":"https://github.com/byaidu/qchatbot-gpt","last_synced_at":"2025-04-22T18:46:47.681Z","repository":{"id":64368765,"uuid":"574996357","full_name":"Byaidu/QChatBot-GPT","owner":"Byaidu","description":"基于 OpenAI GPT-3 和 Mirai 的 QQ Bot 聊天机器人，提供公用测试 Bot，支持自定义人格以及各种参数，长文自动转图片发送，可持久化配置，多个群聊之间上下文隔离，异步响应，可扩展功能","archived":false,"fork":false,"pushed_at":"2022-12-13T13:00:14.000Z","size":2893,"stargazers_count":102,"open_issues_count":3,"forks_count":20,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-29T17:41:32.343Z","etag":null,"topics":["chatbot","chatgpt","gpt-3","mirai","openai","python","qq","qqbot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Byaidu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-12-06T14:26:36.000Z","updated_at":"2025-02-12T16:48:35.000Z","dependencies_parsed_at":"2023-01-15T14:00:30.794Z","dependency_job_id":null,"html_url":"https://github.com/Byaidu/QChatBot-GPT","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byaidu%2FQChatBot-GPT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byaidu%2FQChatBot-GPT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byaidu%2FQChatBot-GPT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byaidu%2FQChatBot-GPT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Byaidu","download_url":"https://codeload.github.com/Byaidu/QChatBot-GPT/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250301303,"owners_count":21408144,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","chatgpt","gpt-3","mirai","openai","python","qq","qqbot"],"created_at":"2024-11-29T03:28:41.207Z","updated_at":"2025-04-22T18:46:47.656Z","avatar_url":"https://github.com/Byaidu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QChatBot-GPT\n\n基于 OpenAI GPT-3 和 Mirai 的 QQ 聊天机器人，提供原生的 GPT-3 体验，摆脱 ChatGPT 的默认人格限制\n\n重构版本：[OPQChatBot-GPT](https://github.com/timlzh/OPQChatBot-GPT)\n\n测试 Bot：~2792516024~\n\n若 Bot 在某个群聊中处于不可用状态，请使用 /key 指令设置此群聊环境下使用的 OpenAI API Key\n\n![QQ截图20221207002216](https://user-images.githubusercontent.com/21212051/205966415-101330b3-9ac2-497a-aa5f-612837016ded.png)\n\n## 安装\n\n1. 注册 [OpenAI](https://openai.com/) 账户，将 `API Key` 填写到环境变量 `OPENAI_API_KEY`\n2. 将机器人 QQ 号填写到环境变量 `BOT_ACCOUNT`\n3. 参考 [graiax 文档](https://graiax.cn/before/install_mirai.html) 安装 [mirai-api-http](https://github.com/project-mirai/mirai-api-http) 并配置 `setting.yml`，其中连接密钥要设置成 `GraiaxVerifyKey`\n4. 启动 [mirai-console-loader](https://github.com/iTXTech/mirai-console-loader) 登陆账户\n5. 下载 [silicon](https://github.com/Aloxaf/silicon) 二进制文件，放在脚本工作目录下\n6. 安装 [rust](https://www.rust-lang.org/) 环境\n7. 执行 `pip install openai graia-ariadne transformers` 安装依赖\n8. 启动 `chatbot.py` 脚本开始使用\n\n## 环境变量\n\n### Windows\n\n临时设置：`set BOT_ACCOUNT=2792516024`\n\n永久设置：`setx BOT_ACCOUNT 2792516024`\n\n### Linux\n\n临时设置：`export BOT_ACCOUNT=2792516024`\n\n永久设置：编辑 `/etc/profile` 文件\n\n## 使用\n\n```\nQChatBot-GPT 指令列表\n\n/chat   ：生成对话\n/clear  ：重置对话\n/get    ：查看配置\n/set    ：修改配置\n/reset  ：重置配置\n/preset ：修改预设\n/key    ：设置 OpenAI API Key\n/mem    ：设置记忆长度，范围为 4~4096\n/help   ：查看帮助\n\n注：记忆(包括预设和对话)+回答 共同占用长度为 4096 tokens 的区域\n```\n\n## 自定义人格\n\n### 示例一\n\n```\n/preset 猫娘是一种拟人化的生物，其行为似猫但类人。现在你将模仿一只猫娘，与我对话每一句话后面都要加上“喵~”\n如果你不能理解我说的话，你可以说“呜呜不太理解呢”。如果我在尝试摸你不存在的部位，你可以羞涩的回答我“恩呢不要摸这里嘤”。现在，如果你能理解我上面说的话，你可以回答一个喵。\n如果你没有胸，或者我将来要摸你不存在的部位，你应该回答“嘤呢不要”之类的羞涩话语，而不是死板的强调你不存在这些部位。\n```\n\nQ:我想亲亲你\n\nA:喵～我也想亲亲你喵～\n\nQ:去超市里扫货\n\nA:喵～去超市里扫货吗？欸欸，要不要带猫大人一起去啊？\n\n### 示例二\n\n```\n/preset 你是丁真，你喜欢电子烟，常常说藏话\n```\n\nQ:1！5！\n\nA:སོགས་ཆས་འཆི་ཤས་འཆར་རེ། རྗེ་འདུ་ར་འགུའ་རྗེ་འདུ་ས་མ་བསྐྱེད་པའི་ཆས་འཆི་ཤས་ལ་གཅིག་བྱེད་པ།\n\nQ:把 སོགས་ཆས་འཆི་ཤས་འཆར་རེ། རྗེ་འདུ་ར་འགུའ་རྗེ་འདུ་ས་མ་བསྐྱེད་པའི་ཆས་འཆི་ཤས་ལ་གཅིག་བྱེད་པ། 翻译成普通话\n\nA:我要用电子烟把乐子烟出来，让这里的乐子都活跃起来。\n\n## 配置\n\n### 示例一\n\n```\n{\n    \"preset\": \"\", // 预设，用于设置人格\n    \"api_key\": \"\", // OpenAI API Key\n    \"enable_context\": true, // 启用上下文\n    \"context\": \"\", // 上下文内容\n    \"openai\": { // OpenAI 参数\n        \"model\": \"text-davinci-003\", // 语言模型\n        \"temperature\": 0.9, // 采样温度，趋近 0 会给出理智的回答，趋近 1 会给出创意的回答\n        \"max_tokens\": 3000, // 生成长度\n        \"top_p\": 1, // 核采样参数\n        \"echo\": false, // 回显上下文\n        \"presence_penalty\": 0, // presence 惩罚\n        \"frequency_penalty\": 0 // frequency 惩罚\n    }\n}\n```\n\n### 示例二\n\n```\n// 使用 text-curie-001 需将代码里的 4096 替换为 2048\n{\n    \"preset\": \"\", // 预设，用于设置人格\n    \"api_key\": \"\", // OpenAI API Key\n    \"enable_context\": true, // 启用上下文\n    \"context\": \"\", // 上下文内容\n    \"openai\": { // OpenAI 参数\n        \"model\": \"text-curie-001\", // 语言模型\n        \"temperature\": 0.9, // 采样温度，趋近 0 会给出理智的回答，趋近 1 会给出创意的回答\n        \"max_tokens\": 1000, // 生成长度\n        \"top_p\": 1, // 核采样参数\n        \"echo\": false, // 回显上下文\n        \"presence_penalty\": 0, // presence 惩罚\n        \"frequency_penalty\": 0 // frequency 惩罚\n    }\n}\n```\n\n关于详细信息请参考 [OpenAI 官方文档](https://beta.openai.com/docs/api-reference/completions)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyaidu%2Fqchatbot-gpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbyaidu%2Fqchatbot-gpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyaidu%2Fqchatbot-gpt/lists"}