首页 > 其他分享 >rasa 最简单对话实现

rasa 最简单对话实现

时间:2024-12-12 19:21:24浏览次数:4  
标签:1.1 rasa session 对话 简单 utter intent yml

1.1 简单实现

1.1.1 定义意图和实体

最简单的就是 data/nlu.yml 中编辑

version: "3.1"

nlu:
- intent: greet
  examples: |
    - 你好
    - 嗨
    - 早上好
    - 晚上好

- intent: goodbye
  examples: |
    - 再见
    - 拜拜
    - 下次见

- intent: ask_weather
  examples: |
    - 今天天气怎么样
    - 你能告诉我天气吗
    - 明天会下雨吗

1.1.2 定义响应

domain.yml 中编辑

version: "3.1"

responses:
  utter_greet:
    - text: "你好!有什么我可以帮您的吗?"

  utter_goodbye:
    - text: "再见!祝您有美好的一天!"

  utter_weather:
    - text: "让我查一下天气信息。"


session_config:
  session_expiration_time: 60
  carry_over_slots_to_new_session: true

其中 session_expiration_time 代表过期时间,60代表60分钟

carry_over_slots_to_new_session 决定会话过期并创建新会话时,是否将之前会话中填充的槽(slots)值保留并传递到新会话中

session_config 这部分不加也不影响最简单的使用

1.1.3 定义规则

编辑 data/rules.yml

version: "3.1"

rules:
- rule: Greet
  steps:
  - intent: greet
  - action: utter_greet

- rule: Goodbye
  steps:
  - intent: goodbye
  - action: utter_goodbye

- rule: Ask Weather
  steps:
  - intent: ask_weather
  - action: utter_weather

utter_ 是一个rasa的习惯用语,动作的时候一般会加,中文为:“说出”

我们在 domain 中已经定义了这些行为的响应,domain 中的 responseaction 回复动作是相关联的

1.1.4 训练模型

terminal 中执行这个命令即可

rasa train
image-20241212172311911

1.1.5 测试对话

rasa shell

也是在 terminal 中用一下这个命令

image-20241212172518853

直接开始聊,但是没在nlu中定义的问题会有提示,比如我这个 hi

END

以上就是最简单 rasa 实现了,涉及到了 domain.ymldata\nlu.ymldata\rules.yml

标签:1.1,rasa,session,对话,简单,utter,intent,yml
From: https://www.cnblogs.com/goicandoit/p/18603210

相关文章

  • jQuery模态对话框插件jAlert
    jAlert是一款兼容ie8的jQuery模态对话框插件。jAlert可以实现模态对话框,弹出窗口,Lightbox等,并且在显示对话框时带有炫酷的动画效果。 在线预览 下载 使用方法在页面中引入jQuery和jAlert.js、jAlert.css文件。<linkrel="stylesheet"href="dist/jAlert.css">......
  • 蓝桥杯嵌入式模板创建(STM32 CubeMx简单使用教程)
    蓝桥杯嵌入式新板模板创建&简单经验分享补充在最前:以下原文是22年还未毕业时写的,仅在把板子二手卖给别人的时候给别人分享了这份笔记。那时经验不多,现在也由于工作使用的芯片不同已很久没有使用CubeMX了,因此文章可能有很多错漏之处,欢迎在评论区指出。备注在前:uint8_t即un......
  • 与自我对话的艺术
    与自我对话的艺术:自我对话,乃心灵深处之独白,性灵世界之漫游、深邃自探;诚为修身养性、洞彻本心、探寻真我、处世安身之妙法。观古之往圣先贤,咸重与自我对话之道,遗泽后世,熠熠生辉。孔子有“吾日三省吾身”之训,朝则省忠事之勤惰,暮则思信交之诚伪,夜且察所学之悟否,以常省而明己身......
  • Java运算符练习_模拟简单的计算器
    问题描述定义名为Number的类其中有两个整型私有成员变量n1和n2。编写构造方法赋予n1和n2初始值,并为该类定义加(add)、减(sub)、乘(mul)、除(div)等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。在main方法中创建Number类的对象调用各个方法并显示计算结果。输出数据格式......
  • JS弹出对话框交互
    在JavaScript中,弹出对话框是一种与用户进行交互的常见方式。JavaScript提供了三种内置的对话框函数:alert()、confirm()和prompt()。这些函数都会暂停脚本的执行,直到用户与对话框进行了交互(如点击了按钮)。1.alert()对话框alert()函数用于显示一个带有消息和一个“确定”按......
  • 实现单词的简单倒置和atoi函数
    单词的简单倒置主要步骤1.将整个字符串逆序2.再将每个单词逆序c语言代码实现过程atoi函数c语言代码简单实现 复杂实现考虑方面1.空字符串或仅包含空白字符串2.正负号3.非数字字符4.数字溢出c语言实现  相关代码解释 1.跳过前导空格:使用isspace函......
  • 成员推理攻击的防御方法及简单实现
    defense_methods2024年12月14日更新前面我们实现了多种模型的成员推理攻击,接下来我们将针对其防御方法及其原理进行一个简单的介绍,并进行简单的代码实现,给用户提供一个详细的帮助文档。目录基本介绍常用方法介绍简单实现基本介绍机器学习中的成员推理攻击指的是攻击者可以......
  • Emacs折腾日记(三)——简单的elisp 入门
    Emacs本身的使用并不复杂,利用帮助文档,差不多半小时左右就能把一些常见的操作方式和快捷键过一遍,剩下的就是慢慢使用并且熟悉了。Emacs真正有价值的是它高度的客制化。任何人都可以利用elisp代码将Emacs改造成只属于自己的编辑器。会elisp的不一定是高手,但是高手没有一个是不会el......
  • uml简单复习
    定义UML(UnifiedModelingLanguage)即统一建模语言,是一种用于软件系统分析、设计和可视化建模的标准语言。它为软件开发过程中的不同阶段提供了一种通用的、直观的方式来描述软件系统的结构、行为、功能以及与用户和其他系统之间的交互等诸多方面。UML的构成要素事物(Thin......
  • C++学习笔记 入门及简单的顺序结构
    编写一个简单的C++程序——手速练习#include<iostream>usingnamespacestd;intmain(){cout<<"HelloWorld"<<endl;return0;}语法基础变量的定义变量必须先定义,才可以使用。不能重名。变量定义的方式:#include<iostream>usingnamespacestd;......