This is documentation for Rasa Open Source Documentation v2.1.x, which is no longer actively maintained.
For up-to-date documentation, see the latest version (2.5.x).

Version: 2.1.x


PolicyEnsemble Objects

class PolicyEnsemble()


| @staticmethod
| check_domain_ensemble_compatibility(ensemble: Optional["PolicyEnsemble"], domain: Optional[Domain]) -> None

Check for elements that only work with certain policy/domain combinations.


| persist(path: Union[Text, Path]) -> None

Persists the policy to storage.


| @classmethod
| load(cls, path: Union[Text, Path]) -> "PolicyEnsemble"

Loads policy and domain specification from storage

SimplePolicyEnsemble Objects

class SimplePolicyEnsemble(PolicyEnsemble)

Default implementation of a Policy ensemble.


| @staticmethod
| is_not_in_training_data(policy_name: Optional[Text], max_confidence: Optional[float] = None) -> bool

Checks if the prediction is by a policy which memoized the training data.


  • policy_name - The name of the policy.
  • max_confidence - The max confidence of the policy's prediction.
  • Returns - True if it's a MemoizationPolicy, False otherwise.


| probabilities_using_best_policy(tracker: DialogueStateTracker, domain: Domain, interpreter: NaturalLanguageInterpreter, **kwargs: Any, ,) -> PolicyPrediction

Predicts the next action the bot should take after seeing the tracker.

Picks the best policy prediction based on probabilities and policy priority. Triggers fallback if action_listen is predicted after a user utterance.


  • tracker - the :class:rasa.core.trackers.DialogueStateTracker
  • domain - the :class:rasa.shared.core.domain.Domain
  • interpreter - Interpreter which may be used by the policies to create additional features.


  • best_probabilities - the list of probabilities for the next actions
  • best_policy_name - the name of the picked policy

InvalidPolicyConfig Objects

class InvalidPolicyConfig(RasaException)

Exception that can be raised when policy config is not valid.