Put simply, Exuders are things the AI can say. Absorbers pair with Exuders, in that SILVIA picks Exuders by the Absorber you trigger. Behaviors with no Exuders cannot execute. The length of the Exuder’s text is used to calculate an approximate time, to allow for speech and performance pacing.
An Exuder is a language-specific filter to help SILVIA construct human language output. There can be multiple Exuders for a Behavior. They can be exact or they can vary, they can also be dynamic and based on Concept relations and other Exuders that are set to be reused.
When working within a SILVIA Brain File, Exuders that are part of an already saved boot Behavior will trigger upon startup. Below is an example of a few different Exuders SILVIA might issue when booting up an application and greeting the user. One of these Exuders will run when the Brain File boots. Two of them make use of Variable tokens to speak the time of day and the day of the week on boot.
Excepting the Boot and Exit Behaviors, generally SILVIA needs to have an Absorber input or a Script command before it can generate an Exuder output, but the Core can jump to Exuder-only Behaviors via script commands as well. See the ApiBrain().SetJump and ApiBrain().SetBypass methods in the API section hereinbelow.
If a Behavior has no Exuders, it may never execute unless it has scripts in its Validation layer that are performing functions, since there is nothing official to execute otherwise.
Create silent Behaviors by adding an Exuder and setting its text to [Silence], enabling the full SILVIA script stack to process without actually printing or speaking anything back to the user during that Behavior.
If a Concept in an Exuder is within square brackets “[ ]”, it will be automatically treated as dynamic, independent of surrounding content.
Variable Tokens preceded by “$” or “$_” may be used in Exuders. System Variables include “$_wild”, “$_wild2”, “$_a”, “$_u”, etc. If a Variable is not present and an Exuder includes that Variable, it cannot be executed; setting a Variable null will thus prevent execution of any Behavior that uses it in Exuder text. For instance, the below Exuder cannot be executed if the Variable “$origin” is null, its Token is unavailable.
There are several options to flag that will change how SILVIA uses Exuder responses:
Absorber: I’m hungry
With the ‘Dynamic’ box checked, SILVIA will synthesize a dynamic response from the Concept ‘Restaurant’. Any corresponding Exuders that have been flagged for ‘Re-Use’ that are relevant will be used by SILVIA to construct her own response.
The words placed in the Context field must already be present in SILVIA’s recent conversational memory in order to be considered. You can list multiple words within brackets, and SILVIA will consider any one of them as relevant. All words outside of brackets are required in order for the Exuder to be used.