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?
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.