Skip to content

tutorial

Chapter 1 of 6

Chapter 1 — Set up Sterling

by Rod Rivera Published

Install the companion project, train the agent, and run the conversation you will spend the rest of the tutorial taking apart.

Clone the companion repository and move into this tutorial’s project:

git clone https://github.com/RasaHQ/rasa-community-resources.git
cd rasa-community-resources/tutorials/rasa-tools-and-memory-tutorial

Credentials

make env

That copies .env.example to .env. Fill in two values:

Variable Where it comes from
RASA_LICENSE Developer Edition licence key request
OPENAI_API_KEY Your OpenAI account

Install and train

make install
make train

make install runs uv sync --prerelease=allow. The prerelease flag is not optional: the Mantle engine ships on the 3.19.0.devN line, and a plain install resolves to a stable release that does not contain it.

make train validates the project before it packages anything. That validation is stricter than you might expect, and it is on your side — you will meet it again in Chapter 5.

Run it

make chat

Then work through this exact conversation:

you  hello
bot  Hello. What can I assist you with today?

you  my passphrase is bluebird
bot  Welcome back, Dana Okafor. You are now signed in.

you  what is the balance on 10029384
bot  The balance on account 10029384 is 2418.55 GBP.

you  send 25 pounds to Sam Rivera
bot  To confirm, you want to send 25 pounds to Sam Rivera. Is that correct?

you  yes, confirm
bot  25 pounds have been sent to Sam Rivera.

Note what did not happen: you were never asked for the passphrase a second time. Two more skills ran, each needing to know who you are, and neither asked.

See the architecture in one command

make scopes
GLOBAL tools (project root; named in a skill import_tools)
  get_customer_info
LOCAL tools (skill folder; auto-discovered)
  authenticate/verify_passphrase
  check_balance/fetch_balance
  transfer_money/make_transfer
PROJECT memory (every skill reads and writes)
  authenticated, customer_id, preferred_language
SKILL memory (public = other skills may read; private = never)
  authenticate:    public verification_method   private passphrase_attempts
  transfer_money:  public amount, payee_name    private transfer_reason

Four tools, three memory scopes. The rest of the tutorial is about why each one sits where it does.

The demo data

One customer, so the walkthrough is predictable:

Field Value
Name Dana Okafor
Customer id MB-4417
Passphrase bluebird
Accounts 10029384 (current), 10029385 (savings)
Payee Sam Rivera