使用 Nonebot2 搭建一个 QQ AI Agents 智能体助手(页面提取与学习总结、联网学习回答)

一、什么是 Nonebot2

NoneBot2,简称 nonebot、nb,是一个开源的、跨平台的Python异步机器人框架,主要用于搭建能够运行在QQ、微信、飞书等聊天平台上的聊天机器人。在本文中,主要使用 Nonebot2 对 QQ 信息进行处理并回复。

在使用 Nonebot2 之前需要知道 Nonebot2 究竟是干什么的,很多同学误以为使用 Nonebot2 就可以链接上 QQ,实际上 Nonebot 并不提供连接能力,而只对消息本身做处理。要连接上 QQ 还需要一个连接引擎,或者称为协议实现。以 Onebot 协议为例,一个引擎连接 QQ 后,以 Onebot 协议的规范提供一系列处理接口,在 Nonebot 中同样选择使用 Onebot 协议从连接引擎中获取传递的消息以及一系列 Onebot 协议约定的 API 。使用这些 API,Nonebot 就获得了对 QQ 的消息获取、消息回复等 API,从而拥有了对 QQ 的操作能力。

在 Nonebot 中拥有许许多多的 Plugins(插件),Nonebot 在接收到消息后会将消息分发到相匹配的插件中,由插件对消息做实际的处理。

整个流程简化如下图所示:
在这里插入图片描述

二、Nonebot 安装与接收 QQ 消息

第一步:安装 nb 并启动(可直接用官方教程安装,点击跳转

  1. 安装项目脚手架 nb-cli
    python -m pip install --user pipx
    python -m pipx ensurepath
    pipx install nb-cli
    
  2. 使用脚手架创建一个框架项目,在命令行中输入 nb create
    在这一步中将会提示你选择模板,可以按照下面列出的选项来选择:
    [?] 选择一个要使用的模板: bootstrap (初学者或用户)
    [?] 项目名称: awesome-bot
    [?] 要使用哪些驱动器? FastAPI (FastAPI 驱动器)
    [?] 要使用哪些适配器? Onebot V11 (选择 Onebot 的适配器)
    [?] 立即安装依赖? (Y/n) Yes
    [?] 创建虚拟环境? (Y/n) Yes
    
  3. 进入刚刚创建的项目中,输入 nb run 启动。如果使用的是 pip 或者是一般 virtualenv 的虚拟环境安装 nb-cli,则需要激活对应的虚拟环境再进行操作。

第二步:安装协议实现(引擎)并启动

  1. 选择引擎并安装。(由于各类原因,我不应该在这里指明要使用的协议实现,请移步 github 搜索 NTQQ 自行查找)
  2. 启动引擎。

第三步:引擎与 Nonebot 通信

  1. 请自行查看你选择引擎文档,根据文档配置 WS 通信地址,通常格式如下图所示
    在这里插入图片描述

第四步:使用 With AI Agents 插件处理信息。

1 安装插件,输入下面的命令
nb plugin install nonebot-plugin-with-ai-agents
2. 在前面创建的项目主目录中,创建一个 .env 的文件,填入以下信息,其中 AI 的 Key 可以在对应的平台中申请,详情可以查看本文第三节。

# 配置信息
WITH_AI_AGENTS__API_KEY = <你的大模型 api key,如”sk-xxxx“>
WITH_AI_AGENTS__PLATFORM = <你的大模型平台,如”dashscope“>
WITH_AI_AGENTS__MODEL_NAME = <你的大模型名称(非必填),如”qwen-turbo“>
WITH_AI_AGENTS__TAVILY_API_KEY = <Tavily 搜索 api key(非必填),如”tvly-xxxxx“>

三、WIth AI Agents 插件

欢迎各位同学使用,With AI Agents 插件,插件仓库地址:https://github.com/yejue/nonebot-plugin-with-ai-agents

在这个仓库中,我详细介绍了这个插件,并且列出了申请平台 API KEY 的文档链接。

四、使用示例

页面内容学习

页面提取

联网实时查询

AI聊天

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值