当前位置: 代码迷 >> 综合 >> Rasa 2.8 开发指南
  详细解决方案

Rasa 2.8 开发指南

热度:20   发布时间:2023-12-09 22:26:20.0

Rasa是一个开源聊天机器人框架,使用python编写,在大数据时代,Rasa可以很方便的集成很多机器学习和NLP的组件

初始化机器人项目

rasa init

自定义action

在项目的action文件夹下,找到action.py文件。

自定义一个类:

from rasa_sdk import Actionclass ActionItemShow(Action):def name(self):# define the name of the action which can then be included in training storiesreturn "item_show"def run(self, dispatcher, tracker, domain):# what your action should dodispatcher.utter_message('展示一个Item') #send the message back to the userreturn []

在domain.yml中申明这个action:(domain.yml是一些全局变量的声明文件)

actions:- item_show

在data的stories文件夹下找到stories.yml:(stories.yml是具体对话的流程配置)

- story: search item 1steps:- intent: item_search_by_codeentities: - name: item_code- action: utter_item_search- intent: affirm- action: item_show

在/data/nlu.yml中定义好intent:(nlu.yml是聊天意图判断的配置文件)

- intent: item_search_by_codeexamples:  |- 我想查[412342](item_code)这个单品- 我想查[412342](item_code)这个item- 帮我查一下[412342](item_code)这个item- 帮我查一下[412342](item_code)这个单品- 我想查[412342](item_code)这个item code- 帮我查一下[412342](item_code)这个item code- 帮我查一下[412342](item_code)这个单品code- 我想查[412342](item_code)这个单品code- 帮我查一个ITEM[412342](item_code)

在endpoint.yml中定义好action服务器:(endpoint.yml 是各种外部资源的配置文件)

action_endpoint:url: "http://localhost:5055/webhook"

运行

由于使用了自定义action,所以必须先启动自定义action server。然后可以执行rasa shell来进行会话。

rasa run actions
rasa shell