diff --git a/docs/docs/nlu-only-server.mdx b/docs/docs/nlu-only-server.mdx new file mode 100644 index 000000000000..77b21ec5ee4a --- /dev/null +++ b/docs/docs/nlu-only-server.mdx @@ -0,0 +1,36 @@ +--- +id: nlu-only-server +sidebar_label: NLU-Only Server +title: NLU-Only Server +description: Read about connecting to a Rasa NLU-only server using the HTTP API. +abstract: You can run an NLU-only server and use the HTTP API to connect to it. +--- + + +## Connecting to an NLU server + +You can connect a [Rasa NLU-only server](./nlu-only.mdx#running-an-nlu-server) to a separately running Rasa dialogue management only server +by adding the connection details to the dialogue management server's endpoint configuration file: + +```yaml title="endpoints.yml" +nlu: + url: "http://:" + token: # [optional] + token_name: # [optional] (default: token) +``` + +The `token` and `token_name` refer to optional [authentication paramenters](./http-api.mdx#token-based-auth). + +The dialogue management server should serve a model that does not include an NLU model. +To obtain a dialogue management only model, train a model with `rasa train core` or use +`rasa train` but exclude all NLU data. + +When the dialogue management server receives a message, it will [send a request](https://rasa.com/docs/rasa/pages/http-api#operation/parseModelMessage) to +`http://:/model/parse` and use the parsing information returned. + +:::note endpoint configuration +The endpoint configuration for the dialogue management server will include an `nlu` endpoint that refers to your NLU only server. Therefore you should **use a separate endpoint configuration file** for the NLU server, excluding the `nlu` endpoint. +::: + +If you are implementing a custom NLU server (i.e. not Rasa NLU), your server should provide a `/model/parse` endpoint that responds to requests in the same +format as a Rasa NLU server does. diff --git a/docs/sidebars.js b/docs/sidebars.js index a242baf73c15..0cfb0006d0bc 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -115,6 +115,7 @@ module.exports = { collapsed: true, items: [ 'http-api', + 'nlu-only-server' // 'jupyter-notebooks', ], },