Python Rasa:如何为自定义组件提供超参数?

Python Rasa:如何为自定义组件提供超参数?,python,rasa-nlu,rasa-core,rasa,Python,Rasa Nlu,Rasa Core,Rasa,我正在创建一个自定义组件,将其添加到Rasa NLU管道中。为此,我觉得有必要通过管道配置添加参数/超参数,就像我们为“WhitespaceTokenizer”这样的内置管道所做的那样,如下所示 pipeline: - name: "WhitespaceTokenizer" intent_split_symbol: "_" 上述管道将“intent\u split\u symbol”作为“WhitespaceTokenizer”的超参数。类似地,我想为我的管道提供hyperparamete

我正在创建一个自定义组件,将其添加到Rasa NLU管道中。为此,我觉得有必要通过管道配置添加参数/超参数,就像我们为“WhitespaceTokenizer”这样的内置管道所做的那样,如下所示

pipeline:
- name: "WhitespaceTokenizer"
  intent_split_symbol: "_"
上述管道将“intent\u split\u symbol”作为“WhitespaceTokenizer”的超参数。类似地,我想为我的管道提供hyperparameter

例如

pipeline:
- name: "MyCustomComponent"
  model: "en_user_convo"

如何在“MyCustomComponent”自定义组件中提供“model”超参数?

您可以使用与预定义组件相同的方式定义组件的配置,例如:

- name: "MyCustomComponent"
  param1: "test"
  param2: "second param"
组件的构造函数应接受字典作为参数:

从rasa.nlu.components导入组件
类别MyCustomComponent(组件):
def uuu init uuuu(自身,组件配置:可选[Dict[Text,Any]]=None)->None:
如果组件配置不是无:
param1=component_config.get(“param1”)
# ...
super().\uuuu init\uuuu(组件配置)
#组件实现的其余部分
# ...
这有意义吗