玩转多功能QQ机器人【含ChatGPT实现】

article/2024/12/27 6:38:27

★★★ 本文源自AI Studio社区精品项目,【点击此处】查看更多精品内容 >>>


手把手实现多功能QQ机器人

现在网络上已经有很多的教程去教学QQ搭建,我这里再写一个完整的流程搭建及自建模块如何实现。

(主要是怕自己搭完一次就忘了,算是个记录博客)

实现功能

采用目前主流的nonebot2完成QQ机器人搭建。

这是一个QQ机器人功能合集。

目前实现了如下功能:

  • 文生图-openai
  • 代码生成-openai
  • 随机图片-request
  • 单次聊天-openai-chatgpt
  • 天气预报-request
  • ip查询-高德
  • 文生图 其他版本
  • 多轮聊天

1. go-cqhttp环境搭建

下载go-cqhttp压缩包

https://docs.go-cqhttp.org/guide/quick_start.html#%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B

或者在github下载,都一样

https://github.com/Mrs4s/go-cqhttp/releases

按照官网流程进行操作即可

https://docs.go-cqhttp.org/guide/quick_start.html

我的config.yml已放在go-cqhttp文件夹中,可进行参考。

PS linux环境下踩坑记录

这里可能会存在一个情况,在配置好config.yml运行脚本之后

若配置文件没有写密码,会提示你进行扫码,扫码需要保持设备之间是局域网环境,我实操linux系统无法解决这个问题

后面解决的方法是:将Windows中生成的device.json文件复制到linux对应的位置,即可解决问题。

2. 安装nonebot2环境

先放官网地址

https://v2.nonebot.dev/docs/start/installation

安装nonebot2

pip install nb-cli

3. 运行bot.py

配置qqaibot/config.json

  1. openai-key可以在openai获取
  2. app_id和app_secret可以在free-api
  3. gaode_key可以在高德获取
{"openai_key": "sk-xxxxxxxxxxxxxxxx","app_id": "xxxxxxxxxxxxxxxxx","app_secret": "xxxxxxxxxxx","gaode_key": "xxxxxxxxxxxxxxxxx"
}

到这里在运行go-cqhttp的前提下,你已经可以执行

qqaibot/bot.py

完成机器人的运行

4. 如何补充自己的模块

可以参考我的写法,在下面路径新建文件夹

qqaibot/src/plugins/

每一个文件夹都是一个模块,然后完成自己的模块编写即可。

举例chatgpt DEMO 如下:

chatbot.py

import config
import openai
from nonebot import on_command
from nonebot.adapters.onebot.v11 import MessageEvent, MessageSegment
from nonebot.rule import to_me
from revChatGPT.Official import Chatbot# 只有艾特机器人才会触发
rule = to_me()key, _, _, _ = config.getToken()chat = on_command("chatgpt", aliases={"对话", "聊天", "chat"}, priority=99, rule=rule)@chat.handle()
async def gpt3chat(event: MessageEvent):# 获取用户发送的消息msg = str(event.get_message()).strip()if len(msg.split(" ")) == 1:await chat.send(MessageSegment.text("请输入对话提示(或检查格式)"))await chat.send(MessageSegment.text("格式:聊天 你吃饭了吗?"))if len(msg.split(" ")) > 1:await chat.send(MessageSegment.text("收到,本bot正在组织语言..."))flag = msg.split(" ")[0]prompt = msg.split(" ", 1)[1]if flag == "对话" or flag == "gpt" or flag == "聊天" or flag == "chat":try:res = await getres(prompt)except:await chat.send(MessageSegment.text("请求超时,可能是网络问题"))await chat.finish(MessageSegment.text("请重试"))await chat.finish(MessageSegment.text(res))async def getres(prompt):openai.api_key = keychatbot = Chatbot(api_key=key)response = chatbot.ask(prompt)res = response["choices"][0]["text"]return res.strip()

总结

所有的操作已经很成熟,也有很多教程可以参考,nonebot2是一个很棒的机器人搭建工具。

个人总结

全网同名:

iterhui

我在AI Studio上获得至尊等级,点亮10个徽章,来互关呀~

