This is a demo bot for financial services.
Run:
pip install -r requirements.txt
Use rasa train
to train a model.
Then, to run, first set up your action server in one terminal window:
rasa run actions
In another window, run the duckling server (for entity extraction):
docker run -p 8000:8000 rasa/duckling
Then to talk to the bot, run:
rasa shell --debug
Note that --debug
mode will produce a lot of output meant to help you understand how the bot is working
under the hood. To simply talk to the bot, you can remove this flag.
data/core.md
- contains stories
data/nlu.md
- contains NLU training data
actions.py
- contains custom action/api code
domain.yml
- the domain file, including bot response templates
config.yml
- training configurations for the NLU pipeline and policy ensemble
tests/e2e.md
- end-to-end test stories
The bot currently has five skills. You can ask it to:
- Transfer money to another person
- Check your earning or spending history (with a specific vendor or overall)
- Answer a question about transfer charges
- Pay a credit card bill
- Tell you your account balance
It also has a limited ability to switch skills mid-transaction and then return to the transaction at hand.
For the purposes of illustration, the bot recognises the following fictional credit card accounts:
gringots
justice bank
credit all
iron bank
It recognises the following payment amounts (besides actual currency amounts):
minimum balance
current balance
It recognises the following vendors (for spending history):
Starbucks
Amazon
Target
You can change any of these by modifying actions.py
and the corresponding NLU data.
You can test the bot on the test conversations by running rasa test
.
Note that if duckling is running when you do this, you'll probably see some "failures" because of entities; that's ok!