How to connect RASA NLP to our web application

Thanks. And if I want a list of entities and intents with their variable types what should I do?

I am migrating from LUIS to RASA and Luis has two APIs one for confidence levels and one for the Variable Types.

hey @Kavita you can do so using the same api, i will show my example

my query was i want to oder some maharashtrian food near pune

so it gave me pune as Location entity and maharashtrian as cuisine ;

so it gives similar output as we make a luis api call

I want to know the variable type like string, integer, etc of the entity. I think it will all be string right.

I will use this detail in creating a proper bot using Java so this information is needed.

it depends upon extraction component you are using, some components liker ner_crf doesn’t gives the extra information lile you are asking but ner_duckling does that it gives you the entity type :

1 Like

Hey @JiteshGaikwad Actually see i’m passing some extra parameters with my query to my POST request. So how do i take those parameters in my rasa functions. Eg. lets say user says: how many people are online in my team, So my App server will send a POST request like this:

http://my_aws_ip:5005/conversations/65/respond?query=“how many are online today?”&user_id=179

see i’m passing a user_id=179 as a parameter so how can i track this!! Coz based on this value i’m calling an API in my action.py file.

@JiteshGaikwad Thanks a lot.

@Kavita welcome

hey @JiteshGaikwad So this is fine i’m getting a response and all. But what if I want to send some more parameters along with my query, like:

http://localhost:5005/conversations/123/respond?q=“can you tell me who is online today?”&user_id=27

So I want to send some more details from my app side to rasa so that I can use those parameters in my action classes. How can I extract these parameters from the post request?

Hey, Jitesh So, by using --cors argumnet I can restrict the use of rasa server (my localhost) right??? I mean only the domains I specify will be able to access the API ?

yes, in --cors “domains you want to allow” you can restrict the acces to your nlu server

1 Like

Thanks.

Welcome @Kavita😃

hey @Akshit, you can do it by defining an intent “getOnlineUser” and then you can write a custom action which will give you the details of online user, now in you custom action what you can do is, you can call this api

http://localhost:5005/conversations

  • which will Lists the sender ids of all the available conversations

for more details on retrieving user details you can visit this link :

https://rasa.com/docs/core/server/#operation/listConversations

sorry for the late reply :sweat_smile:

hey, can you tell me if I want the list of intents and entities as api. How to do that???

I want a list of all the intents and entities in my model, from the training data.

sorry @Kavita i dint understand your issue😅 can you please explain me

I will mention some intents and entities while training. I want to get a list of that as an api.

Do you understand now?

Luis will have something Like that in training data:

  "luis_schema_version": "2.1.0",
  "versionId": "0.1",
  "name": "Test_LUIS",
  "desc": "",
  "culture": "en-us",
  "intents": [
    {
      "name": "Greet"
    },
    {
      "name": "Abc"
    },
    {
      "name": "Xyz"
    },
    {
      "name": "Weather"
    },
    {
      "name": "None"
    },
  ],
  "entities": [
    {
      "name": "Location",
      "roles": []
    },
    {
      "name": "Weather",
      "roles": []
    }

This is just an example for you to understand.

It will give the same list as api also. I want that

@Kavita for this you will have to run a nlu server

python -m rasa_nlu.server --path projects --port 8065 --emulate luis

here path is of your trained nlu data

and then you have to pass a URL like this in your browser for the response you are trying to get

http://localhost:8065/parse?q=hello

It is similar to LUIS implementation as LUIS also provides with a URL with a query at last. You can get similar LUIS like JSON response structure for your bot

I want a list of intents and entities.

hey @kavitha i understood your problem, but i dint found any api for that but you try out this

https://rasa.com/docs/nlu/python/#metadata