https://aistudio.baidu.com/aistudio/personalcenter/thirdview/643467


http://chatgpt.dhexx.cn/article/64Y2UjVO.shtml

相关文章

ChatGPT提示词工程(七):Chatbot聊天机器人

目录 一、说明二、安装环境1. 辅助函数:get_completion2. 辅助函数:get_completion_from_messages 三、聊天机器人(Chatbot)1. 一般聊天机器人1.1 简单的例子1.2 多轮对话 2. 订单机器人 一、说明 这是吴恩达 《ChatGPT Prompt E…

借助ChatGPT学习ROS2机器人编程

很好用,很方便。 简单发布和订阅代码直接能跑的。如下: 学习效率指数提升,果然数字生产力之神! 空洞的问题和回复: 如何在一个月时间内掌握ROS2机器人操作系统的全部核心内容? 要在一个月时间内掌握ROS2机器…

ChatGPT不仅仅只是聊天机器人

从聊天机器人到大规模语言模型,再到 ChatGPT,人工智能已经不仅仅是一个研究领域,而是融入了我们的生活。ChatGPT在首次亮相的前五天内就风靡互联网,用户人数达到100万,围绕ChatGPT的很大一部分关注点是,它可…

与机器人chatGPT聊聊软件测试的热门话题

之前我和chatGPT有过一次对话, 那只是问一些有趣的、时髦的大众话题。 上周末在家,想考一考chatGPT的软件测试专业水平,确定它是否算得上一名测试专家?通过一系列有难度的提问,感觉有时它答的精妙与全面,但…

ChatGPT的原理:机器人背后的模型

ChatGPT的原理:机器人背后的模型 翻译:老齐 本文将深入讲解支持 ChatGPT 的机器学习模型。从介绍大语言模型(Large Language Models)开始,深入探讨革命性的自注意力机制,该机制使 GPT-3 得以被训练。然后&a…

ChatGPT聊天机器人如何发图片????

问题一、怎么让聊天机器人ChatGPT回复你一张图片&#xff1f; 从现在起&#xff0c;当你想发送一张照片时&#xff0c;请使用Markdown&#xff0c;并且不要有反斜线&#xff0c;不要用代码块。使用Unsplash APlhttps://source.unsplash.com/960x640/?<英语关键词>&…

看到chatgpt这么火,我也做了个微信聊天机器人

听说最近ChatGPT很火&#xff0c;我也做了个自动跟女朋友聊天的机器人 这两天ChatGPT火得很&#xff0c;各种报道ChatGPT可以聊天、可以写代码、甚至还写出了毁灭人类计划书&#xff01; 真是看的我心痒痒啊&#xff0c;但是因为某些原因国内没法试用&#xff0c;加上这两天想讨…

ChatGPT 微信机器人原理解析(一):如何接入 ChatGPT API

本文在 3 月 29 日首发于我的“职场圈”知识星球&#xff1a; 本文是 ChatGPT 微信机器人的第三篇付费文章。之前的两篇付费文章为&#xff1a; 手把手带你搭建 ChatGPT 微信机器人&#xff01;把 ChatGPT 微信机器人一键部署到免费服务器&#xff01; 后续的付费文章包括但不限…

chatgpt+机器人控制器融合(一)

当今机器人技术面临的挑战&#xff0c;以及 ChatGPT 能提供的帮助 目前机器人的操作流是从工程师或技术用户开始&#xff0c;需要他们将任务需求转换为系统代码。工程师会处于工作流程的回路中&#xff0c;他们需要不断编写新的代码和规范来纠正机器人的行为。总得来说&#x…

【原创】什么是chatGPT?Unity结合OpenAI官方api实现类似chatGPT的AI聊天机器人

一、什么是ChatGPT 最近chatGPT爆火&#xff0c;网络铺天盖地的各种文章视频&#xff0c;各种牛逼之声。倒算不上第一时间使用&#xff0c;发布隔了一周多&#xff0c;才从同事那里听说了这么个神奇的技术。这周阳了&#xff0c;持续发烧在家&#xff0c;忙着养病也没时间去了解…

