Rasa入门笔记2-使用nlu单独提取出意图与词槽
1、提取方法
①在actions.py文件中使用tracker.latest_message方法获取到输入信息的意图与实体的所有信息。
②代码示例:
#coding:utf-8
from typing import Text, Dict, Any
from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher
from py2neo import Graph
import json,re,pickle
from rasa_sdk.events import SlotSet,AllSlotsReset
from markdownify import markdownify as md
from rasa_sdk.events import UserUtteranceReverted
class ActionSearchGarbage(Action):
def name(self) -> Text:
return "action_search_garbage"
# 查找垃圾
def run(self, dispatcher, tracker,domain):
result = {}
dic = {}
entities = []
#获得nlu数据(意图和词槽数据)
content = tracker.latest_message
# print('=====>', content)
#传送nlu数据
dispatcher.utter_message("{0} ".format(content ))
# return [SlotSet("user_garbage", garbage)]
return []
2、服务启动
①rasa项目建立与配置参考:https://jiangdg.blog.youkuaiyun.com/article/details/104328946
②启动:
Action服务启动(端口号默认5005,可省略):
rasa run actions --port 5055 --actions actions --debug
Rasa服务启动(端口号默认5005,可省略):
rasa run --port 5005 --endpoints endpoints.yml --credentials credentials.yml --debug
3、外部服务访问链接
①.rasa自带的外部访问链接(仅支持Post访问)
"http://{0}:{1}/webhooks/rest/webhook".format(botIp, botPort)
本文介绍了如何在Rasa中使用NLU组件单独提取意图和词槽。通过actions.py文件的特定方法获取输入信息,并提供了Rasa项目的配置和启动步骤,以及外部服务如何通过Post方式访问Rasa提取的结果。
562





