# Q-Copilot **Repository Path**: li-haoaa/q-copilot ## Basic Information - **Project Name**: Q-Copilot - **Description**: Q-Copilot,基于SpringBoot+NapCatQQ+LLM+Tools构建的全新QQ AI机器人! - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-07-25 - **Last Updated**: 2024-10-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Q-Copilot简介 ​ 传统的QQ机器人可以说几乎对自然语言没有理解能力,只能通过固定指令的方式进行特定任务是执行。比如查询天气,你只能说"天气 深圳","01 深圳",等类似固定指令,不管是从开发角度还是用户角度都极其机械化。 ​ 而基于LLM+Tools实现的机器人不仅简化了开发流程,也提升了用户体验,用户可以通过日常交流的语言完成一些操作,效果可以类比小爱同学等AI助手。话不多说,先上效果图: ## 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工具也可以实现。 ​ **微博热搜获取** ​ **热映影片获取**,这个其实GoogleSearch也可以实现。 ​ **谷歌搜索**,王炸! ​ **邮件发送**,是不是越来越像一个私人秘书了…… ​ 还有很多功能可以自己添加,很简单的代码能实现很强的功能,比如说对接邮箱api,直接告诉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会非常快,大概五分钟就可以搞定~ ### Server启动 启动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)就可以了! ## 附录 项目更多信息:https://blog.csdn.net/weixin_51342637/article/details/140667638 项目参考感谢:https://gitee.com/Lelouch-cc/haruhibot-server