Rasa Data Representation and Custom action for a chatbot for admission

Hello Rasa forum members. I’m thinking about building a bot for prospective students going to university. I have a problem representing the degree programs and the requirements as data and ultimately creating a custom action for querying a program or list of programmes that a prospective student can do based on their subjects. I’m not sure whether to use a db or csv file for this problem. The sample courses are as follows.

Course and subjects requirements * Computer Science - Mathematics and Physics or Mathematics and Computer Studies, and any other Science subjects. * Applied Chemistry - Chemistry and either Mathematics or Physics. * Applied Physics - Physics and Mathematics. * Applied Biology - Biology and Chemistry plus any other science subject * Applied Mathematics - Mathematics and any other science subjects (Physics, Chemistry or Biology) including Geography.

So the idea is, should a student say that they have Maths and Physics, it should return Applied Mathematics or Computer Science as courses that the prospective student can do at a university. Thanks for your usual and kind support.

Hy @wesley, I would use a db for this, you can start with MongoDB for example, or any other db you are comfortable using. This will give you more flexibility while developing. Also instead of installing it directly on you machine I would rather use a docker container to host the db.

1 Like

Thanks @EPedrotti, for now I think I will go with MySQL. Do you have an idea on how I should implement the custom action, especially what type of slot I can use to store subjects( for example Mathematics and Physics) that the user inputs and query the database and recommend the possible courses that the user can apply for. Thank you once again.

Hi @wesley, for the slots I suggest you have a look at our docs https://rasa.com/docs/core/slotfilling/. For the custom actions you can use our SDK, here are the docs https://rasa.com/docs/core/customactions/#custom-actions-written-in-python. Maybe also this can be useful https://github.com/RasaHQ/starter-pack-rasa-stack

I hope this enough to get you started! Also don’t forget to look at what has already been answered on the forum, you can find a lot of informations from previous users!

thanks, @EPedrotti…I will give you feedback on how it goes.