No registered action found when importing sqlite3

I am trying to connect SQLite to collect data. However, whenever I try to import sqlite3, some of my action_submits don’t get registered. I have several forms but action_submit only gets registered for one specific form. it works completely fine if I don’t import sqlite3. what should I do?

@anonymousb61 Heya! Can you share the screenshot of error please? Did you aware of Tracker Store?

rasa run actions 2021-07-08 13:49:18 INFO rasa_sdk.endpoint - Starting action endpoint server… 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘action_facility_search’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘action_driving_license_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘action_learners_license_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘action_followup_check’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘action_weather’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘action_restart’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘police_number_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘user_details_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘theft_of_vehicle_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘theft_of_goods_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘missing_person_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘lost_and_found_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘assault_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘civic_grievance_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘action_submit_cg’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘validate_user_details_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘validate_theft_of_vehicle_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘validate_theft_of_goods_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘validate_missing_person_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘validate_lost_and_found_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘validate_assault_form’. 2021-07-08 13:49:18 INFO rasa_sdk.executor - Registered function for ‘validate_civic_grievance_form’. 2021-07-08 13:49:18 INFO rasa_sdk.endpoint - Action endpoint is up and running on http://0.0.0.0:5055

^^these are the actions that get registered.

actions:

  • action_facility_search
  • action_driving_license_form
  • action_restart
  • action_followup_check
  • action_learners_license_form
  • action_weather
  • action_police_station
  • action_submit
  • action_submit_other
  • action_submit_fir3
  • action_submit_fir4
  • action_submit_fir5
  • action_submit_fir6
  • action_submit_fir7
  • validate_user_details_form
  • action_submit_cg
  • validate_theft_of_goods_form
  • validate_theft_of_vehicle_form
  • validate_missing_person_form
  • validate_assault_form
  • validate_lost_and_found_form
  • validate_civic_grievance_form this is the list of my actions in domain^^

i did aware the tracker: tracker_store: type: SQL dialect: “postgresql” # the dialect used to interact with the db url: “” # (optional) host of the sql db, e.g. “localhost” db: “rasa” # path to your db username: # username used for authentication password: # password used for authentication query: # optional dictionary to be added as a query string to the connection URL driver: my-driver

@anonymousb61 They are working as registered actions. What you want? @anonymousb61 You want to connect Rasa with SQL, MySQL Workbench or PostgresSQL to store the conversation logs?

yes. i want to connect RASA with SQLite to store data. what are resistor actions?

@anonymousb61 Rasa have a inbuilt feature with SQLite. Is it mandatory for you to store in SQLite, can you also do it MySQL or Postgres? Should I provide the solution for same?

@anonymousb61 what resistor actions you talking?

It is not mandatory for me to use SQLite. I was using it because it seemed easy. @nik202 you said ‘they are working as resistor actions’.

@anonymousb61 Type error it is registered actions only, me bad.

Solution:

In endpoints.yml

tracker_store:

   type: SQL

   dialect: "mysql+pymysql"  # the dialect used to interact with the db

   url: "localhost"  # (optional) host of the sql db, e.g. "localhost"

   db: "rasa-1"  # path to your db

   username: "root"  # username used for authentication

   password: "123"  # password used for authentication

tracker_store:

  type: SQL

  dialect: "postgresql" # the dialect used to interact with the db

  url: "localhost" # (optional) host of the sql db, e.g. "localhost"

  db: "chatbot" # path to your db

  login_db: "postgres"

  username: "postgres" # username used for authentication

  password: "123" # password used for authentication

#   query: # optional dictionary to be added as a query string to the connection URL

#     driver: my-driver

First one is for MySQL and Workbench and Second is for PostgresSQL. In backend they should be running for the tracker.

Do install in your environment:

pip install PyMySQL
pip install psycopg2-binary

Do let me know if you have any issues.