基于chatgpt開(kāi)發(fā)QQ機(jī)器人原理分析
一、概述
通過(guò)調(diào)用OpenAI GPT-3模型提供的Completion API來(lái)實(shí)現(xiàn)一個(gè)更加智能的QQ機(jī)器人
以下是功能特色,點(diǎn)擊展開(kāi)查看具體使用方法
?回復(fù)符合上下文 ?支持敏感詞過(guò)濾,避免賬號(hào)風(fēng)險(xiǎn) ?使用官方api,不需要網(wǎng)絡(luò)代理,穩(wěn)定快捷 ?完善的多api-key管理,超額自動(dòng)切換 ?組件少,部署方便,提供一鍵安裝器及Docker安裝 ?支持預(yù)設(shè)指令文字 ?完善的會(huì)話管理,重啟不丟失
1.1 技術(shù)棧
Mirai 高效率 QQ 機(jī)器人支持庫(kù) YiriMirai 一個(gè)輕量級(jí)、低耦合的基于 mirai-api-http 的 Python SDK。 OpenAI API OpenAI API
1.2 項(xiàng)目結(jié)構(gòu)
pkg.database 數(shù)據(jù)庫(kù)操作相關(guān) 數(shù)據(jù)庫(kù)用于存放會(huì)話的歷史記錄,確保在程序重啟后能記住對(duì)話內(nèi)容 pkg.openai OpenAI API相關(guān) 用于調(diào)用OpenAI的API生成回復(fù)內(nèi)容 pkg.qqbot QQ機(jī)器人相關(guān) 處理QQ收到的消息,調(diào)用API并進(jìn)行回復(fù)
二、開(kāi)始部署
以下方式二選一,Linux首選Docker,Windows首選安裝器
Docker方式 請(qǐng)查看此倉(cāng)庫(kù)mikumifa/QChatGPT-Docker-Installer
安裝器方式 使用此安裝器(若無(wú)法訪問(wèn)請(qǐng)到Gitee)進(jìn)行部署
安裝器目前僅支持部分平臺(tái),請(qǐng)到倉(cāng)庫(kù)文檔查看,其他平臺(tái)請(qǐng)手動(dòng)部署
下面使用docker方式安裝
git clone https://github.com/mikumifa/QChatGPT-Docker-Installer cd QChatGPT-Docker-Installer chmod +x loadFile.sh && ./loadFile.sh
最終效果如下,bot目錄內(nèi)是當(dāng)前的RockChinQ/QChatGPT項(xiàng)目里面的內(nèi)容,mirai目錄內(nèi)是ITXTech下載后解壓到mirai里面

三、啟動(dòng)mirai
3.1 初始化mirai
docker-compose run --rm mirai
上面這一步,windows操作系統(tǒng)的可能會(huì)報(bào)錯(cuò)error during connect: This error may indicate that the docker daemon is not running 解決方式是CMD管理員模式DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V 等待安裝,并按照提示操作登錄。(第一次失敗的話就,Ctrl + C退出,再重來(lái)一次)
3.2 在mirai上登錄QQ
login <機(jī)器人QQ號(hào)> <機(jī)器人QQ密碼>

登陸成功

3.3 自動(dòng)登錄
autologin add <機(jī)器人QQ號(hào)> <機(jī)器人密碼> autologin setConfig <機(jī)器人QQ號(hào)> protocol ANDROID_PAD
出現(xiàn)mirai登錄時(shí)提示版本過(guò)低:當(dāng)前QQ版本過(guò)低,請(qǐng)升級(jí)至最新版本后再登錄。點(diǎn)擊進(jìn)入下載頁(yè)面報(bào)錯(cuò)時(shí)候刪除mirai/bots文件夾里面的數(shù)據(jù)
完成后, Ctrl + C 退出
四、編寫(xiě)配置文件
在bot目錄下創(chuàng)建config.py,將config-template.py的內(nèi)容復(fù)制進(jìn)去,編輯config.py修改必需項(xiàng)
在 mirai/config/net.mamoe.mirai-api-http 文件夾中找到setting.yml,這是mirai-api-http的配置文件
將這個(gè)文件的內(nèi)容修改為:
adapters:
- ws
debug: true
enableVerify: true
verifyKey: yirimirai
singleMode: false
cacheSize: 4096
adapterSettings:
ws:
host: localhost
port: 8080
reservedSyncId: -1verifyKey要求與bot的config.py中的verifyKey相同
五、驗(yàn)證
5.1 啟動(dòng)mirai容器
docker-compose run -d mirai
此命令將在后臺(tái)啟動(dòng)mirai容器
5.2 啟動(dòng)主程序容器
docker-compose run -d setup
此命令將在后臺(tái)啟動(dòng)主程序的容器并完成配置
六、使用方法
6.1 私聊使用
- 添加機(jī)器人QQ為好友
- 發(fā)送消息給機(jī)器人,機(jī)器人即會(huì)自動(dòng)回復(fù)
- 可以通過(guò)!help查看幫助信息

6.2 群聊使用
- 將機(jī)器人拉進(jìn)群
- at機(jī)器人并發(fā)送消息,機(jī)器人即會(huì)自動(dòng)回復(fù)
- at機(jī)器人并發(fā)送!help查看幫助信息

以上就是基于chatgpt開(kāi)發(fā)QQ機(jī)器人原理分析的詳細(xì)內(nèi)容,更多關(guān)于chatgpt QQ機(jī)器人的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
elasticsearch.yml配置文件解讀(ES配置詳解)
elasticsearch的config文件夾里面有一個(gè)主配置文件:elasticsearch.yml是es的基本配置文件,下面主要講解下elasticsearch.yml這個(gè)文件中可配置文件,感興趣的朋友一起看看吧2024-08-08
網(wǎng)頁(yè)報(bào)錯(cuò)"Form?elements?must?have?labels"的處理方法
這篇文章主要給大家介紹了關(guān)于網(wǎng)頁(yè)報(bào)錯(cuò)"Form?elements?must?have?labels"的處理方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-06-06
Chrome拓展(Chrome Extension)開(kāi)發(fā)定時(shí)任務(wù)插件
文章講述了如何在ChromeExtension中實(shí)現(xiàn)定時(shí)任務(wù),包括使用chrome.alarmsAPI、結(jié)合contentscript的狀態(tài)感知定時(shí)器和基于事件觸發(fā)的模擬定時(shí),文章強(qiáng)調(diào)了任務(wù)的冪等性、狀態(tài)的持久化存儲(chǔ)、記錄執(zhí)行日志和防止重復(fù)執(zhí)行的重要性2025-04-04
vs2019+cmake實(shí)現(xiàn)Linux遠(yuǎn)程開(kāi)發(fā)的方法步驟
這篇文章主要介紹了vs2019+cmake實(shí)現(xiàn)Linux遠(yuǎn)程開(kāi)發(fā)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Typora?0.11.18免費(fèi)版本安裝使用教程(親測(cè)可用)
Typora是一款非常使用的筆記工具,對(duì)于程序員非常友好,在2021年11月23日,Typora?正式發(fā)布?1.0?版本,進(jìn)入了付費(fèi)時(shí)代,Typora免費(fèi)版本0.11.18(最后的免費(fèi)版),本文給大家分享Typora免費(fèi)獲取方法及安裝使用教程,感興趣的朋友參考下吧2022-07-07
Archlinux?Timeshift系統(tǒng)備份與還原的操作方法
這篇文章主要介紹了Archlinux?Timeshift系統(tǒng)備份與還原的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01

