《Ai企业知识库》-模型实践-rasa开源学习框架-搭建简易机器人-环境准备(针对windows)-02

news2024/9/20 20:45:19

rasa框架 

Conversational AI Platform | Superior Customer Experiences Start Here

阿丹:

        其实现在可以使用的ai的开发框架有很多很多,就需要根据各个模型的能力边界等来讨论和设计。 

rasa整体流程以及每一步的作用

NLU(自然语言理解):

自然语言理解:

Intent:意图,理解这个问题是要干什么

以及要完成这个东西的限制条件

DST(对话状态跟踪):

Current Interpretation:现行解释

past State:过去状态

这里的dst主要是用来管理多轮对话中的时候,来处理多轮对话。

用来管理:

对话中的庞杂信息,有的需要模型记忆,有的不需要。

Dialogue Policy(行动生成):

这个步骤主要是,拿到上一步传过来的有用的记忆知识、数据。来让机器人明白要做什么。

输出的就是:Action(具体的动作)

NLG(自然语言生成):

传入动作,以及准备好了的信息。这里的语言生成来将语料加工成一个符合人类理解的正常话语。 

在NLG这里就可以去规则哪些使用的语气等等。。。

为啥用rasa?

使用Rasa的原因及其优势主要包括以下几点:

  1. 开源与自托管:Rasa是一个开源框架,这意味着你可以免费获得并查看其全部源代码。此外,由于可以在自己的基础设施上运行聊天机器人,因此可以保护用户数据隐私,避免将敏感信息发送到第三方服务器。

  2. 强大的NLU能力:Rasa包含先进的自然语言理解(NLU)技术,能够处理意图识别、实体提取、上下文理解等多种任务,支持多语言,并且允许自定义和优化模型以适应特定场景。

  3. 高度可定制和可扩展性:Rasa具有模块化和可扩展的架构,开发者可以根据需要添加自定义组件、集成外部服务或调整对话逻辑,这使得它适用于从小型项目到复杂企业级应用的各种规模。

  4. 灵活的对话管理:Rasa Core模块提供了多轮对话管理功能,支持基于机器学习的对话流程设计,以及规则定义,使得对话更加自然流畅,能够处理复杂的对话场景。

  5. 活跃的社区与支持:Rasa拥有一个庞大且活跃的开发者社区,提供了丰富的文档、教程和案例研究,便于学习和解决问题。同时,由于其在GitHub上的高星数和频繁的更新,确保了框架的持续发展和技术领先性。

  6. 易于上手:即便是非专业AI开发者,通过简单的配置文件和命令行工具,也能快速搭建出基础的对话机器人原型。

  7. 跨平台集成:Rasa支持多种消息通道集成,包括常见的社交媒体、即时通讯软件等,方便部署到不同的平台上,提供无缝的多渠道用户体验。

  8. 投资回报率高:根据一些报告,使用Rasa构建的聊天机器人能够带来显著的投资回报,缩短了实现ROI的时间,对企业而言经济高效。

综上所述,Rasa因为其开源性、强大的NLU与对话管理能力、高度的灵活性和可定制性,以及活跃的社区支持,成为构建对话式AI应用的优选框架之一。

环境搭建:

官方文档链接:

Setting up your environment

1、需要python环境

2、确保拥有VC++(windows)

C:\> .\venv\Scripts\activate
C:\> pip3 install -U pip

3、官方推荐我们使用虚拟环境来处理

  通过选择Python解释器并创建一个.\\venv目录来保存它来创建一个新的虚拟环境

python3 -m venv ./venv

启动虚拟环境

.\venv\Scripts\activate

安装rasa: 

直接获取库

To install Rasa Open Source:(安装开源rasa代码)

pip3 install rasa

rasa init

 就可以进行初始化了。

从gitHub上获取安装:

注意:

因为是从github上获取的所以如果是要根据 

curl -sSL https://install.python-poetry.org | python3 -
git clone https://github.com/RasaHQ/rasa.git
cd rasa
poetry install

如果下载不了可以使用合法的网络通道来去gitHub下载。 

安装依赖 

 安装踩坑!!:

在安装环境的时候:

这里它提供的指令都需要删除掉它的单引号。

 

安装全部依赖:

pip3 install rasa[full]

这里需要将配python准备到正确的版本去。

安装spaCy-自然语言处理库

