深度学习项目实践——qq聊天机器人(transformer)(二)配置环境与部署

本文主要是介绍深度学习项目实践——qq聊天机器人(transformer)(二)配置环境与部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

深度学习项目实践——qq聊天机器人(transformer)(二)配置环境与部署

上一节我们讲解了qq聊天的原理和qq机器人的框架以及运行流程,这一节我们来讲怎么配置环境,部署qq机器人。

第一步——配置环境

有关代替qq客户端实现反向websocket连接这一部分内容由于一些原因,我无法在这里具体讲解,我把这部分内容放到了github中我的项目内,请自行查看。

机器人主体——nonebot2

nonebot是一个基于Python的机器人框架,它提供了丰富的插件系统,可以轻松地扩展机器人的功能。nonebot支持多种协议,包括QQ、Telegram、Discord等,因此你可以根据自己的需求选择合适的协议。

部署nonebot2

由于nonebot2对python环境有要求,所以建议使用虚拟环境或者anaconda来部署nonebot2,具体步骤如下:

推荐方法:使用anaconda配置环境

具体anaconda的安装方法可以参考我之前发过的在ubuntu上配置pytorch环境的文章
从官网下载(参考: http://t.csdnimg.cn/5CWjX )

下载地址传送门:

官网首页:https://www.anaconda.com/
官网下载页:https://www.anaconda.com/products/individual#Downloads

直接选择相应的installer即可
下载页面

安装python3.10

在 Ubuntu 中,可以通过 Anaconda 创建一个 Python 3.10 的 Conda 虚拟环境。以下是详细步骤:

  1. 打开终端

    打开你的终端(Terminal)。

  2. 进入conda(如果终端中用户左边没有出现(base))

    使用以下命令进入conda环境

    cd ~
    source anaconda3/bin/activate
    
  3. 创建 Conda 虚拟环境

    使用以下命令创建一个新的虚拟环境,并指定 Python 版本为 3.10:

    conda create -n qqbot python=3.10
    

    其中,qqbot 是你为虚拟环境指定的名字,请记住它,以便以后激活该环境。

  4. 激活虚拟环境

    创建完成后,激活你的虚拟环境:

    conda activate qqbot
    
  5. 安装所需的包(nonebot2)

    我们现在安装nonebot2,使用nonebot脚手架,可以参考nonebot2的官方文档进行安装

    pip install nb-cli
    
  6. 查看虚拟环境列表(可选)

    查看所有的 Conda 虚拟环境可以运行:

    conda env list
    
  7. 退出虚拟环境(可选)

    当完成工作后,可以退出虚拟环境:

    conda deactivate
    

第二步:部署简单的qq机器人

创建nonebot2项目

参考nonebot2的官方文档,使用nonebot脚手架创建一个简单的nonebot2项目

在打开虚拟环境的终端中输入以下命令:

nb create

这一指令将会执行创建项目的流程,你将会看到一些询问:

  • 项目模板
    [?] 选择一个要使用的模板: bootstrap (初学者或用户)

这里我们选择 bootstrap 模板,它是一个简单的项目模板,能够安装商店插件。如果你需要自行编写插件,这里请选择 simple 模板。

  • 项目名称
[?] 项目名称: qqbat

这里我们以 qqbot 为例,作为项目名称。你可以根据自己的需要来命名。

  • 其他选项 请注意,多选项使用空格选中或取消,回车确认。
[?] 要使用哪些驱动器? FastAPI (FastAPI 驱动器)
[?] 要使用哪些适配器? Console (基于终端的交互式适配器)
[?] 立即安装依赖? (Y/n) Yes
[?] 创建虚拟环境? (Y/n) Yes

这里我们选择了创建虚拟环境,nb-cli 在之后的操作中将会自动使用这个虚拟环境。如果你不需要自动创建虚拟环境或者已经创建了其他虚拟环境,nb-cli 将会安装依赖至当前激活的 Python 虚拟环境。

  • 选择内置插件
[?] 要使用哪些内置插件? echo

这里我们选择 echo 插件作为示例。这是一个简单的复读回显插件,可以用于测试你的机器人是否正常运行。

启动nonebot2项目

在命令行中进入项目文件夹,然后输入以下命令启动nonebot2项目:

cd qqbot # 项目名称,进入项目文件夹
nb run

现在应该已经运行起来了你的第一个 NoneBot 项目了!请注意,生成的项目中使用了 FastAPI 驱动器和 Console 适配器,你之后可以自行修改配置或安装其他适配器。但此时的qq机器人并没有登陆qq,也无法与qq进行交互,接下来我们需要在qq配置反向websocket客户端

配置反向websocket客户端

此部分内容由于一些原因无法在此处展示,请查阅github中该项目中这一节的内容(class2.md)

尝试使用

在项目运行起来后,Console 适配器会在你的终端启动交互模式,你可以直接在输入框中输入 /echo hello world 来测试你的机器人是否正常运行。

在这里插入图片描述

这篇关于深度学习项目实践——qq聊天机器人(transformer)(二)配置环境与部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1125613

相关文章

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S