Exuders

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.

Exuders

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.

Variable Tokens

Variable Tokens2

There are several options to flag that will change how SILVIA uses Exuder responses:

  • Exact: When flagged, SILVIA’s Exuder response to the Behavior’s Absorber will be exactly what is typed into the Exuder text. SILVIA will not substitute words or phrases that have been bound through the Concept Editor.
  • Dynamic: When flagged, SILVIA will use the words in the Exuder to generate dynamic content that pulls from any other Exuders that have been flagged with the ‘Reuse’ flag. When flagging dynamic content, the Exuder text box should not contain full sentences, just Concepts.
    • Example:
      Absorber: I’m hungry
      Exuder: Restaurant
      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.
  • Reuse: Flags the Exuder response text as being Reusable by other Behaviors that are generating content dynamically.
  • Context: Words can be placed in this field to assist SILVIA in selecting contextually relevant Exuders when the Concept of the Absorber has multiple meanings.
  • 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.

  • Tag Editor: Click to show or collapse the PAGER Tag Editor for this Exuder. See below for information on using the PAGES System and the Tag Editor.
  • Scripts: Shortcut to open Scripting Console for the selected Exuder ID.
  • Data: Displays a pop-up window that a user may input text-based (plain text or XML) data that should be attached to an Exuder.
  • Speak: Makes SILVIA say whatever is in the Exuder text box exactly, this can be used to test SILVIA’s text-to-speech output.
  • Delete: Removes the Exuder from the Behavior.