Rasa has created a new starter pack for building AI assistants in retail banking with the Rasa CALM framework.
Our Retail Banking Intelligent Assistant can transfer money, check balances, manage payees, and block cards. Check out the code here on GitHub.
You can use this demo assistant as a starting point for your own Retail Banking Intelligent Assistant, or get ideas for features you might want to implement. It's free for you to copy and use locally with the Rasa Pro Developer Edition.
The Rasa Pro Developer Edition is free and allows you to run Rasa Pro (with CALM) locally on your laptop, your desktop or your integrated development environment. The detailed information for the Developer Edition can be found here: https://rasa.com/docs/rasa-pro/developer-edition/.
Here's a brief description of the directories and files in the project root:
Makefile: Contains a set of directives used by themakebuild automation tool to streamline running repetitive commands.README.md: The file you're currently reading!actions: Contains Python scripts defining custom actions for the Rasa assistant.config.yml: Contains multiple configuration files for the assistant (i.e. different language models and settings).credentials.yml: Contains credentials for various services used by the Rasa assistant (i.e. Chat Widget)data: Contains flow definitions for the assistant and an in-memory database for the Rasa assistant.docs: Contains sample documents for Enterprise Search.domain: Contains domain files for the assistant.tests: Contains end-to-end test scenarios for the assistant where each subdirectory reflects a suite of tests (i.e. happy path).conversation_repair: Contains end-to-end scripts that demonstrate the assistant's automatic conversation repair ability.demo_scripts: Contains an end-to-end script that demonstrates all the assistant's features.happy_paths: Contains a variety of banking transactions and inquiries.
endpoints.yml: Contains endpoint configurations for the Rasa assistant.prompts: Contains Jinja2 template files for generating prompts.requirements.txt: Contains a list of Python packages required for the project.
You can download and run this starter pack locally using Docker.
If you prefer not to install anything, you can also run, edit, inspect, and interact with the agent directly in Hello Rasa, an online playground environment.
Note: Alternative installation methods are available in the official Rasa documentation.
- Before You Begin
- Setting Environment Variables for Rasa
- Install Docker
- Download Rasa Retail Banking Starter Pack
- Starting the Demo Assistant
To use this starter pack, you will need:
- A free Rasa Developer Edition license. To get the free license use the link and complete the form. You'll be emailed the license key. Store this somewhere safe as you'll need it a bit later in the instructions below. The actual installation of the Rasa Pro platform will be performed during the installation steps described below.
- An API key from OpenAI (the default model provider for this starter pack, though CALM supports other LLMs, too).
- If you haven't already, sign up for an account on the OpenAI platform.
- Then, navigate to the OpenAI Key Management (Dashboard > API keys) page and click on the "Create New Secret Key" button to initiate obtaining
<your-openai-api-key>.
- A computer. Instructions are available for MacOS, Linux & Windows.
Note for Windows users: If you don’t already have
make, you’ll need to install it:
Option 1: Install Chocolatey. 👉 Open PowerShell as Administrator (Start → search "PowerShell" → right-click → Run as Administrator). Then run:
choco install make -yVerify with:
make --versionOption 2: Install Git for Windows, which includes Git Bash (and
make). Open Git Bash instead of PowerShell to run your commands.
You'll need to save your Rasa Pro license key and OpenAI API key as environment variables so they can be used by the application.
MacOS, Linux
- Open your terminal, and edit your shell config
nano ~/.zshrc(or~/.bashrcif you’re using Linux bash)
- At the bottom of the file, add lines like this (replace the values with your actual keys):
export RASA_PRO_LICENSE=<your-rasa-pro-license-key>export OPENAI_API_KEY=sk-<your-openai-api-key>
- For example, it may look something like this:
RASA_PRO_LICENSE=etou948949theuOPENAI_API_KEY=sk-proj-ntehoitnhtnoe
- Save the file (
CTRL+O,Enter,CTRL+Xin nano), then reload itsource ~/.zshrc(or~/.bashrcif you’re using Linux bash)
- Check that the variables are set:
echo $RASA_PRO_LICENSEecho $OPENAI_API_KEY
Windows
- Press
Win + Sand typeEnvironment Variables, then selectEdit the system environment variables. - In the
System Propertieswindow, clickEnvironment Variables. - Under
User variables(applies only to your user), clickNew.- For
Name, enter:RASA_PRO_LICENSE - For
Value, enter:<your-rasa-pro-license-key>
- For
- Repeat for
OPENAI_API_KEY. - Click
OK→OKto save and close all windows. - Restart your terminal (PowerShell) so the new values load.
- Verify the variables are set (PowerShell):
echo $env:RASA_PRO_LICENSEecho $env:OPENAI_API_KEY
- Download & install docker:
- MacOS: https://docs.docker.com/desktop/setup/install/mac-install/
- Linux: https://docs.docker.com/engine/install/
- Windows: https://docs.docker.com/desktop/setup/install/windows-install/
- Use WSL 2 backend (not Hyper-V)
- Start Docker Desktop. Make sure Docker Desktop (the Docker daemon) is running before you run any commands.
- Windows: Follow prompted instructions for WSL (e.g.
wsl --update)
- Windows: Follow prompted instructions for WSL (e.g.
- Verify Installation. Open your terminal (Mac/Linux shell, or PowerShell on Windows) and run:
docker --version
- Download the Rasa Pro Docker image. Open your terminal and run:
docker pull rasa/rasa-pro:3.16.0
- Download the Source Code Assets for the latest release from GitHub
- Uncompress the assets in a local directory of your choice.
- The starterpack-retail-banking-en directory (created when uncompressed) contains a README file with additional instructions on installing dependencies, training the model, and running the assistant locally.
- Open your terminal (or PowerShell on Windows) and navigate to the directory where you uncompressed the starterpack-retail-banking-en files. Congratulations, you have successfully installed Rasa and are ready to use the Retail Banking Starter Pack as a demo or as a foundation for your custom flows.
To start up the Retail Banking Demo Assistant, ensure you're in the starterpack-retail-banking-en directory.
- Train the Rasa model
- Start the Rasa Inspector or
- Start the Rasa Chat Widget
make modelYou will find your trained model inside the models/ directory.
You can now test your assistant using the Rasa Inspector or Rasa Chat Widget.
make inspect- Once you see the “Starting worker” message in your terminal, proceed to the next step.
- In your browser go to: http://localhost:5005/webhooks/socketio/inspect.html
make run- Once you see the “Starting worker” message in your terminal, proceed to the next step.
- Open Finder (Mac) or File Explorer (Windows).
- Navigate to the chatwidget directory inside the starterpack-retail-banking-en folder you uncompressed earlier.
- Double-click
chatwidget/index.htmlto open the demo in your browser. - You can now interact with the Retail Banking Demo Assistant using Rasa’s chat widget.
Tip
You can also edit chatwidget/index.html to customize the look and behavior of the demo.
Note
For a full list of Rasa CLI commands refer to: https://rasa.com/docs/reference/api/command-line-interface/#cheat-sheet
- To stop the Rasa server, return to the terminal window where it is running and press Ctrl+C.
- That's it, you’ve successfully run your first Rasa Assistant! You can now close the terminal window if you wish.
- Open your terminal and navigate to the starterpack-retail-banking-en directory.
- Then, follow the same steps from Starting the Demo Assistant to run the assistant again.
Feel free to fork this repo and submit pull requests. Suggestions and improvements are always welcome!
This project is licensed under the Apache 2.0 License, allowing modification, distribution, and usage with proper attribution.