License | Version | ||
Github Actions | Coverage | ||
Supported versions | Wheel | ||
Status | Downloads |
rasam
Rasa Improved
Usage
Installation
pip install rasam
config.yml
Rasa importers:
- name: rasam.PlaceholderImporter
fake_data_count: 10 # default value is 1
pipeline:
- name: rasam.RegexEntityExtractor
- name: rasam.URLEntityExtractor
nlu.yml
Rasa PlaceholderImporter
The PlaceholderImporter
removes the need to write unnecessary information (eg. name, address, numbers, etc.) and helps focus on writing test data.
{}
placeholder
Using nlu:
- intent: tell_name
examples: |
- My name is {name}
- I am {name} and he is {name}
@
placeholder
Using nlu:
- intent: tell_address
examples: |
- I live in @address
- I stay at @address and @address
{}
and @
placeholders
Mixing 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
- 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 []