Skip to content

Commit

Permalink
AUTO docusaurus 20240119
Browse files Browse the repository at this point in the history
  • Loading branch information
GitHub CI committed Jan 19, 2024
1 parent 1e56704 commit 3c60396
Show file tree
Hide file tree
Showing 7 changed files with 56 additions and 50 deletions.
14 changes: 13 additions & 1 deletion docs/versioned_docs/version-3.x/changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,22 @@ https://github.com/RasaHQ/rasa/tree/main/changelog/ . -->

<!-- TOWNCRIER -->

## [3.6.16] - 2024-01-19

Rasa 3.6.16 (2024-01-19)
### Bugfixes
- [#12983](https://github.com/rasahq/rasa/issues/12983): Upgrade Cryptography to fix improper certificate validation.
- [#12998](https://github.com/rasahq/rasa/issues/12998): Fixes a bug that caused the `full_retrieval_intent_name` key to be missing in the published event. Rasa Analytics makes use of this key to get the Retrieval Intent Name

### Miscellaneous internal changes
- [#712](https://github.com/rasahq/rasa/issues/712)


## [3.6.15] - 2023-11-30

Rasa 3.6.15 (2023-11-30)
### Bugfixes
- [#12965](https://github.com/rasahq/rasa/issues/12965): Fixed connection timeout to action server by setting `KEEP_ALIVE_TIMEOUT` to `120`, and reverting changes introduced in [#12886](https://github.com/rasahq/rasa/issues/12886).
- [#12965](https://github.com/rasahq/rasa/issues/12965): Fixed connection timeout to action server by setting KEEP_ALIVE_TIMEOUT to 120, and reverting changes introduced in #12886.


## [3.6.14] - 2023-11-17
Expand Down Expand Up @@ -268,6 +279,7 @@ Rasa 3.5.12 (2023-06-23)
### Miscellaneous internal changes
- [#12512](https://github.com/rasahq/rasa/issues/12512)


## [3.5.11] - 2023-06-08

Rasa 3.5.11 (2023-06-08)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,26 @@ In order to gather metrics on our system's ability to handle increased loads and
In each test case we spawned the following number of concurrent users at peak concurrency using a [spawn rate](https://docs.locust.io/en/1.5.0/configuration.html#all-available-configuration-options) of 1000 users per second.
In our tests we used the Rasa [HTTP-API](https://rasa.com/docs/rasa/pages/http-api) and the [Locust](https://locust.io/) open source load testing tool.


| Users | CPU | Memory |
|--------------------------|----------------------------------------------|---------------|
| Up to 50,000 | 6vCPU | 16 GB |
| Up to 80,000 | 6vCPU, with almost 90% CPU usage | 16 GB |


### Some recommendations to improve latency
- Sanic Workers must be mapped 1:1 to CPU for both Rasa Pro and Rasa Action Server
- Create `async` actions to avoid any blocking I/O
- `enable_selective_domain: true` : Domain is only sent for actions that needs it. This massively trims the payload between the two pods.
- Consider using compute efficient machines on cloud which are optimized for high performance computing such as the C5 instances on AWS.
However, as they are low on memory, models need to be trained lightweight.


| Machine | RasaPro | Rasa Action Server |
|--------------------------------|------------------------------------------------|--------------------------------------------------|
| AWS C5 or Azure F or Gcloud C2 | 3-7vCPU, 10-16Gb Memory, 3-7 Sanic Threads | 3-7vCPU, 2-12Gb Memory, 3-7 Sanic Threads |


### Debugging bot related issues while scaling up

To test the Rasa [HTTP-API](https://rasa.com/docs/rasa/pages/http-api) ability to handle a large number of concurrent user activity we used the Rasa Pro [tracing](./tracing.mdx) capability
Expand Down
71 changes: 26 additions & 45 deletions docs/versioned_docs/version-3.x/reference/rasa/core/run.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,29 @@ Instantiate the chosen input channel.
#### configure\_app

```python
def configure_app(input_channels: Optional[List["InputChannel"]] = None,
cors: Optional[Union[Text, List[Text], None]] = None,
auth_token: Optional[Text] = None,
enable_api: bool = True,
response_timeout: int = constants.DEFAULT_RESPONSE_TIMEOUT,
jwt_secret: Optional[Text] = None,
jwt_private_key: Optional[Text] = None,
jwt_method: Optional[Text] = None,
route: Optional[Text] = "/webhooks/",
port: int = constants.DEFAULT_SERVER_PORT,
endpoints: Optional[AvailableEndpoints] = None,
log_file: Optional[Text] = None,
conversation_id: Optional[Text] = uuid.uuid4().hex,
use_syslog: bool = False,
syslog_address: Optional[Text] = None,
syslog_port: Optional[int] = None,
syslog_protocol: Optional[Text] = None,
request_timeout: Optional[int] = None) -> Sanic
def configure_app(
input_channels: Optional[List["InputChannel"]] = None,
cors: Optional[Union[Text, List[Text], None]] = None,
auth_token: Optional[Text] = None,
enable_api: bool = True,
response_timeout: int = constants.DEFAULT_RESPONSE_TIMEOUT,
jwt_secret: Optional[Text] = None,
jwt_private_key: Optional[Text] = None,
jwt_method: Optional[Text] = None,
route: Optional[Text] = "/webhooks/",
port: int = constants.DEFAULT_SERVER_PORT,
endpoints: Optional[AvailableEndpoints] = None,
log_file: Optional[Text] = None,
conversation_id: Optional[Text] = uuid.uuid4().hex,
use_syslog: bool = False,
syslog_address: Optional[Text] = None,
syslog_port: Optional[int] = None,
syslog_protocol: Optional[Text] = None,
request_timeout: Optional[int] = None,
server_listeners: Optional[List[Tuple[Callable, Text]]] = None,
use_uvloop: Optional[bool] = True,
keep_alive_timeout: int = constants.DEFAULT_KEEP_ALIVE_TIMEOUT
) -> Sanic
```

Run the agent.
Expand Down Expand Up @@ -65,7 +70,9 @@ def serve_application(
syslog_address: Optional[Text] = None,
syslog_port: Optional[int] = None,
syslog_protocol: Optional[Text] = None,
request_timeout: Optional[int] = None) -> None
request_timeout: Optional[int] = None,
server_listeners: Optional[List[Tuple[Callable,
Text]]] = None) -> None
```

Run the API entrypoint.
Expand Down Expand Up @@ -96,29 +103,3 @@ Gracefully closes resources when shutting down server.
- `app` - The Sanic application.
- `_` - The current Sanic worker event loop.

#### create\_connection\_pools

```python
async def create_connection_pools(app: Sanic, _: AbstractEventLoop) -> None
```

Create connection pools for the agent&#x27;s action server and model server.

#### create\_action\_endpoint\_connection\_pool

```python
def create_action_endpoint_connection_pool(
agent: Agent) -> Optional["ClientSession"]
```

Create a connection pool for the action endpoint.

#### create\_model\_server\_connection\_pool

```python
def create_model_server_connection_pool(
agent: Agent) -> Optional["ClientSession"]
```

Create a connection pool for the model server.

Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ Creates an `EndpointConfig` instance.
#### session

```python
@cached_property
def session() -> aiohttp.ClientSession
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ options:
--conversation-id CONVERSATION_ID
Specify the id of the conversation the messages are
in. Defaults to a UUID that will be randomly
generated. (default: 6ae525c02bf54347a56fdfbe15d72b5c)
generated. (default: d57c9aca9626404eb508f588d92cf133)
--endpoints ENDPOINTS
Configuration file for the model server and the
connectors as a yml file. (default: endpoints.yml)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ options:
-h, --help show this help message and exit
--conversation-id CONVERSATION_ID
Set the conversation ID. (default:
01f80f80c9874ce7963666e53f8941ec)
61a3c008cba14764aea991d673873f78)
-m MODEL, --model MODEL
Path to a trained Rasa model. If a directory is
specified, it will use the latest model in this
Expand Down
2 changes: 1 addition & 1 deletion docs/versioned_docs/version-3.x/variables.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"release": "3.6.14",
"release": "3.6.16",
"rasa_sdk_version": "3.6.2"
}

0 comments on commit 3c60396

Please sign in to comment.