From c08b9b181d3f108fd02edf265ef3588518dea955 Mon Sep 17 00:00:00 2001 From: vcidst Date: Mon, 19 Jun 2023 17:02:32 +0200 Subject: [PATCH 01/23] add documentation for realtime-markers --- docs/docs/command-line-interface.mdx | 33 ++++++++ docs/docs/markers.mdx | 6 ++ .../monitoring/analytics/realtime-markers.mdx | 83 +++++++++++++++++++ docs/sidebars.js | 1 + 4 files changed, 123 insertions(+) create mode 100644 docs/docs/monitoring/analytics/realtime-markers.mdx diff --git a/docs/docs/command-line-interface.mdx b/docs/docs/command-line-interface.mdx index 76ccbcce1417..1c68597ef645 100644 --- a/docs/docs/command-line-interface.mdx +++ b/docs/docs/command-line-interface.mdx @@ -30,6 +30,7 @@ import RasaProBanner from "@theme/RasaProBanner"; |`rasa data validate` |Checks the domain, NLU and conversation data for inconsistencies. | |`rasa export` |Exports conversations from a tracker store to an event broker. | |`rasa evaluate markers` |Extracts markers from an existing tracker store. | +|`rasa marker upload` |Upload marker configurations to Analytics Data Pipeline | |`rasa license` |Display licensing information. | |`rasa -h` |Shows all available commands. | @@ -661,6 +662,38 @@ Python Logging Options: --quiet Be quiet! Sets logging level to WARNING. (default: None) ``` +## rasa marker upload + +This command is only relevant for Rasa Pro users with an Analytics Data Pipeline. +It applies to [markers](./markers.mdx) and their [real-time processing](./monitoring/analytics/realtime-markers.mdx). +Running this command validates the marker configuration file against the domain file and uploads the configuration to Analytics Data Pipeline + +``` +usage: rasa markers upload [-h] [--config CONFIG] + [--rasa-pro-services-url RASA_PRO_SERVICES_URL] + -d DOMAIN + +This command uploads Markers to the Rasa Pro Services for real-time analysis and insights generation. + +Optional Arguments: + -h, --help Show this help message and exit. + --config CONFIG Path to the marker configuration file(s) containing marker definitions. This can be a single YAML file or a directory that contains multiple files with marker definitions. The content of these files will be read and merged together. (default: markers.yml) + --rasa-pro-services-url RASA_PRO_SERVICES_URL + The URL of the Rasa Pro Services instance to upload markers to. The specified URL should not contain a trailing slash. + +Required Arguments: + -d DOMAIN, --domain DOMAIN + Path to the Rasa domain file. + +Description: + The `rasa markers upload` command allows you to upload Markers to the Rasa Pro Services. Markers are custom conversational events that provide additional context for analysis and insights generation. By uploading Markers, you can enable real-time analysis and enhance the performance of your Rasa Assistant. + +Examples: + Upload Markers to Rasa Pro Services: + rasa markers upload --config markers.yml --rasa-pro-services-url https://example.com/rasa-pro -d domain.yml + +``` + ## rasa license diff --git a/docs/docs/markers.mdx b/docs/docs/markers.mdx index 24d4c35059ab..ab2580d9e6da 100644 --- a/docs/docs/markers.mdx +++ b/docs/docs/markers.mdx @@ -173,6 +173,12 @@ You cannot reuse an existing marker name in the definition of another marker. ## Extracting Markers +:::info + +Rasa Pro supports real-time processing of Markers, Read more about [Real-Time Markers](monitoring/analytics/realtime-markers.mdx) + +::: + Markers are extracted from dialogues already stored in a tracker store. To learn how to store interactions with your bot in a tracker store, read the [Tracker Store](./tracker-stores.mdx) page. diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx new file mode 100644 index 000000000000..c21b4a01dcfe --- /dev/null +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -0,0 +1,83 @@ +--- +id: realtime-markers +sidebar_label: Real-time Markers +title: Real-time Analysis of Markers +description: +abstract: Process Markers in real-time from Rasa + Assistant to track solution rate and abandonment +--- + +import useBaseUrl from "@docusaurus/useBaseUrl"; +import RasaProLabel from "@theme/RasaProLabel"; +import RasaProBanner from "@theme/RasaProBanner"; +import { Grid } from "@theme/Grid"; + + + + + +In Rasa, [Markers](../../markers.mdx) are a powerful feature that allows +you to track and extract custom conversational events. With the Analytics +Data Pipeline, you can now process these Markers in real-time, enabling +you to gain valuable insights and enhance the performance of your Rasa +Assistant. In this guide, we'll explore how to leverage real-time +analysis of Markers to track solution rate and abandonment in your conversations. + +## Defining Markers + +Please consult the [Markers](../../markers.mdx/#defining-markers) section of Rasa documentation +for details about defining Markers. + +## Enable Real-time Processing + +To enable real-time analysis of Markers in your Rasa project, you need to +upload the markers to Analytics Data Pipeline with the `rasa marker upload` +command. This command sends the marker configuration YAML and starts the +processing of Markers in the Analytics Data Pipeline. To get started, +make sure you have the latest version of Rasa installed. Then, open your command line +interface and navigate to your Rasa project directory. Run the following command: + +``` +rasa marker upload --config= -d= -rasa-pro-services-url= +``` + +By default, this command validates the marker configuration file against +your bot's domain.yml file. To specify a different domain file, use the +optional `-d` argument. + +This command should be run whenever there is a change in the marker +configuration file. The changes might include addition of new markers, +changing an existing marker or removing an existing marker. This command +will upload the configuration file to the Analytics Data Pipeline + +:::note + +This command **uploads** the marker configurations to the data pipeline. The pipeline assusmes the configuration +file as the source of truth and only processes the markers defined in it. If you remove a marker from this file, +and run this command, then the processing for that marker is stopped. + +::: + +### Configuring the CLI command + +Visit our [CLI page](./command-line-interface.mdx#rasa-marker-upload) +for more information about the command line arguments available. + +## How are Markers processed? + +Once the marker definitions are uploaded to the Analytics Data Pipeline, they +are stored in the `rasa_patterns` table. As the Kafka Consumer starts receiving events +from the Rasa Assistant, it starts analyzing them for markers. The Pipeline +processes all the events from the Kafka Event Broker and identifies points of interest +in the conversation where the marker can be applied. The extracted markers are stored +in the data warehouse. + +The evaluation of Markers in the Pipeline is similar to the `rasa evaluate markers` +command which can be used to process markers from the conversations in Tracker Store. +Read more about it [here](../../markers.mdx/#extracting-markers) + +Extracted markers are added to the `rasa_markers` table in the data warehouse +immediately once they are processed. There might also be instances where +a marker is applied several times in a conversation. Check out the +[Data Structure Reference](data-structure-reference.mdx/#rasa-markers) page for the +database schema of relevant tables. diff --git a/docs/sidebars.js b/docs/sidebars.js index c9ad8dcbd077..651621f566fe 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -87,6 +87,7 @@ module.exports = { collapsed: true, items: [ 'monitoring/analytics/getting-started-with-analytics', + 'monitoring/analytics/realtime-markers', 'monitoring/analytics/example-queries', 'monitoring/analytics/data-structure-reference', ], From e0775e526e0e86129f2cc0440d5eabec0d5db427 Mon Sep 17 00:00:00 2001 From: vcidst Date: Mon, 19 Jun 2023 17:05:14 +0200 Subject: [PATCH 02/23] add changelog --- changelog/12527.doc.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/12527.doc.md diff --git a/changelog/12527.doc.md b/changelog/12527.doc.md new file mode 100644 index 000000000000..b21312bbb3d1 --- /dev/null +++ b/changelog/12527.doc.md @@ -0,0 +1 @@ +Added Documentation for Realtime Markers Section. \ No newline at end of file From 859d1a882588b989f9e1d0f7718ca1e687f15354 Mon Sep 17 00:00:00 2001 From: vcidst Date: Mon, 19 Jun 2023 17:51:42 +0200 Subject: [PATCH 03/23] add data structure reference to marker tables --- .../analytics/data-structure-reference.mdx | 114 ++++++++++++++++++ .../monitoring/analytics/realtime-markers.mdx | 4 +- 2 files changed, 117 insertions(+), 1 deletion(-) diff --git a/docs/docs/monitoring/analytics/data-structure-reference.mdx b/docs/docs/monitoring/analytics/data-structure-reference.mdx index ded6ba7d568e..7317ba5b9976 100644 --- a/docs/docs/monitoring/analytics/data-structure-reference.mdx +++ b/docs/docs/monitoring/analytics/data-structure-reference.mdx @@ -781,6 +781,120 @@ Time of the last update of the slot in this session. The timestamp is a UTC. - Type: `DateTime` - Example: `2022-06-21 02:15:49.326936` +## rasa_patterns + +Patterns are marker definitions that have been received from Rasa. This table is called `patterns` +to distinguish them from extracted markers which are stored in `rasa_markers` table. It +stores the configuration of markers (which can be thought of as pattern +of conversational events) along with their metadata. + +#### `id` pattern identifier + +The unique identifier of the rasa pattern is generated by Analytics. + +- Type: `varchar(36)` +- Example: `bd074dc7-e745-4db6-86d0-75b0af7bc067` + +#### `name` pattern name + +Name of the pattern + +- Type: `varchar()` +- Example: `registration success` + +#### `description` pattern description + +Description of the pattern + +- Type: `varchar()` +- Example: `This marker identifies successful account registration in the chat` + +### `config` pattern configuration + +Pattern configuration dictionary stored as an escaped string + +- Type: `varchar()` +- Example: `"{'or': [{'intent': 'mood_unhappy'},{'intent': 'mood_great'}]}"` + +#### `is_active` soft-delete flag + +Only patterns with `is_active==True` are processed during real-time analysis + +- Type: `boolean` + +#### `created_at` creation date time + +Time of creation of this pattern. The timestamp is a UTC. + +- Type: `DateTime` +- Example: `2022-06-21 02:15:49.326936` + +#### `updated_at` update date time + +Time of the last update of the pattern in this session. The timestamp is a UTC. + +- Type: `DateTime` +- Example: `2022-06-21 02:15:49.326936` + +## rasa_markers + +Markers are the extracted markers from the conversations. Each row in this table corresponds +to a conversation where the marker was applied + +#### `id` marker identifier + +The unique identifier of the extracted rasa marker is generated by Analytics. + +- Type: `varchar(36)` +- Example: `bd074dc7-e745-4db6-86d0-75b0af7bc067` + +#### `pattern_id` pattern which was applied in this marker + +The unique identifier of the pattern which was applied in this marker. It is +a foreign key to the [`rasa_patterns.id`](#rasa_patterns) column + +- Type: `varchar(36)` +- Example: `9e4ebded-f232-4cc5-af78-d98daa0c1a53` + +#### `sender_id` sender identifier + +The unique identifier of the sender whose conversation this marker is part of. +It is a foreign key to the [`rasa_sender.id`](#rasa_sender) column. + +- Type: `varchar(36)` +- Example: `9e4ebded-f232-4cc5-af78-d98daa0c1a53` + +#### `session_id` session identifier + +The unique identifier of the session this marker is part of. +It is a foreign key to the [`rasa_session.id`](#rasa_session) column. + +- Type: `varchar(36)` +- Example: `63b150a6-21a3-4e6c-bb24-5ab6ddc30cf1` + +#### `event_id` event identifier + +The unique identifier of the event from event broker where this marker was applied. +Note that a marker can be applied across multiple events, this is the ID of the last event in the sequence. + +- Type: `varchar(36)` +- Example: `63b150a6-21a3-4e6c-bb24-5ab6ddc30cf1` + +#### `num_preceding_user_turns` Number of Proeeding User turns + +an integer indicating the number of user turns preceding the event at which the marker applied. + +- Type: `integer` +- Example: `4` + +#### `created_at` creation date time + +Time of creation of this marker. The timestamp is a UTC. + +- Type: `DateTime` +- Example: `2022-06-21 02:15:49.326936` + + ## Internal Tables Internal tables are used to store information about the assistant and diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx index c21b4a01dcfe..bb6d79a84aca 100644 --- a/docs/docs/monitoring/analytics/realtime-markers.mdx +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -4,7 +4,9 @@ sidebar_label: Real-time Markers title: Real-time Analysis of Markers description: abstract: Process Markers in real-time from Rasa - Assistant to track solution rate and abandonment + Assistant to track metrics, like solution rate and abandonment, + add metatags to conversations, + or filter conversations for Conversation Driven Development --- import useBaseUrl from "@docusaurus/useBaseUrl"; From 75fac499abf9d0aaa638e168487e6fb69c38bc43 Mon Sep 17 00:00:00 2001 From: vcidst Date: Tue, 20 Jun 2023 11:53:07 +0200 Subject: [PATCH 04/23] resolve review comments --- .../analytics/data-structure-reference.mdx | 10 ++++----- .../monitoring/analytics/realtime-markers.mdx | 22 ++++++++++--------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/docs/docs/monitoring/analytics/data-structure-reference.mdx b/docs/docs/monitoring/analytics/data-structure-reference.mdx index 7317ba5b9976..96ef726939e6 100644 --- a/docs/docs/monitoring/analytics/data-structure-reference.mdx +++ b/docs/docs/monitoring/analytics/data-structure-reference.mdx @@ -781,11 +781,11 @@ Time of the last update of the slot in this session. The timestamp is a UTC. - Type: `DateTime` - Example: `2022-06-21 02:15:49.326936` -## rasa_patterns +### rasa_patterns Patterns are marker definitions that have been received from Rasa. This table is called `patterns` to distinguish them from extracted markers which are stored in `rasa_markers` table. It -stores the configuration of markers (which can be thought of as pattern +stores the configuration of markers (which can be thought of as a pattern of conversational events) along with their metadata. #### `id` pattern identifier @@ -809,7 +809,7 @@ Description of the pattern - Type: `varchar()` - Example: `This marker identifies successful account registration in the chat` -### `config` pattern configuration +#### `config` pattern configuration Pattern configuration dictionary stored as an escaped string @@ -836,10 +836,10 @@ Time of the last update of the pattern in this session. The timestamp is a UTC. - Type: `DateTime` - Example: `2022-06-21 02:15:49.326936` -## rasa_markers +### rasa_markers Markers are the extracted markers from the conversations. Each row in this table corresponds -to a conversation where the marker was applied +to a marker along with details of the pattern, sender, session and the event #### `id` marker identifier diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx index bb6d79a84aca..9d97376688d6 100644 --- a/docs/docs/monitoring/analytics/realtime-markers.mdx +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -3,8 +3,8 @@ id: realtime-markers sidebar_label: Real-time Markers title: Real-time Analysis of Markers description: -abstract: Process Markers in real-time from Rasa - Assistant to track metrics, like solution rate and abandonment, +abstract: Process Markers real-time from Rasa + Assistants to track metrics like solution and abandonment rates, add metatags to conversations, or filter conversations for Conversation Driven Development --- @@ -16,9 +16,12 @@ import { Grid } from "@theme/Grid"; +:::info Available in Rasa Pro from 3.6.0 +::: + -In Rasa, [Markers](../../markers.mdx) are a powerful feature that allows +In Rasa Pro, [Markers](../../markers.mdx) is a powerful feature that allows you to track and extract custom conversational events. With the Analytics Data Pipeline, you can now process these Markers in real-time, enabling you to gain valuable insights and enhance the performance of your Rasa @@ -34,7 +37,7 @@ for details about defining Markers. To enable real-time analysis of Markers in your Rasa project, you need to upload the markers to Analytics Data Pipeline with the `rasa marker upload` -command. This command sends the marker configuration YAML and starts the +command. This command uploads the marker configuration YAML and starts the processing of Markers in the Analytics Data Pipeline. To get started, make sure you have the latest version of Rasa installed. Then, open your command line interface and navigate to your Rasa project directory. Run the following command: @@ -49,13 +52,12 @@ optional `-d` argument. This command should be run whenever there is a change in the marker configuration file. The changes might include addition of new markers, -changing an existing marker or removing an existing marker. This command -will upload the configuration file to the Analytics Data Pipeline +changing an existing marker or removing an existing marker. :::note -This command **uploads** the marker configurations to the data pipeline. The pipeline assusmes the configuration -file as the source of truth and only processes the markers defined in it. If you remove a marker from this file, +This command **uploads** the marker configurations to the data pipeline. The pipeline assumes the configuration +file is the source of truth and only processes the markers defined in it. If you remove a marker from this file, and run this command, then the processing for that marker is stopped. ::: @@ -70,8 +72,8 @@ for more information about the command line arguments available. Once the marker definitions are uploaded to the Analytics Data Pipeline, they are stored in the `rasa_patterns` table. As the Kafka Consumer starts receiving events from the Rasa Assistant, it starts analyzing them for markers. The Pipeline -processes all the events from the Kafka Event Broker and identifies points of interest -in the conversation where the marker can be applied. The extracted markers are stored +processes all the events from the Kafka Event Broker and identifies points of +interests in the conversation that matches the marker. The extracted markers are stored in the data warehouse. The evaluation of Markers in the Pipeline is similar to the `rasa evaluate markers` From 18b0469ffb9f43c30e261adf9f4db0d5e8746b14 Mon Sep 17 00:00:00 2001 From: vcidst Date: Tue, 20 Jun 2023 16:57:39 +0200 Subject: [PATCH 05/23] update command description --- docs/docs/command-line-interface.mdx | 46 ++++++++++++++----- .../monitoring/analytics/realtime-markers.mdx | 4 +- 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/docs/docs/command-line-interface.mdx b/docs/docs/command-line-interface.mdx index 1c68597ef645..c50f4e783731 100644 --- a/docs/docs/command-line-interface.mdx +++ b/docs/docs/command-line-interface.mdx @@ -662,28 +662,50 @@ Python Logging Options: --quiet Be quiet! Sets logging level to WARNING. (default: None) ``` -## rasa marker upload +## rasa markers upload This command is only relevant for Rasa Pro users with an Analytics Data Pipeline. It applies to [markers](./markers.mdx) and their [real-time processing](./monitoring/analytics/realtime-markers.mdx). Running this command validates the marker configuration file against the domain file and uploads the configuration to Analytics Data Pipeline ``` -usage: rasa markers upload [-h] [--config CONFIG] +usage: rasa markers upload [-h] [-v] [-vv] [--quiet] + [--logging-config-file LOGGING_CONFIG_FILE] + [--config CONFIG] [--rasa-pro-services-url RASA_PRO_SERVICES_URL] - -d DOMAIN + [-d DOMAIN] -This command uploads Markers to the Rasa Pro Services for real-time analysis and insights generation. - -Optional Arguments: - -h, --help Show this help message and exit. - --config CONFIG Path to the marker configuration file(s) containing marker definitions. This can be a single YAML file or a directory that contains multiple files with marker definitions. The content of these files will be read and merged together. (default: markers.yml) +optional arguments: + -h, --help show this help message and exit + --config CONFIG The marker configuration file(s) containing marker + definitions. This can be a single YAML file, or a + directory that contains several files with marker + definitions in it. The content of these files will be + read and merged together. (default: markers.yml) --rasa-pro-services-url RASA_PRO_SERVICES_URL - The URL of the Rasa Pro Services instance to upload markers to. The specified URL should not contain a trailing slash. - -Required Arguments: + The URL of the Rasa Pro Services instance to upload + markers to.Specified URL should not contain a trailing + slash. (default: ) -d DOMAIN, --domain DOMAIN - Path to the Rasa domain file. + Domain specification. This can be a single YAML file, + or a directory that contains several files with domain + specifications in it. The content of these files will + be read and merged together. (default: domain.yml) + +Python Logging Options: + You can control level of log messages printed. In addition to these + arguments, a more fine grained configuration can be achieved with + environment variables. See online documentation for more info. + + -v, --verbose Be verbose. Sets logging level to INFO. (default: + None) + -vv, --debug Print lots of debugging statements. Sets logging level + to DEBUG. (default: None) + --quiet Be quiet! Sets logging level to WARNING. (default: + None) + --logging-config-file LOGGING_CONFIG_FILE + If set, the name of the logging configuration file + will be set to the given name. (default: None) Description: The `rasa markers upload` command allows you to upload Markers to the Rasa Pro Services. Markers are custom conversational events that provide additional context for analysis and insights generation. By uploading Markers, you can enable real-time analysis and enhance the performance of your Rasa Assistant. diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx index 9d97376688d6..330411965bbc 100644 --- a/docs/docs/monitoring/analytics/realtime-markers.mdx +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -36,14 +36,14 @@ for details about defining Markers. ## Enable Real-time Processing To enable real-time analysis of Markers in your Rasa project, you need to -upload the markers to Analytics Data Pipeline with the `rasa marker upload` +upload the markers to Analytics Data Pipeline with the `rasa markers upload` command. This command uploads the marker configuration YAML and starts the processing of Markers in the Analytics Data Pipeline. To get started, make sure you have the latest version of Rasa installed. Then, open your command line interface and navigate to your Rasa project directory. Run the following command: ``` -rasa marker upload --config= -d= -rasa-pro-services-url= +rasa markers upload --config= -d= -rasa-pro-services-url= ``` By default, this command validates the marker configuration file against From 03b7250ae6847a97e71b65f9702b2e74f0c5198e Mon Sep 17 00:00:00 2001 From: vcidst Date: Tue, 20 Jun 2023 18:03:04 +0200 Subject: [PATCH 06/23] add a deprecation banner --- docs/docs/markers.mdx | 6 ++++++ docs/docs/monitoring/analytics/realtime-markers.mdx | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/docs/markers.mdx b/docs/docs/markers.mdx index ab2580d9e6da..99a285f0988e 100644 --- a/docs/docs/markers.mdx +++ b/docs/docs/markers.mdx @@ -14,6 +14,12 @@ This feature is currently experimental and might change or be removed in the fut ::: +:::danger + +In the upcoming release version 3.7 of Rasa Open Source, we’re removing this experimental feature. For documentation on the Markers feature in Rasa Pro, please [click here](./monitoring/analytics/realtime-markers.mdx) + +::: + ## Overview Markers are conditions that allow you to describe and mark points of interest in dialogues for evaluating your bot. diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx index 330411965bbc..bf9e36be7f31 100644 --- a/docs/docs/monitoring/analytics/realtime-markers.mdx +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -1,7 +1,7 @@ --- id: realtime-markers -sidebar_label: Real-time Markers -title: Real-time Analysis of Markers +sidebar_label: Real-Time Markers +title: Real-Time Analysis of Markers description: abstract: Process Markers real-time from Rasa Assistants to track metrics like solution and abandonment rates, From 8bd7dc2d7863c8e3ad21281821bfa39235989c86 Mon Sep 17 00:00:00 2001 From: vcidst Date: Tue, 20 Jun 2023 18:19:58 +0200 Subject: [PATCH 07/23] add rasa-pro-label --- docs/docs/command-line-interface.mdx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/docs/command-line-interface.mdx b/docs/docs/command-line-interface.mdx index c50f4e783731..736d14b844ec 100644 --- a/docs/docs/command-line-interface.mdx +++ b/docs/docs/command-line-interface.mdx @@ -664,8 +664,16 @@ Python Logging Options: ## rasa markers upload -This command is only relevant for Rasa Pro users with an Analytics Data Pipeline. -It applies to [markers](./markers.mdx) and their [real-time processing](./monitoring/analytics/realtime-markers.mdx). + + + + +:::info New in 3.6 + +This command is available from Rasa Pro 3.6.0 and requires [Rasa Analytics Data Pipeline](./monitoring/analytics/getting-started-with-analytics.mdx) +::: + +This command applies to [markers](./markers.mdx) and their [real-time processing](./monitoring/analytics/realtime-markers.mdx). Running this command validates the marker configuration file against the domain file and uploads the configuration to Analytics Data Pipeline ``` From 256952708ad6034253f0a0bd8ce4af1950bf41c7 Mon Sep 17 00:00:00 2001 From: vcidst Date: Tue, 27 Jun 2023 10:57:13 +0200 Subject: [PATCH 08/23] add realtime markers graphic --- .../monitoring/analytics/realtime-markers.mdx | 6 ++++-- docs/static/img/analytics/realtime-markers.png | Bin 0 -> 156161 bytes 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 docs/static/img/analytics/realtime-markers.png diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx index bf9e36be7f31..35d8a57184e0 100644 --- a/docs/docs/monitoring/analytics/realtime-markers.mdx +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -21,12 +21,14 @@ import { Grid } from "@theme/Grid"; -In Rasa Pro, [Markers](../../markers.mdx) is a powerful feature that allows +In Rasa Pro, [Markers](../../markers.mdx) are a powerful feature that allows you to track and extract custom conversational events. With the Analytics Data Pipeline, you can now process these Markers in real-time, enabling you to gain valuable insights and enhance the performance of your Rasa Assistant. In this guide, we'll explore how to leverage real-time -analysis of Markers to track solution rate and abandonment in your conversations. +analysis of Markers to track solution and abandonment rates in your conversations. + +![flow of information with realtime markers](/img/analytics/realtime-markers.png) ## Defining Markers diff --git a/docs/static/img/analytics/realtime-markers.png b/docs/static/img/analytics/realtime-markers.png new file mode 100644 index 0000000000000000000000000000000000000000..267a114ff8e212f26496a8fa7281d907de018755 GIT binary patch literal 156161 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�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 B&*A_8 literal 0 HcmV?d00001 From 0c3e7816cca09c3b3dbb348ad8551be8c6cc9320 Mon Sep 17 00:00:00 2001 From: andreaklmn Date: Wed, 28 Jun 2023 11:05:13 +0200 Subject: [PATCH 09/23] Update rasa-pro.mdx Links for PII and Markers under Read More have to be added! --- docs/docs/rasa-pro.mdx | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/docs/rasa-pro.mdx b/docs/docs/rasa-pro.mdx index 8be08d9982c3..d6e7f297c5c0 100644 --- a/docs/docs/rasa-pro.mdx +++ b/docs/docs/rasa-pro.mdx @@ -5,7 +5,7 @@ title: Rasa Pro hide_table_of_contents: true --- -Rasa Pro is the commercial, pro-code offering of Rasa that’s built to address enterprise needs +Rasa Pro is the commercial, pro-code offering of Rasa built to address enterprise needs around security, observability and scale. Rasa Pro integrates seamlessly with enterprise technology stacks and is the recommended platform @@ -44,6 +44,18 @@ Resolve performance issues faster and identify bottlenecks in message handling a [Read more here](./monitoring/tracing.mdx). +### PII Handling + +Anonymize PII (Personal Identifiable Information) in logs and events streamed via the Kafka event broker. + +[Read more here] + +### Real-Time Markers + +Mark points of interest in conversations to support the targeted analysis of user journeys real time. + +[Read more here] + ### Secrets Management Enhance security with our seamless Vault integration, enabling dynamic credential rotation for Rasa databases without system disruptions. @@ -53,3 +65,9 @@ Enhance security with our seamless Vault integration, enabling dynamic credentia ### Security Scanning for Vulnerability Protection Nightly and proactive security patches on your docker image to make sure dependencies are always up to date. + +### Spaces (Alpha Release) + +Modularize your assistant for better scaling and team collaboration. + +[Read more here](./spaces.mdx) From bd7d6b222ea12b36d2f13ea263edd6e218788592 Mon Sep 17 00:00:00 2001 From: Shailendra Paliwal Date: Sat, 1 Jul 2023 18:17:29 +0200 Subject: [PATCH 10/23] Update docs/docs/monitoring/analytics/realtime-markers.mdx Co-authored-by: andreaklmn --- docs/docs/monitoring/analytics/realtime-markers.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx index 35d8a57184e0..89b46604ccf4 100644 --- a/docs/docs/monitoring/analytics/realtime-markers.mdx +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -79,7 +79,7 @@ interests in the conversation that matches the marker. The extracted markers are in the data warehouse. The evaluation of Markers in the Pipeline is similar to the `rasa evaluate markers` -command which can be used to process markers from the conversations in Tracker Store. +command which can be used to process Markers from the conversations in Tracker Store. Read more about it [here](../../markers.mdx/#extracting-markers) Extracted markers are added to the `rasa_markers` table in the data warehouse From c331aef4e3112ec1c4386ba75cc8e61f106d85c7 Mon Sep 17 00:00:00 2001 From: Shailendra Paliwal Date: Sat, 1 Jul 2023 18:17:39 +0200 Subject: [PATCH 11/23] Update docs/docs/command-line-interface.mdx Co-authored-by: andreaklmn --- docs/docs/command-line-interface.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/command-line-interface.mdx b/docs/docs/command-line-interface.mdx index 736d14b844ec..e3dc88ddc8a0 100644 --- a/docs/docs/command-line-interface.mdx +++ b/docs/docs/command-line-interface.mdx @@ -716,7 +716,7 @@ Python Logging Options: will be set to the given name. (default: None) Description: - The `rasa markers upload` command allows you to upload Markers to the Rasa Pro Services. Markers are custom conversational events that provide additional context for analysis and insights generation. By uploading Markers, you can enable real-time analysis and enhance the performance of your Rasa Assistant. + The `rasa markers upload` command allows you to upload markers to the Rasa Pro Services. Markers are custom conversational events that provide additional context for analysis and insights generation. By uploading markers, you can enable real-time analysis and enhance the performance of your Rasa Assistant. Examples: Upload Markers to Rasa Pro Services: From 88ded25310b7fad39e45f4077c5f2b7bd43479f2 Mon Sep 17 00:00:00 2001 From: Shailendra Paliwal Date: Sat, 1 Jul 2023 18:17:48 +0200 Subject: [PATCH 12/23] Update docs/docs/markers.mdx Co-authored-by: andreaklmn --- docs/docs/markers.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/markers.mdx b/docs/docs/markers.mdx index 99a285f0988e..72f2c88f76e8 100644 --- a/docs/docs/markers.mdx +++ b/docs/docs/markers.mdx @@ -181,7 +181,7 @@ You cannot reuse an existing marker name in the definition of another marker. :::info -Rasa Pro supports real-time processing of Markers, Read more about [Real-Time Markers](monitoring/analytics/realtime-markers.mdx) +Rasa Pro supports real-time processing of markers, Read more about [Real-Time Markers](monitoring/analytics/realtime-markers.mdx) ::: From 83855716556f21170fb7b8f8362b0e3304df5270 Mon Sep 17 00:00:00 2001 From: Shailendra Paliwal Date: Sat, 1 Jul 2023 18:17:57 +0200 Subject: [PATCH 13/23] Update docs/docs/monitoring/analytics/realtime-markers.mdx Co-authored-by: andreaklmn --- docs/docs/monitoring/analytics/realtime-markers.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx index 89b46604ccf4..bbbc7c6cec47 100644 --- a/docs/docs/monitoring/analytics/realtime-markers.mdx +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -37,7 +37,7 @@ for details about defining Markers. ## Enable Real-time Processing -To enable real-time analysis of Markers in your Rasa project, you need to +To enable real-time analysis of markers in your Rasa project, you need to upload the markers to Analytics Data Pipeline with the `rasa markers upload` command. This command uploads the marker configuration YAML and starts the processing of Markers in the Analytics Data Pipeline. To get started, From b5a0fabccd015ab70c93185a23a9c391ad584ebc Mon Sep 17 00:00:00 2001 From: Shailendra Paliwal Date: Sat, 1 Jul 2023 18:18:05 +0200 Subject: [PATCH 14/23] Update docs/docs/monitoring/analytics/realtime-markers.mdx Co-authored-by: andreaklmn --- docs/docs/monitoring/analytics/realtime-markers.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx index bbbc7c6cec47..7adf348c9581 100644 --- a/docs/docs/monitoring/analytics/realtime-markers.mdx +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -33,7 +33,7 @@ analysis of Markers to track solution and abandonment rates in your conversation ## Defining Markers Please consult the [Markers](../../markers.mdx/#defining-markers) section of Rasa documentation -for details about defining Markers. +for details about defining markers. ## Enable Real-time Processing From 078917313a0d76fc9ea9123be73fddd5bd9c122f Mon Sep 17 00:00:00 2001 From: Shailendra Paliwal Date: Sat, 1 Jul 2023 18:18:12 +0200 Subject: [PATCH 15/23] Update docs/docs/monitoring/analytics/realtime-markers.mdx Co-authored-by: andreaklmn --- docs/docs/monitoring/analytics/realtime-markers.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx index 7adf348c9581..1f115f0a5473 100644 --- a/docs/docs/monitoring/analytics/realtime-markers.mdx +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -26,7 +26,7 @@ you to track and extract custom conversational events. With the Analytics Data Pipeline, you can now process these Markers in real-time, enabling you to gain valuable insights and enhance the performance of your Rasa Assistant. In this guide, we'll explore how to leverage real-time -analysis of Markers to track solution and abandonment rates in your conversations. +analysis of markers to track solution and abandonment rates in your conversations. ![flow of information with realtime markers](/img/analytics/realtime-markers.png) From fb32a4ed8665e06aba92531c5d7b9e83a4f429bd Mon Sep 17 00:00:00 2001 From: Shailendra Paliwal Date: Sat, 1 Jul 2023 18:18:18 +0200 Subject: [PATCH 16/23] Update docs/docs/monitoring/analytics/realtime-markers.mdx Co-authored-by: andreaklmn --- docs/docs/monitoring/analytics/realtime-markers.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx index 1f115f0a5473..5a14a5aa3257 100644 --- a/docs/docs/monitoring/analytics/realtime-markers.mdx +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -23,7 +23,7 @@ import { Grid } from "@theme/Grid"; In Rasa Pro, [Markers](../../markers.mdx) are a powerful feature that allows you to track and extract custom conversational events. With the Analytics -Data Pipeline, you can now process these Markers in real-time, enabling +Data Pipeline, you can now process these markers in real-time, enabling you to gain valuable insights and enhance the performance of your Rasa Assistant. In this guide, we'll explore how to leverage real-time analysis of markers to track solution and abandonment rates in your conversations. From 23b8b2c048931604e29028194ebaab93c2402bd2 Mon Sep 17 00:00:00 2001 From: Shailendra Paliwal Date: Sat, 1 Jul 2023 18:18:25 +0200 Subject: [PATCH 17/23] Update docs/docs/monitoring/analytics/realtime-markers.mdx Co-authored-by: andreaklmn --- docs/docs/monitoring/analytics/realtime-markers.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx index 5a14a5aa3257..896058649fe8 100644 --- a/docs/docs/monitoring/analytics/realtime-markers.mdx +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -3,7 +3,7 @@ id: realtime-markers sidebar_label: Real-Time Markers title: Real-Time Analysis of Markers description: -abstract: Process Markers real-time from Rasa +abstract: Process markers real-time from Rasa Assistants to track metrics like solution and abandonment rates, add metatags to conversations, or filter conversations for Conversation Driven Development From ce70b0dee5e0bad91cba13bec2db2d791c7c3e8e Mon Sep 17 00:00:00 2001 From: Shailendra Paliwal Date: Sat, 1 Jul 2023 18:18:32 +0200 Subject: [PATCH 18/23] Update docs/docs/markers.mdx Co-authored-by: andreaklmn --- docs/docs/markers.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/markers.mdx b/docs/docs/markers.mdx index 72f2c88f76e8..9414314f68de 100644 --- a/docs/docs/markers.mdx +++ b/docs/docs/markers.mdx @@ -16,7 +16,7 @@ This feature is currently experimental and might change or be removed in the fut :::danger -In the upcoming release version 3.7 of Rasa Open Source, we’re removing this experimental feature. For documentation on the Markers feature in Rasa Pro, please [click here](./monitoring/analytics/realtime-markers.mdx) +In the upcoming release version 3.7 of Rasa Open Source, we’re removing this experimental feature. For documentation on the markers feature in Rasa Pro, please [click here](./monitoring/analytics/realtime-markers.mdx) ::: From 61f6052267130bfb0d3c6ebabe816d4c669f543d Mon Sep 17 00:00:00 2001 From: vcidst Date: Sat, 1 Jul 2023 18:18:56 +0200 Subject: [PATCH 19/23] rephrase sentence in rasa_marker --- docs/docs/monitoring/analytics/data-structure-reference.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/monitoring/analytics/data-structure-reference.mdx b/docs/docs/monitoring/analytics/data-structure-reference.mdx index 96ef726939e6..9f6fc95435e5 100644 --- a/docs/docs/monitoring/analytics/data-structure-reference.mdx +++ b/docs/docs/monitoring/analytics/data-structure-reference.mdx @@ -838,8 +838,8 @@ Time of the last update of the pattern in this session. The timestamp is a UTC. ### rasa_markers -Markers are the extracted markers from the conversations. Each row in this table corresponds -to a marker along with details of the pattern, sender, session and the event +Extracted markers from the conversations. Each row in this table corresponds +to a marker along with details of the pattern, sender, session and the last event where it was extracted. #### `id` marker identifier From f253589600c25368692b38950e8b8ada5db5b362 Mon Sep 17 00:00:00 2001 From: vcidst Date: Sun, 2 Jul 2023 09:54:50 +0200 Subject: [PATCH 20/23] rephrased to remove the term "marker definition" --- .../monitoring/analytics/realtime-markers.mdx | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/docs/docs/monitoring/analytics/realtime-markers.mdx b/docs/docs/monitoring/analytics/realtime-markers.mdx index 896058649fe8..e32efee33cb0 100644 --- a/docs/docs/monitoring/analytics/realtime-markers.mdx +++ b/docs/docs/monitoring/analytics/realtime-markers.mdx @@ -39,9 +39,12 @@ for details about defining markers. To enable real-time analysis of markers in your Rasa project, you need to upload the markers to Analytics Data Pipeline with the `rasa markers upload` -command. This command uploads the marker configuration YAML and starts the -processing of Markers in the Analytics Data Pipeline. To get started, -make sure you have the latest version of Rasa installed. Then, open your command line +command. This command validates the marker YAML against the domain file to +make sure all the slots, intents and actions referred in the file also exist +in the domain and uploads the marker configuration YAML to the +Analytics Data Pipeline (where they're persisted in a database) and exits. +To get started, make sure you have the latest +version of Rasa installed. Then, open your command line interface and navigate to your Rasa project directory. Run the following command: ``` @@ -71,19 +74,22 @@ for more information about the command line arguments available. ## How are Markers processed? -Once the marker definitions are uploaded to the Analytics Data Pipeline, they -are stored in the `rasa_patterns` table. As the Kafka Consumer starts receiving events +The markers YAML file describes the pattern of events for marker extraction. +Once the YAML files are uploaded, the patterns to be used for marker extraction are +stored in the `rasa_patterns` table. As the Kafka Consumer starts receiving events from the Rasa Assistant, it starts analyzing them for markers. The Pipeline processes all the events from the Kafka Event Broker and identifies points of -interests in the conversation that matches the marker. The extracted markers are stored -in the data warehouse. +interest in the conversation that match the marker. The extracted markers are then stored +in the `rasa_marker` table. The evaluation of Markers in the Pipeline is similar to the `rasa evaluate markers` command which can be used to process Markers from the conversations in Tracker Store. Read more about it [here](../../markers.mdx/#extracting-markers) -Extracted markers are added to the `rasa_markers` table in the data warehouse -immediately once they are processed. There might also be instances where -a marker is applied several times in a conversation. Check out the -[Data Structure Reference](data-structure-reference.mdx/#rasa-markers) page for the +Extracted markers are added to the `rasa_markers` table in the database +immediately once they are processed. Each row in this table contains +the foreign key identifiers for the pattern, session, sender and +last event when marker was extracted along with `num_preceding_user_turns` +which tracks the number of turns preceding the event at which the marker applied. +Check out the [Data Structure Reference](data-structure-reference.mdx/#rasa-markers) page for the database schema of relevant tables. From 81048b727dd369fa5ce82de6b9fce64a674211d1 Mon Sep 17 00:00:00 2001 From: Maxime Vdb Date: Mon, 3 Jul 2023 11:29:52 +0200 Subject: [PATCH 21/23] Add link to PII docs Co-authored-by: andreaklmn --- docs/docs/rasa-pro.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/rasa-pro.mdx b/docs/docs/rasa-pro.mdx index d6e7f297c5c0..33bebbdb115a 100644 --- a/docs/docs/rasa-pro.mdx +++ b/docs/docs/rasa-pro.mdx @@ -48,7 +48,7 @@ Resolve performance issues faster and identify bottlenecks in message handling a Anonymize PII (Personal Identifiable Information) in logs and events streamed via the Kafka event broker. -[Read more here] +[Read more here] (./pii-management.mdx) ### Real-Time Markers From f9debbc96a814c72d56dc122c29527fbf4b1f796 Mon Sep 17 00:00:00 2001 From: Maxime Vdb Date: Mon, 3 Jul 2023 11:30:39 +0200 Subject: [PATCH 22/23] Fix link format --- docs/docs/rasa-pro.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/rasa-pro.mdx b/docs/docs/rasa-pro.mdx index 33bebbdb115a..3a56a75639cb 100644 --- a/docs/docs/rasa-pro.mdx +++ b/docs/docs/rasa-pro.mdx @@ -48,7 +48,7 @@ Resolve performance issues faster and identify bottlenecks in message handling a Anonymize PII (Personal Identifiable Information) in logs and events streamed via the Kafka event broker. -[Read more here] (./pii-management.mdx) +[Read more here](./pii-management.mdx) ### Real-Time Markers From bd73bd614507d9c57ee16bd88ab86c58a01fa800 Mon Sep 17 00:00:00 2001 From: Maxime Vdb Date: Mon, 3 Jul 2023 11:50:10 +0200 Subject: [PATCH 23/23] Add link to markers docs Co-authored-by: andreaklmn --- docs/docs/rasa-pro.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/rasa-pro.mdx b/docs/docs/rasa-pro.mdx index 3a56a75639cb..b1ab3353a92f 100644 --- a/docs/docs/rasa-pro.mdx +++ b/docs/docs/rasa-pro.mdx @@ -54,7 +54,7 @@ Anonymize PII (Personal Identifiable Information) in logs and events streamed vi Mark points of interest in conversations to support the targeted analysis of user journeys real time. -[Read more here] +[Read more here](./monitoring/analytics/realtime-markers.mdx) ### Secrets Management