Skip to main content

Create a Rasa form from a YAML file

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rasa_metaform-0.2.7.tar.gz (4.0 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page