spaCy是一个现代的自然语言处理库,它设计用于高效地处理文本数据。spaCy提供了诸如词性标注、命名实体识别、依存关系分析等多种自然语言处理功能。由于其速度快和易于使用的特点,spaCy在自然语言处理领域被广泛采用。

在Rasa中,spaCy扮演着一个关键角色,尤其是在自然语言理解(NLU)阶段。Rasa利用spaCy进行文本预处理,比如分词(tokenization)、词干化(stemming)、lemmatization(词形还原)以及识别命名实体等功能。这些预处理步骤对于将非结构化的文本数据转换成机器可以理解的形式至关重要,从而帮助Rasa更好地理解用户输入的意图和实体,进而驱动更加智能和流畅的对话体验。

简而言之,spaCy在Rasa中作为一个强大的底层NLP工具被集成,支持Rasa实现高级的自然语言理解和处理能力。

pip3 install rasa[spacy]
python3 -m spacy download en_core_web_md

 安装MITIE开源的自然语言处理库

MITIE(Massive Intelligence Transition Engine)是Derek Mitchell开发的一个开源的自然语言处理库,特别强调于信息抽取和实体识别任务。在Rasa的早期版本或特定应用场景中,MITIE被用作一个可选的组件,主要负责意图识别和实体提取。

具体来说,MITIE在Rasa中的作用主要包括:

  1. 意图识别(Intent Recognition):MITIE帮助Rasa通过机器学习模型理解用户输入的意图。例如,从用户的一句话中判断出用户是想查询天气、订餐还是寻求技术支持。

  2. 实体识别(Entity Extraction):它还能够识别用户消息中的关键实体,这对于构建有意义的对话响应至关重要。例如,在句子“我想订明天从纽约到洛杉矶的机票”中,MITIE可以识别出“明天”为时间实体,“纽约”为出发地实体,“洛杉矶”为目的地理实体。

尽管MITIE在过去是Rasa的一个重要组成部分,但随着技术的发展,Rasa逐渐推荐并默认使用其他更先进的模型和库,如spaCy和Transformers,以提供更强大的NLP功能和更好的性能。这些更新的库支持更复杂的语言理解和处理任务,提升了Rasa整体的对话系统性能。

pip3 install rasa[mitie]

注意:

        在rasa中其中有一些使用的库可能不会支持最新版本的python所以在安装的时候需要使用按照rasa官网的指引来完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1702712.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

07、SpringBoot 源码分析 - SpringApplication启动流程七

SpringBoot 源码分析 - SpringApplication启动流程七 初始化基本流程SpringApplication的prepareContext准备上下文postProcessApplicationContext处理applyInitializers初始化器初始化load SpringApplication的refreshContext刷新上下文refreshServletWebServerApplicationCon…

谷歌开发者账号身份验证不通过?该怎么办?

我们都清楚,随着谷歌上架行业的快速发展,谷歌政策也在不断更新变化,对开发者账号的审核标准也在不断提升。其中一项要求就是,开发者账号需要进行身份验证才能发布应用。 Your identity couldnt be verified!“我们无法…

BookStack VS HelpLook两款知识库软件的区别

现在很多企业都会进行知识管理,在这个过程中,选择一个合适的知识库软件是一个不可避免的问题。在众多知识库软件中,HelpLook和BookStack这两款软件备受企业瞩目。不知如何选择,今天LookLook同学就简单介绍一下这两款知识库的区别&…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-24.1,2 SPI驱动实验-SPI协议介绍

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

常用时序逻辑电路模块:移位寄存器

寄存器与移位寄存器 寄存器:数字系统中用来存储二进制数据的逻辑器件。存储N位二进制数据的寄存器需要N个触发器组成。 移位功能:存储代码在脉冲作用下依次左移或右移。 移位寄存器: 移位寄存器中的数据可以在移位脉冲作用下依次逐位右移…

微信小程序打印功能怎么用?

在数字化时代,微信小程序为我们提供了许多便捷的服务,其中就包括打印功能。而琢贝云打印小程序,作为一款功能强大、操作简便的线上打印平台,更是受到了广大用户的青睐。下面,我将为大家介绍如何使用琢贝云打印小程序完…

AI开发初体验:昇腾加持,OrangePi AIpro 开发板

文章目录 一、前言二、板子介绍2.1 拆箱2.2 板子规格2.2.1 常规项目2.2.2 扩展项目2.2.3 操作系统 2.3 点板画面 三、AI程序初体验3.1 新奇的地方3.2 运行第一个AI程序3.2.1 硬件连接3.2.2 串口连接3.2.3 开启外部IP端口3.2.4 查询板子IP地址3.2.5 了解 juypter lab 启动脚本&a…

