0

您好我正在尝试使用自定义操作提交方法中的跟踪器对象设置插槽。

    def submit(
        self,
        dispatcher: CollectingDispatcher,
        tracker: Tracker,
        domain: Dict[Text, Any],
    ) -> List[EventType]:
        tracker.slots["sample"] = value
        print(tracker.get_slot("sample"))
        dispatcher.utter_message("action is submitted")
        return []

这是 FirstAction 的提交方法,当我提交此操作方法中的插槽时正在设置,但是在我尝试使用另一个操作中的插槽后,输出将变为无。我知道当我们发送提交的返回类型为

    return [SlotSet("sample", value)} 

插槽正在设置,但是当我尝试使用 tracker.slots["sample"] = value 插槽值不会在操作之间持续存在时,我正在编写一个带有参数作为跟踪器的函数,所以我需要一种使用跟踪器对象设置插槽的方法或从一个辅助函数设置插槽的任何解决方案,那么有什么方法可以在操作之间保持 tracker.slots[key] = value 吗?

4

0 回答 0