How to store RASA chatbot conversation history in Postgresql

I have developed a chatbot based on RASA open source version 2.4 and Botfront as an UI. This is a FAQ bot and only intent, rules and nlu are being used. How do I track/store all conversations that users enter on the UI regardless what have been typed in so that I can keep patching the nlu knowledge base?

I have been reading RASA documentation about Tracker Stores. So here are my questions -
Question 1 - Assuming the solution is InMemoryTrackerStore, how to retrieve/find it from the “memory”? Does RASA store everything in a log? Question 2 - Assuming I have a postgresql as a backend (with only one column created for storing everything) and endpoints.yml is correctly configured, what are the next steps? Should I write any custom action that can store user inputs and bot responses? If so, is there an example code?

Thanks in advance!

Welcome to the forum :slight_smile:

The InMemoryTrackerStore is actually SQLite, so you can use it like any other SQLite database.

Please see this post which shows what is saved in the tracker store: How can i SQLTrackerStore like that step by step . can someone help me? - #2 by ChrisRahme

What do you mean by storing everything in one column? The schema is already defined as shown in the link above.

Unless you want to store your data in a different way, which cannot be fixed by SQL Views, you don’t have to write custom actions. You only have to change the tracker store settings as also shown in the link above.

Thank you Chris for the responses.
I only have a couple of options with either Postgresql or Mysql due to infrastructure limitations. The post you provided seems pretty clear and I may follow that or change it to a postgresql setup… Thanks again.

1 Like

Happy to help :slight_smile:

Please mark the answer as solution if it helped to mark the thread as solved