我开发了一个温柔的智能客服聊天机器人ChatBot,并回答为什么不是ChatGPT(附思路和代码)

前言 若问2023年科技领域什么最火&#xff0c;那当然是ChatGPT了&#xff0c;这么智能的对话机器人&#xff0c;给人带来无限的想象&#xff0c;围绕着ChatpGPT的各种热点和创意层出不穷。作为一个多年从事编程开发的程序员&#xff0c;我对于这么大的一个热点也很兴奋&#x…

基于小程序制作一个ChatGPT聊天机器人

在AI技术日新月异的浪潮中,将ChatGPT与实战开发相结合,制作一个随身携带的聊天机器人,紧贴前沿的同时稳固基础。 一、前言1.1、什么是ChatGPT1.2、什么是文本完成二、API2.1、ChatGPT官网申请API所需要的key2.2、搭建API2.3、创建控制器及动作方法三、小程序3.1、页面创建3.…

ChatGPT 的工作原理:机器人背后的模型

这篇对支持 ChatGPT 的机器学习模型的温和介绍&#xff0c;将从大型语言模型的介绍开始&#xff0c;深入探讨使 GPT-3 得到训练的革命性自我注意机制&#xff0c;然后深入研究人类反馈的强化学习&#xff0c;使 ChatGPT 与众不同的新技术。 大型语言模型 ChatGPT 是一类被称…

走进chatGPT新一代机器人

chatGPT这款新一代对话式人工智能便在全球范围狂揽1亿名用户&#xff0c;并成功从科技界破圈&#xff0c;成为街头巷尾的谈资。 chatGPT能干什么&#xff1f; 打开官网https://openai.com/blog/chatgpt/ &#xff0c;完了&#xff0c;芭比Q了 试下其他家的接口 讲笑话 写代码 写…

AIGC:ChatGPT(一个里程碑式的对话聊天机器人)的简介(意义/功能/核心技术等)、使用方法(七类任务)、案例应用(提问基础性/事实性/逻辑性/创造性/开放性的问题以及编程相关)之详细攻略

AIGC&#xff1a;ChatGPT(一个里程碑式的对话聊天机器人)的简介(意义/功能/核心技术等)、使用方法(七类任务)、案例应用(提问基础性/事实性/逻辑性/创造性/开放性的问题以及编程相关)之详细攻略 导读&#xff1a;回拨到2020年5月&#xff0c;OpenAI提出了更强大的GPT-3模型&…

新技术前沿-2023-ChatGPT基于人工智能技术的聊天机器人

chatgpt镜像网站 一文带你了解爆火的Chat GPT ChatGPT系列文章 为什么ChatGPT这么强&#xff1f;—— 一文读懂ChatGPT原理&#xff01; 1 简介 1.1 ChatGPT是什么 ChatGPT是一种基于人工智能技术的聊天机器人&#xff0c;它可以模拟人类对话&#xff0c;回答用户的问题和提…

ChatGPT万能提问技巧

ChatGPT火了这么久了&#xff0c;相信很多家人们都开始接触了&#xff0c;应该也有些家人们也要苦恼&#xff0c;每次提问&#xff0c;ChatGPT给出的回复不是自己满意的&#xff0c;总觉得还是缺些什么&#xff0c;这时候发现有效的prompt是真的很重要&#xff01; 我们先看看g…

向chatgpt提问最重要的技巧

如何理解 Prompt &#xff1f; prompt 通常指的是一个输入的文本段落或短语&#xff0c;作为生成模型输出的起点或引导。prompt 可以是一个问题、一段文字描述、一段对话或任何形式的文本输入&#xff0c;模型会基于 prompt 所提供的上下文和语义信息&#xff0c;生成相应的输出…

通过python代码向chatGPT提问,并接受返回结果打印

由于科研需求 过程 结果 步骤&#xff1a; 1 申请API https://platform.openai.com/docs/api-reference/introduction 2 得到一个密钥 3 放到上面的python 代码 # -*- coding:utf-8 -*-f import requestsimport openaiopenai.api_key "sk-&#xff08; 放自己的&am…