基于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ì)話(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ì)話(huà)的歷史記錄,確保在程序重啟后能記住對(duì)話(huà)內(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 等待安裝,并按照提示操作登錄。(第一次失敗的話(huà)就,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: -1
verifyKey要求與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)文章
插件下載安裝系列Eclipse/IDEA/谷歌/火狐安裝插件
這篇文章主要介紹了插件下載安裝系列Eclipse/IDEA/谷歌/火狐,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10學(xué)編程選什么語(yǔ)言好?是PHP、Python還是Ruby?
這篇文章主要介紹了學(xué)編程選什么語(yǔ)言好?是PHP、Python還是Ruby?需要的朋友可以參考下2014-06-06使用Visual Studio進(jìn)行文件差異比較的問(wèn)題小結(jié)
這篇文章主要介紹了使用Visual Studio進(jìn)行文件差異比較,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-072018年最值得一讀的互聯(lián)網(wǎng)書(shū)單
2018年已經(jīng)過(guò)去了近三分之二了,是不是感覺(jué)時(shí)光匆匆、一去不復(fù)返,過(guò)去的時(shí)間我們追不回,但是我們可以更加珍惜以后的時(shí)間!下面這篇文章主要給大家分享了2018年最值得一讀的互聯(lián)網(wǎng)書(shū)單,希望以后的日子里大家可以多讀書(shū),讀好書(shū)2018-08-08ibatis簡(jiǎn)單實(shí)現(xiàn)與配置
ibatis與hibernate一樣,同樣也是一種OR框架,OR框架有很多種,相對(duì)用的比較多的就是hibernate與ibatis,ibatis是一種白自動(dòng)化的ORM的實(shí)現(xiàn)2009-01-01git用戶(hù)自定義變量查看修改及調(diào)用教程詳解
這篇文章主要為大家介紹了git用戶(hù)自定義變量查看修改及調(diào)用教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04