Skip to main content

Rasa Improved

Project description

License License Version Version
Github Actions Github Actions Coverage CodeCov
Supported versions Python Versions Wheel Wheel
Status Status Downloads Downloads

rasam

Rasa Improved

Usage

Installation

pip install rasam

Rasa config.yml

importers:
  - name: rasam.PlaceholderImporter
    fake_data_count: 10  # default value is 1

pipeline:
  - name: rasam.RegexEntityExtractor
  - name: rasam.URLEntityExtractor

Rasa nlu.yml

PlaceholderImporter

The PlaceholderImporter removes the need to write unnecessary information (eg. name, address, numbers, etc.) and helps focus on writing test data.

Using {} placeholder

nlu:
- intent: tell_name
  examples: |
    - My name is {name}
    - I am {name} and he is {name}

Using @ placeholder

nlu:
- intent: tell_address
  examples: |
    - I live in @address
    - I stay at @address and @address

Mixing {} and @ placeholders

It is possible to mix both {} and @ placeholders but it is recommended to use only one style for consistency.

Available placeholders

  • any (if you need just any data)
  • integer
  • decimal
  • number
  • name
  • first_name
  • last_name
  • text
  • word
  • paragraph
  • uri
  • url
  • local_uri
  • email
  • date
  • time
  • month
  • day
  • timezone
  • company
  • license_plate
  • address
  • city
  • country
  • user_agent
  • password
  • user_name
  • file_path

Rasam decorators

Rasa relies too heavily on classes to define objects like actions, forms, etc. Rasam aims to remove these Rasa boilerplates to make writing chatbots easier.

@action decorator

The @action decorator converts function into an Action class. Here is an example of how we can write custom classes in Rasa:

class ActionHelloWorld(Action):

    def name(self) -> Text:
        return "action_hello_world"

    def run(self, dispatcher: CollectingDispatcher,
            tracker: Tracker,
            domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:

        dispatcher.utter_message(text="Hello World!")

        return []

The above code can be simplified using Rasam's @action decorator.

from rasam import action


@action
def action_hello_world(
    self: Action, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any]
) -> List[Dict[Text, Any]]:
    dispatcher.utter_message(text="Hello World!")
    return []

Author

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

rasam-0.5.2.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rasam-0.5.2-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file rasam-0.5.2.tar.gz.

File metadata

  • Download URL: rasam-0.5.2.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.2 Linux/5.11.0-1028-azure

File hashes

Hashes for rasam-0.5.2.tar.gz
Algorithm Hash digest
SHA256 289dbe1d83ecb9217c5b82ee045c8239a02a02e8db49aaf718389d3629c59bbc
MD5 192acfdf5e3b79b0ae5f6a3018677164
BLAKE2b-256 08902ffb197c21babc3ef4d8830aa55777791aab3dae78060abe8158b203e859

See more details on using hashes here.

File details

Details for the file rasam-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: rasam-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.2 Linux/5.11.0-1028-azure

File hashes

Hashes for rasam-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 86403ffd7dad802a53914bae5d7bd21305b98d3dc5077b9678af073ef6feaf3a
MD5 a981245a5edeeeabe9c12d72f1b38d2c
BLAKE2b-256 6093e423baf1e451b7abc8cebfd265f0005201577df11877e784ee8fc254f0a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page