Skip to main content

Responding to Requests

Request Format

When your model predicts that your bot should send a response to the user, it will send a request to your server, giving you the information required to select or generate a response. The body of the POST request sent to your NLG endpoint will be structured like this:
New in 3.6We have added an id field to the request body. This field contains the ID of the response variation. You can use this information to compose/select a proper response variation on your NLG server.
Here is an overview of the high-level keys in the post request: You can use any or all of this information to decide how to generate your response.

Response Format

The endpoint needs to respond with the generated response. Rasa will then send this response back to the user. Below are the possible keys of a response and their (empty) types:
You can choose to provide just text, or a combination of different types of rich responses. Just like the responses defined in the domain file, a response needs to contain at the very least either text or custom to be a valid response.
Calling responses from storiesIf you use an external NLG service, you don’t need to specify the responses under responses in the domain. However, you still need to add the response names to the actions list of the domain if you want to call them directly from your stories.

Configuration

To set up Rasa with your NLG server the following steps are required:
  1. Add required configuration to your endpoints.yml
endpoints.yml
If your NLG server is protected and Rasa will need authentication to access it, you can configure authentication in the endpoints:
endpoints.yml
  1. To start the Rasa server using your NLG backend, add the --endpoints flag, e.g.: