InvalidPolicyConfig:无法加载策略“KerasPolicy”的模块。请确保该名称是有效的策略

InvalidPolicyConfig: Module for policy ‘KerasPolicy’ could not be loaded. Please make sure the name is a valid policy

我是 Rasa 2.0 的新手,我在输入时遇到了这个错误信息

harper$ rasa train

错误信息:

InvalidPolicyConfig:无法加载策略“KerasPolicy”的模块。请确保该名称是有效的策略。

我知道这个问题已经被其他人问过,我已经尝试了他们将 TensorFlow 降级到 1.15.0 版本的解决方案。

但是,当我这样做时,它给了我这样的错误

“错误:2020 年 10 月之后,您在安装或更新软件包时可能会遇到错误。这是因为 pip 会改变它解决依赖冲突的方式。

我们建议您使用 --use-feature=2020-resolver 在新解析器成为默认解析器之前测试您的包。 rasa 2.0.2 需要tensorflow<2.4,>=2.3,没有安装。"

如果我没有理解错的话,TensorFlow 1.15.0 不再兼容 rasa 2.0。

当我重新安装TensorFlow 2.3.0时,第一个错误信息又出现了 :“InvalidPolicyConfig:无法加载策略‘KerasPolicy’的模块。请确保该名称是有效的策略。”

我想知道是否有人在 rasa 2.0 中遇到过类似的问题?任何帮助将不胜感激!

Keras 政策在 Rasa 2.0 中被弃用,而是使用 TED 政策。您需要在 config.yml 文件中对此进行修改。您可以在此处找到支持政策的完整列表:https://rasa.com/docs/rasa/policies 我在下面包含了一个与 Rasa 2.0 兼容的示例配置文件。

language: en

pipeline:
- name: WhitespaceTokenizer
- name: RegexFeaturizer
- name: LexicalSyntacticFeaturizer
- name: CountVectorsFeaturizer
- name: CountVectorsFeaturizer
  analyzer: char_wb
  min_ngram: 1
  max_ngram: 4
- name: DIETClassifier
  epochs: 100
- name: EntitySynonymMapper
- name: ResponseSelector
  epochs: 100
- name: FallbackClassifier
  threshold: 0.3
  ambiguity_threshold: 0.1

policies:
- name: MemoizationPolicy
- name: TEDPolicy
  max_history: 5
  epochs: 10

您应该使用 pip 升级 rasa 安装以确保其依赖项是最新的:

pip install —upgrade rasa