【ES6】ECMAS6新特性概览(一):变量声明let与const、箭头函数、模板字面量全面解析

🔥 个人主页:空白诗 🔥 热门专栏:【JavaScript】 文章目录 🌿 引言一、 let 和 const - 变量声明的新方式 🌟📌 var的问题回顾📌 let的革新📌 const的不变之美 二、 Arro…

双指针法练习题(2024/5/27)

1 反转字符串 II 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则…

【管理咨询宝藏114】贝恩为某知名化妆品战略规划方案

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏114】贝恩为某知名化妆品战略…

导入 FDTD 仿真的 S 参数到 INTERCONNECT 的器件中

导入 FDTD 仿真的 S 参数到 INTERCONNECT 的器件中 正文正文 很多时候,仿真链路比较大时,我们可以将仿真的每个部分分隔开来,用 FDTD 计算出每一部分的 S 参数,然后将这些 S 参数导入 INTERCONNECT 中得到最终的仿真结果。这里我们来介绍一下这种方法。 首先,我们从右侧…

洗地机哪个品牌的质量比较好?家用洗地机品牌排行榜

随着科技的迅速发展和生活水平的不断提高,洗地机凭借其集吸尘、拖地和洗地于一体的技术优势,成为了家庭清洁的理想选择。洗地机不仅能够高效清理各种地面污渍,还能同时处理干湿垃圾,极大地提升了清洁效率。然而,市场上…

【SpeedAI科研小助手】2分钟极速解决知网维普重复率、AIGC率过高,一键全文降!文件格式不变,公式都保留的!

知网、维普极速降重、降AIGC率方法 非常简单,打开SpeedAI科研小助手,使用一键降重,上传自己的论文文件,等待即可。 等待弄完了之后,直接下载,可以发现word格式保持不变。直接交就完事了,全程2…

YOLOv10:全面的效率-准确性驱动模型设计

YOLOv10:全面的效率-准确性驱动模型设计 提出背景精细拆分解法双重标签分配一致的匹配度量以效率为导向的模型设计 YOLO v10 总结1. 双重标签分配策略2. 一致匹配度量策略 论文:https://arxiv.org/pdf/2405.14458 代码:https://github.com/T…

Mac 安装 PostgreSQL简易教程

Mac 安装 PostgreSQL简易教程 下载安装包 下载安装包 下载地址 我下载的文件:Postgres-2.7.3-16.dmg 双击 dmg 文件安装 拖拽图标到右边的文件,然后到应用程序中找到 Postgres.app 双击打开。 然后点击 Initialize 按钮 配置$PATH 到命令下工具&#…

智慧管网 | “数字大脑”加速“能源动脉”新升级

行业背景 我国作为全球最大的发展中国家,随着工业化、城镇化的发展,工业企业与居民对原油、天然气消费需求不断增长。而油气管网作为一组连接石油和天然气生产基地、储气库、终端市场等节点的管道网络系统,是油气上下游衔接协调发展的关键环…

148.栈与队列:前K个高频元素(力扣)

代码解决 class Solution { public:// 自定义比较类,用于优先队列(小顶堆)class mycomparison{public:// 重载操作符,用于比较两个pair,基于pair的第二个值(频率)bool operator()(const pair&l…

【机器学习】随机梯度下降算法以及优化

一、概述: 什么是梯度下降? 梯度下降法的基本思想可以类比为一个下山的过程。 假设这样一个场景:一个人被困在山上,需要从山上下来(i.e.找到山的最低点,也就是山谷)。但此时山上 的浓雾很大,导致可视度很低。因此&am…

全球伦敦金交易时间每天都一样吗?

伦敦金市场是一个全球化的市场,它全天的交易盘面由亚洲、欧洲和北美市场无缝地连接而成,无论来自世界上什么地方的投资者参与其中,都可以得到全天接近24个小时的交易行情,只要有足够的精力,根本不用担心没有交易获利的…

ResNet残差网络的学习【概念+翻译】

基于何明凯前辈论文的学习 1.主要内容(背景) 1、首先提了一个base:神经网络的深度越深,越难以训练。 2、原因:因为随着神经网络层数的增加,通常会遇到梯度消失或梯度爆炸等问题,这会导致训练变…