深度学习项目实践——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

相关文章

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

SpringBoot中配置Redis连接池的完整指南

《SpringBoot中配置Redis连接池的完整指南》这篇文章主要为大家详细介绍了SpringBoot中配置Redis连接池的完整指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以... 目录一、添加依赖二、配置 Redis 连接池三、测试 Redis 操作四、完整示例代码(一)pom.

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注