Running a Rasa SDK Action Server
Python action server, when built with Python, can be run by using rasa command or directly as a python module.
The action server supports two protocols to invoke custom actions: HTTP and gRPC.
By default, the action server runs on HTTP protocol.
To run the action server on gRPC protocol, you need to specify the --grpc
flag.
Running the action server
Running action server over HTTP(S) protocol
The action server supports both secure (HTTPS) and insecure HTTP connections.
HTTP protocol
To run action server over HTTP protocol use this command:
- Using Rasa command
- Directly as a python module
When running the action server over HTTP protocol, make sure that Rasa is also configured to use HTTP protocol.
HTTPS protocol
To run action server over HTTPS protocol use this command:
- Using Rasa command
- Directly as a python module
When running the action server over HTTPS protocol, make sure that the Rasa server is also configured to use HTTPS protocol.
Listen on specific address
You can make your action server listen on a specific address using the SANIC_HOST
environment
variable:
- Using Rasa command
- Directly as a python module
Running the action server on gRPC protocol
The action server supports both secure and insecure gRPC connections. By default, the action server runs on insecure gRPC connection.
Insecure gRPC connection
To run the action server to accept insecure gRPC connections, use this command:
- Using Rasa command
- Directly as a python module
When running the action server to accept insecure gRPC connections, make sure that the Rasa server is also configured to use insecure gRPC connections.
Secure gRPC connection
To run the action server to accept secure gRPC connections,
you need to specify the --grpc
, together with the --ssl-certificate
and --ssl-keyfile
flags:
- Using Rasa command
- Directly as a python module
When running the action server to accept secure gRPC connections, make sure that the Rasa server is also configured to use secure gRPC connections.
Specifying the actions module or package
By default the action server will look for your actions
in a file called actions.py
or in a package directory called actions
.
You can specify a different actions module or package with the --actions
flag.
- Using Rasa command
- Directly as a python module
Using the command above, the action server will expect to find your actions
in a file called my_actions.py
or in a package directory called my_actions
.
Other options
To see the full list of options for running the action server, run:
- Using Rasa command
- Directly as a python module