rasa的使用

article/2025/9/19 19:36:58

文章目录

  • rasa的使用
    • 一. 安装
    • 二. 创建一个简单的语音助手
    • 三、命令行
    • 四 rasa整体流程
    • 参考

rasa的使用

一. 安装

rasa有NLU和core两个模块,可以使用pip全部安装,默认是基于tensorflow2.1版本的
直接使用pip安装

# 创建一个python是3.6.8的环境
conda create -n qa python=3.6.8
# 使用pip安装rasa
pip install rasa 

二. 创建一个简单的语音助手

  1. 创建一个空项目
#  如果不加--no-prompt会问很多问题,加上之后就直接创建一个工程rasa init --no-prompt

创建之后包含的文件:
在这里插入图片描述

  1. NLU训练数据
    实际上是意图分类的训练数据
    在这里插入图片描述
    ##开头的是意图,并且是以intent:开头,下面以-开头的是训练数据。
  2. 模型配置文件
    包括NLU和Core的配置文件,两部分,定义了pipline使用的模型。language是在创建模型的时候创建的。
    如果使用配置的字典应该如何使用?
    在这里插入图片描述
  3. 配置stories
    stories.md文件是rasa core模块的训练数据,是一个assistant完成对话最重要的一步,如果不配置的话,只能训练Nlu的模型。
## story1
* greet- utter_greet
  1. 定义domain.yml文件
    每一个机器人有一个domain,里面定义了intents、slots、responses。
intents:- greet- goodbye- affirm- deny- mood_great- mood_unhappy- bot_challengeresponses:utter_greet:- text: "Hey! How are you?"utter_cheer_up:- text: "Here is something to cheer you up:"image: "https://i.imgur.com/nGF1K8f.jpg"utter_did_that_help:- text: "Did that help you?"utter_happy:- text: "Great, carry on!"utter_goodbye:- text: "Bye"utter_iamabot:- text: "I am a bot, powered by Rasa."session_config:session_expiration_time: 60carry_over_slots_to_new_session: true

在这里插入图片描述

  1. 训练模型
    rasa训练可以指定模型存储的位置及模型的名字。
rasa train --out models --fixed-model-name rasa_zh_model
  1. 启动模型
rasa shell

三、命令行

  1. 启动交互模式,并指定已经训练好的模型
rasa interactive --model model/rasa_zh_model.tar.gz 

启动之后可以输入对话的内容来与assitant对话,并可以查看意图分类的结果及阈值。
在这里插入图片描述
退出交互模式时,会提醒把stories添加到stories.md文件,NLU数据添加到data/nlu.md数据上。

所以,interactivate的作用是通过交互的模式来训练模型,训练完成后并保存训练数据。
在这里插入图片描述

  1. 启动模型服务

指定训练好的模型作为服务模型,并使用--endpoints来指定actions的服务端口。

rasa run --model models/rasa_zh_model.tar.gz --endpoints endpoints.yml

有一个问题是,这样启动了模型怎么实现对话呢?

  1. 启动actions服务

这样自定义的action才可以注册,并被使用,否则无法使用。参数--actions后面是包名,而不是文件路径。

rasa run actions --actions dm.actions
  1. 训练数据的格式转化

把nlu数据从md文件格式转换为json格式,--data是原始文件,--out是转化后的文件,-f是指定转化后的数据格式。

这个可以方便后台管理界面配置好intent后,写到算法的后台。

# 从md文件转化为jsonrasa data convert nlu --data data/nlu.md --out data/nlu.json -f json# 从json转化为md文件rasa data convert nlu --data data/nlu.json --out data/nlu_md.md -f md
  1. 可视化stories

把stories可视化,生成一个html文件,本地可以打开。

rasa visualize

在这里插入图片描述
从START到END一共4个story,蓝色框的是用户说的话,白色框的是assistant说的话。左边三个story都是以问好的形式来开始的。

四 rasa整体流程

在这里插入图片描述
在这里插入图片描述

参考

知乎:https://zhuanlan.zhihu.com/p/88625091
https://www.jianshu.com/p/ad11f5815447
rasa使用指南01
https://terrifyzhao.github.io/2018/09/17/Rasa%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%9701.html
rasa使用指南02
https://terrifyzhao.github.io/2019/02/26/Rasa%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%9702.html

action有三种类型:

  • default action
  • utter action
  • custom action

http://chatgpt.dhexx.cn/article/jVo37iFS.shtml

相关文章

Rasa

Rasa NLU是一种开源自然语言处理工具,用于聊天机器人中的意图分类和实体提取;主要是理解用户意图,配合rasa_core使用可以实现AI对话。 参考文献 Rasa介绍 对话系统、产品与技术by清华 Rasa开发使用 Rasa_NLU及Rasa_Core模型训练与测试by冰蓝 …

Rasa使用指南02

转载请注明出处,原文地址 Rasa使用指南01 前言 最近工作很忙,重心也一直在模型方面,例如BERT、GPT-2等等,对于Rasa系列的博文实在是没有时间更新。最近有不停的收到一些小伙伴发来的信息,希望能看到Rasa使用指南02&…

rasa - http api测试

rasa - http api测试 rasa run --enable-api --cors "*" 仅解析意图 请求地址:localhost:5005/model/parse 命令行 curl -X POST localhost:5005/model/parse -d ‘{“text”: “hello”}’ 代码示例 import json import requestsurl "http://…

rasa 介绍文档

