Rasa课程、Rasa培训、Rasa面试系列之:Rasa微服务高级用法- 自定义槽位映射
Version: 3.x
自定义槽位映射# 在Rasa 3.0 中更改: FormValidationAction中required_slots方法的参数slots_mapped_in_domain 已被domain_slots参数替换,请将您的自定义操作更新为新的参数名称。
如果预定义的槽位映射都不适合您的用例,您可以使用 自定义操作 validate_<form_name>来编写自己的校验代码。Rasa Open Source 将在表单运行时触发此操作。如果您使用的是 Rasa SDK,我们建议您扩展提供的 FormValidationAction.
使用 FormValidationAction,需要三个步骤来提取槽位:
- extract_<slot_name>以自定义方式映射的每个槽位定义一个方法。
- 在您的域文件中,对于您的表单required_slots,列出所有必需的槽位,包括预定义和自定义映射。
- 此外,您可以覆写required_slots方法添加动态请求的槽位
笔记:如果您在域文件添加了一个带有自定义映射的槽位slots,您只想在表单的上下文中通过自定义操作扩展进行验证FormValidationAction,请确保此槽位具有类型映射custom并且槽位名称包含在表单的required_slots.
以下示例显示了一个表单的实现, outdoor_seating以自定义方式提取一个槽,以及使用预定义映射的槽。该方法根据关键字是否出现在最后一个用户消息中来extract_outdoor_seating设置槽 outdoor_seatingoutdoor