Thought of setting up a several rasa-bots

Hey,

I have a question (actually I have heaps). But I wonder in what way would be the smartest way to set up an environment where I have have several rasa bots. All of them have the same Intents but depending which bot (say client) the answers will differ. What is the best practice regarding this?

Also if there is heaps of faq-type of questions. How would you approach this? A regular faq setup? Can you use custom actions or should there be a story for each and every one of the intents?

Thanks! /Magnus

Not sure if i get what you mean here? if the intent’s the same, why the answer is different? are you using some kind of metadata to variate answers like device, location, language etc?

@souvikg10 I am thinking of building a bot that can be used for different clients within the same scope. For example a sport stores. Every store have their answers for the same question. So the intents are the same but the answers depends on the store (client).

you are probably better off cloning the projects and deploying them individually, because often intent examples will be more enhanced if you follow conversation driven development and no two clients are the same.

1 Like

@souvikg10 I had a thought of having all the utters in a DB. One DB per client. Although I have hit a road block with that thought since I having a hard time getting getting out which “sub-intent” that have been identified. Thought of using the FAQ framework and setting up a rule that the responding action to intent: faq is a custom action. Maybe you have an idea how to get hold of which “sub-intent” that have been identified?

I am not exactly sure what is a sub intent? isn’t that just another intent? I dont know whether rasa support mutli-level intents or if that’s a thing… :frowning:

Maybe you can try Response Selector for large set of FAQ questions

@souvikg10 with “sub-intent” I ment the different FAQ intents. I am also using the Response Selector for the Faq intents. But I would like to by code get hold of the intents using a custom action. Example: In the intent “faq/sub_intent1” how do I get “sub_intent1” in a custom action?

Thanks for the help. :slight_smile:

well… probably a bit stupid answer but cant you just use str.split(’/’)? you know the pattern of the intent faq/sub_intent1

@souvikg10 guess that I could do that. But I don’t get “faq/sub_intent1” I just get “faq”. Any idea how the get the whole thing?

aa i understand now… that’s what you get from the tracker store.

i think you should check the docs or code:

Args:
            message: Latest user message.
            kwargs: Additional key word arguments.
        Returns:
            the most likely response, the associated intent_response_key and its
            similarity to the input.

you can actually check the tracker for the intent_response_key , fetch the tracker object and print the entire data in it so you can check intent_response_key maybe. that might be the faq/sub_intent

@souvikg10 I checked some more and this line of code tracker.latest_message[‘intent’][‘name’] get me just “faq” and not the whole “faq/sub_intent”

When I look in the debug logs I don’t see “faq/sub_intent” at all. But later on I get “utter_faq/sub_intent”, but not sure if I can get hold of that and change that before it’s written out. Any ideas?