基于chatgpt開(kāi)發(fā)QQ機(jī)器人

# 基于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](https://github.com/mamoe/mirai) 高效率 QQ 機(jī)器人支持庫(kù) [YiriMirai](https://github.com/YiriMiraiProject/YiriMirai) 一個(gè)輕量級(jí)、低耦合的基于 mirai-api-http 的 Python SDK。 [OpenAI](https://openai.com/api/) 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](https://github.com/mikumifa/QChatGPT-Docker-Installer) **安裝器方式** 使用此[安裝器](https://github.com/RockChinQ/qcg-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里面 ![file](https://upload-images.jianshu.io/upload_images/28895909-61582516c5d354a3.png) ## 三、啟動(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密碼> ``` ![file](https://upload-images.jianshu.io/upload_images/28895909-447e70fbc6050ef6.png) 登陸成功 ![file](https://upload-images.jianshu.io/upload_images/28895909-99d3f15b88c57b0c.png) 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 退出。 ## 四、編寫配置文件 在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查看幫助信息 ![file](https://upload-images.jianshu.io/upload_images/28895909-88fbd23b0f62acdc.png) 6.2 群聊使用 - 將機(jī)器人拉進(jìn)群 - at機(jī)器人并發(fā)送消息,機(jī)器人即會(huì)自動(dòng)回復(fù) - at機(jī)器人并發(fā)送!help查看幫助信息 ![file](https://upload-images.jianshu.io/upload_images/28895909-85e451f3542b69c8.png) 本文由[mdnice](https://mdnice.com/?platform=6)多平臺(tái)發(fā)布
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容