Virtual Assistant
With a virtual assistant, it is possible to talk to several bots in one conversation and to create pipeline steps to allow a variety of features such as redaction and translation, among other conversational features.
A Virtual Assistant has the following components:
- NLU Engine: NLP used for bot classification. NLU Config
- Dispatcher: Manages orchestration of a multi bot configuration.
- Bot Array: A set of bots that a dispatcher can route user input to.
- Pipelines: A series of steps than can be done as messages are entering (IngressPipeline) or leaving (EgressPipeline) the ServisBOT system
- Events: Actions tied to non-input related triggers such as session starts, or missed inputs
- Endpoints: A default endpoint is created automatically when creating a virtual assistant. For additional endpoints make sure the target reference type is set to
va
.
NLU configurations
Creating a VA Tutorial
Example VA Configurations
{
"Name" : "MoneyTransferVa",
"Description": "A virtual assistant to aid monetary transfers",
"DefaultBotId": "info-bot",
"Bots" : [
{
"Type": "BOTARMY",
"Id": "info-bot",
"Enabled": true,
"Properties": {
"Name": "info-bot"
}
},
{
"Type": "BOTARMY",
"Id": "info-bot",
"Enabled": true,
"Properties": {
"Name": "transfer-bot"
}
},
],
"NluEngines": [
{
"Id": "TestVADispatcher",
"Type": "BOTARMY",
"Properties": {
"Secret": "srn:vault::netscapestg:aws-cross-account-role:awscontent-lex-x-role",
"Nlp": "Lex"
}
}
],
"IngressPipeline": [
{
"Id": "CreditCardRedact",
"Type": "REGEX_REDACT",
"Properties": {
"Regex": "(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}"
}
}
],
"EgressPipeline": [],
"Events": {
"@SessionStart": [
{
"Id": "sessionStartMessage",
"Type": "SEND_MESSAGE",
"Properties": {
"Message": "Welcome to the transfer VA. Type 'help' for more info about what I do, or 'transfer' to make a monetary transfer."
}
},
],
"@MissedInput": []
},
"Persona": "ReportBOT",
"Tags": []
}
VA Properties
- Name: The name of the VA (Required)
- Description: A description of the VA (Optional)
- DefaultBotId: The ID of a bot to assign to the VA by default (Optional)
- Bots: An array of bots that the VA manages (Required, minimum of 1 bot)
- Type: The Bot type. Supported types are MOCK, BOTARMY, RASA (Required)
- Id: A custom ID which is used to refer to this bot elsewhere in the VA config (Required)
- Enabled: Controls whether a bot can be routed to by the VA or not
- Properties: Other properties (Required)
- Name: The name of the bot being referred to.
- NluEngines: The NLU engine used to parse user input, allowing for natural language recognition. (Required)
- Id: A custom ID used to refer to this NLU engine elsewhere in the VA config. (Required)
- Type: The NLU engine type. Supported types are Lex and RASA. (Required)
- Handlers: An array of different actions triggered by regex (Required)
- IngressPipeline: A series of steps that occur when a message is sent to the VA. The steps here can include redaction for masking sensitive information, language translation, and more. (Optional)
- EgressPipeline: The same as the IngressPipeline, just with messages that are sent out from the VA. (Optional)
- Events: An array of events that trigger actions. (Optional) Supported events are:
- @SessionStart: Triggers at the beginning of a conversation.
- @MissedInput: Triggers when an incoming event cannot be understood and/or acted upon by a Bot or NLU engine.
- @Exception: Triggers when a transient error occurs.
- Persona: Sets the appearance of the bot in Portal (Optional)
- Tags: Arbitrary tags for categorizing your VA. (Optional)