I need to use Rasa Core along with some other NLU service like LUIS or DialogFlow. If I am running Rasa Core as an independent service and wants to use just the Rasa Core functionality to predict the next action. How do I pass the intent and entities received from NLU service to Rasa Core server?
Although the docs mentions that Rasa Core can be used with any NLU service but I am unable to find the way or Rasa Core API endpoint which can be called to achieve this.
This page of the docs mentions:
To use something other than Rasa NLU, you just need to implement a subclass of Interpreter which has a method parse(message) which takes a single string argument and returns a dict in the following format:
So all you have to do is to create a subclass of Interpreter, call the LUIS/Dialogflow API, and reformat the dictionary keys to match rasa core’s format and return the output.
I think a good idea is to add this knowledge of how to replace rasa nlu in either Quickstart or Rasa NLU docs.
I figured out an easy way by just calling the RASA core respond API endpoint with intent and entities fetched from any interpreter processed in another codebase. Here is how I am calling the RASA Core API which works for me -