Skip to content

Latest commit

 

History

History
42 lines (24 loc) · 2.31 KB

README.md

File metadata and controls

42 lines (24 loc) · 2.31 KB

Rasa MetaForm

Build Status PyPI version Supported Python Versions Code style: black

Rasa MetForm is a small extension of Rasa's rasa-sdk which introduces a MetaFormAction, an extended FormAction. Read more in a blog post.

Problem statement

Forms

Creating Forms in Rasa requires defining a class for each form, inheriting from FormAction, specifying few methods, as well as in domain.yml, with matching slots and templates.

Ideal

Form would be specified in a single, human-readable, easy to edit file. From this file we would populate domain.yml with all the necessary instances of forms, slots and templates, as well as define a new FormAction class, which will implement all the necessary methods, including name, required_slots (following the logic in the form file), slot_mappings, all validate_{slot} and submit.

Proposal

MetaFormAction allows to create classes from a YAML file and populates the domain with all the needed information.

Installation

The easiest way to install the package is through PyPI.

pip install rasa-metaform

However you might find it more useful to clone the repository and edit the MetaFormAction class for your form(s). We will extend the functionality with additional validation methods.

Form YAML file

See the sample.yml for an example form YAML file.

License

Licensed under the Apache License, Version 2.0. Copyright 2019 Magnet S Coop. Copy of the license.

A list of the Licenses of the dependencies of the project can be found at the bottom of the Libraries Summary.