重磅推荐专栏: 《Transformers自然语言处理系列教程》 手把手带你深入实践Transformers,轻松构建属于自己的NLP智能应用! 1. Rasa介绍 1.1 架构 Rasa Open Source: NLU (理解语义) Core (决定对话中每一步执行的actions)Rasa SDK: Action …

Rasa 问答

开发一个智能对话系统用什么工具? Rasa是Conversational AI在智能业务对话领域工程落地全球最为成功对话机器人系统,是基于Transformer架构的全球使用最广泛的智能业务对话机器人框架,是NLP技术的集大成者。在当今全球范围各项对比指标综合成…

Rasa Core开发指南

文章目录 1. Rasa Core简介1.1 Rasa Core消息处理流程1.2 安装Rasa Core 2. Dialogue模型训练2.1 Story样本数据2.2 Domain2.2.0 intents2.2.1 actions2.2.2 templates2.2.3 entities2.2.4 slots 3 .训练和使用对话模型3.1 训练对话模型3.2 使用对话模型 4. 搭建CustomActions服…

Rasa使用指南01

转载请注明出处,原文地址: https://terrifyzhao.github.io/2018/09/17/Rasa%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%9701.html Rasa使用指南02 前言 本文内容基于Rasa官网文档,做了翻译与整理,并添加一些自己的理解,方便…

Rasa安装

下载 Rasa https://download.csdn.net/download/Da___Vinci/12404001 Rasa-x https://download.csdn.net/download/Da___Vinci/12403992 安装 找个位置存放,cd到那个目录执行安装,注意你的pip版本,我的是3.7,如果装了多个pyhon&#xf…

RASA介绍

引言 自然语言是人类表达情感、观念的主要工具和人类思维的重要载体,而最常见的自然语言应用场景则是对话。人们希望通过自然语言控制机器,甚至实现机器与人类的对话与交流。使用自然语言作为输入输出的媒介,会使用户获得更自然友好的人机交互…

关于Rasa你必须要知道的几件事

关于Rasa你必须要知道的几件事 1、为什么选择Rasa 2、Understanding the Rasa NLU Pipeline 3、Components in Rasa 4、DIET in Rasa 5、Dialogue Management in Rasa 2.0 6、TED Policy in Rasa 本文从一个high-level的角度对使用Rasa构建聊天助手的整个过程进行了总结&#x…

Rasa系列教程(一) -- 系统及各组件介绍

目录 前言 一、传统对话机器人架构 二、对话系统流程 2.1 ASR语音识别 2.2 NLU自然语言理解 2.3 DM对话管理 2.4 NLG自然语言生成 2.5 TTS语音合成 三、Rasa组件介绍 3.1 Rasa简介 3.2 Rasa安装 3.3 Rasa项目基本流程 3.4 Rasa常用命令 3.4 Rasa常用命令 ​​​​…

数据治理-数据标准

问题导读1.为什么要做数据标准管理?2.生产变更的标准管理主要解决了哪些问题?3.变更通知谁(影响范围)?4.业务元数据的标准管理主要解决了哪些问题? 一、为什么要做数据标准管理 数据治理的问题并不仅仅只…

数据治理效果差?掌握正确治理方法,解决企业数据问题

数字化时代,数据已经成为构建现代化社会的重要元素,也深深扎根于商业世界,成为无数企业经营管理中悉心培养的”明珠“。 然而,这些宝贵的数据是需要有人来照料、培养的,如果企业没有完善的数据治理方案,就…

数据治理要点

目录 数据治理-ods治理前言-确定表主键数据治理-行政区划数据治理-字段拆分数据治理-必去的脏数据数据治理-全角转半角 已经在公司待了有一段时间了,自己也亲身接触和实践了一些项目,最近发现自己一直没有进步,想了想或许是自己一直没有反思总…

数据治理

数据治理(DataGovernance),是企业数据治理部门发起并推行的,关于如何制定和实施针对整个企业内部数据的商业应用和技术管理的一系列政策和流程。 数据治理是一套持续改善管理机制,通常包括了数据架构组织、数据模型、政策及体系制定、技术工…

主数据治理项目前期调研

随着企业的不断发展进步,业务部门的需求不断增加,企业逐渐上了很多应用系统以及硬件设备,如OA办公协同系统、ERP企业资源管理系统、HR人力资源管理系统、CRM客户关系管理系统等,也在业务发展中沉淀了大量数据,但是这些…

通俗理解数据治理之主数据

1)如需数据治理-元数据材料可前往(狗头.gif) https://download.csdn.net/download/u010763324/87589200https://download.csdn.net/download/u010763324/875892002)如需数据治理-主数据材料可前往(狗头.gif&#xff0…

数据治理概述

一、 首先认识一些名词 在学习数据治理知识之前,首先要明白治理的对象都有哪些,什么才是数据?是1,2,3,4这种纯数字类型的才算数据吗?还是所有的文本数据都是数据? 请往下看。 1.1…

数据治理:数据治理框架和标准

参考《一本书讲透数据治理》、《数据治理》等 数据治理并不是新概念,在国内外都有实践,这里重点介绍下国内外对数据治理的主流框架和标准 国际数据治理框架 国际上,主流的数据治理框架主要有:ISO数据治理标准、GDI数据治理框架、…

数据治理项目经验分享

绝大多数互联网公司没时间建模、治理,直接拖宽表。业务变更频繁、建模缺位、指标爆炸,是导致互联网大数据环境中数据质量的低下的根本原因。 而在部委、集团中,时间相对充裕一些,标准更规范一些,但是同样面临部委和省…