Q-Copilot,基于Java+NapCatQQ+LLM+Tools构建的全新QQ AI机器人,打造私家
Q-Copilot简介传统的QQ机器人可以说几乎对自然语言没有理解本领,只能通过固定指令的方式进行特定任务是执行。比如查询天气,你只能说"天气 深圳","01 深圳",等类似固定指令,不管是从开发角度还是用户角度都极其机械化。
而基于LLM+Tools实现的机器人不光简化了开发流程,也提升了用户体验,用户可以通过日常交流的语言完成一些操作,效果可以类比小爱同砚等AI助手。话不多说,先上效果图:
https://i-blog.csdnimg.cn/direct/79d13f4fcd0a45fd8856dfdd5fcf7491.pnghttps://i-blog.csdnimg.cn/direct/03dd1c90d2b24b23ac2bf04a6bdc36f0.pnghttps://i-blog.csdnimg.cn/direct/7aac46f705654693af509eebbca075f0.pnghttps://i-blog.csdnimg.cn/direct/6c2487b98f1340c2967bf08d461a57b7.png
新增功能“邮件发送”:
https://i-blog.csdnimg.cn/direct/62a73bd74c0b41f8b41d75f88f647146.pnghttps://i-blog.csdnimg.cn/direct/5db8cd74d71347eb833f635f70f50e2b.png
LLM+Tools
LLM各人一定都相识了,所谓的Tools,就是赋予LLM一些工具,这个工具是我们自己写好的,LLM可以进行调用。举个简单的例子,前一段时间网上特别火的话题,大模子分不清13.8和13.11到底哪个大。因为大模子就是预测推理,它不会计算,那如果我们自己写一个很简单的函数Compare(double a,double b),然后通过类似Langchain等框架把这个工具告诉大模子,那你再问它的时候它就可以进行调用。
我们知道大模子是不具备联网本领的,虽然有时候我们在它们的官网进行聊天发现它好像可以联网(比如谷歌的Gemini),但是只是进行了集成,如果你直接调用Gemini api,你会发现其还是没有联网本领的。所以在我们自己创建的LLM应用中就必要Tools赋予其信息获取本领。
下面介绍一下Q-Copilot中已经实现的几个小工具:
天气获取,使用了高德api,其实这个工具有些多余,因为下面GoogleSearch工具也可以实现。
https://i-blog.csdnimg.cn/direct/49f01def036c40fd90de2c7f4f644b62.png
微博热搜获取
https://i-blog.csdnimg.cn/direct/7d623714a64c4693a6f71de4b42a098f.png
热映影片获取,这个其实GoogleSearch也可以实现。
https://i-blog.csdnimg.cn/direct/aae0623c0083446f88c9b6e33c05737b.png
谷歌搜索,王炸!
https://i-blog.csdnimg.cn/direct/7013dd8987a04e6098af6ace1d5570a5.png
还有许多功能可以自己添加,很简单的代码能实现很强的功能,比如说邮件发送,直接告诉Q-Copilot,发邮件给A,内容……,就可以直接发送了(已经添加)。还有新邮件整理、提纲等等……
启动方式
NapCatQQ
(如果你没有搭建过qq机器人,可以看看,如果搭建过可以跳过了~)简单来说NapCatQQ就是一个“中转站,伪QQ”,其可以将别人发送给你qq的消息发送到你的服务端(就是你的后端机器人),也可以将服务端发送的消息(遵循特定协议和格式)进行处理后发送给其他人。
首先,不管你的体系是Linux或者Win,都必要确保你的电脑上有官方的QQ。然后去官网下载NapCatQQ,具体的安装方式官网很具体,这里就不说了,有问题可以直接留言。
启动之后先扫码登录,然后直接退出,这时候config文件夹里面就会天生配置文件,必要编辑的是onebot11_XXXXXX.json,就是你登陆的qq号。必要修改的是reverseWs(我们使用反向WebSocket方式),ip记得改成你稍后启动服务端的ip,如果是本地就127.0.0.1:8080。
"reverseWs": {
"enable": true,
"urls": [
"ws://192.168.XX.XX:8080/ws"
]
},
Redis
本项目依赖Redis进行历史记录缓存,必要启动redis,关于redis安装启动网上恣意一搜就有许多教程,使用Linux会非常快,大概五分钟就可以搞定~
启动Q-Copilot服务端
开发基于Java17+SpringBoot3,从堆栈拉取(项目地址:LiHao/Q-Copilot)。
必要申请高德开发api,Serper api(用于谷歌搜索),使用邮件发送必要去163邮箱设置里面开启IMAP/SMTP功能,然后会得到一个密钥,最紧张的是OpenAI api,针对这个有国内转发接口(放在评论区了),亲测使用gpt-4o-mini,聊一天也就几毛钱。
申请完毕后,在项目根目录执行build.sh(windows 执行 build.bat),之后target中会出现.zip文件,解压后将申请的api密钥添补到application.yaml(记得去掉example)中。如果打包失败,执行java --version和mvn -v,务必确保都是java17。
之后执行run.sh(win执行bat)就可以了!
附录
Q-Copilot 项目地址Q-Copilot: Q-Copilot,基于SpringBoot+NapCatQQ+LLM+Tools构建的全新QQ AI机器人!
本项目基础框架参考haruhibot-server: java(springboot)基于gocqhttp,websocket反向实现的qq机器人
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]