Tryout
I see errors in Tryout
- Teneo Studio Desktop
- Teneo Studio Web
| Error type | Error message | Implication | Resolution |
|---|---|---|---|
| Error | Unexpected error creating engine[Unable to create solution item - Document type GEN_AI_PERSONALITY with id [...] could not be found | A required document to create a complete Gen AI prompt is missing. Engine cannot be created. | A Gen AI Goal links to a missing Personality |
| Error | Unexpected error creating engine[Unable to create solution item - Document type GEN_AI_GOAL with id [...] could not be found | A required document to create a complete Gen AI prompt is missing. Engine cannot be created. | A Gen AI Annotator, Action, or Output is linked to a missing Goal |
| Error | Unexpected error creating engine Unable to create solution item - Document type GEN_AI_ANNOTATOR with id [...] could not be found | A required document to create a complete Gen AI prompt is missing. Engine cannot be created. | A Gen AI match is linked to a missing Annotator |
| Error | Unexpected error creating engine Unable to create solution item - Document type GEN_AI_HANDLER with id [...] could not be found | A required document to create a complete Gen AI prompt is missing. Engine cannot be created. | A Gen AI Goal is linked to a missing Handler |
| Error | Unexpected error creating engine Unable to create solution item - Document type GLOBAL_VARIABLE with id [...] could not be found | A required document to create a complete Gen AI prompt is missing. Engine cannot be created. | A Gen AI Action is linked to a missing Global Variable |
| Error | Solution inconsistency: Flow [Flow name] (Flow Id): Vertex [Transition name] (Id) references unknown target flow ID: [name/null] | Parsing the solution fails, the Tryout Engine doesn't start | To remove this error message, the user should edit the Flow: either delete the Flow Link node from the Flow or link to a Flow existing in the solution |
| Error | Parsing solution failed: Language component [Name] is self-referencing | Parsing the solution fails, the Tryout Engine doesn't start | To correct this error, the user should update the Language Object or Entity to not contain a reference to its own name; reload the Tryout Engine as described here |
| Error | Parsing solution failed: Language object / entity contains itself | Parsing the solution fails, the Tryout Engine doesn't start | To correct this error, the user should update the Language Object or Entity to not contain a reference to its own name; reload the Tryout Engine as described here |
| Error | Model update failed. Error in learn server: Feature extraction failed. The training data should contain at least one example that contains 4 or more characters | Parsing the solution fails, the Tryout Engine fails | Update the training data in the affected Class(es) in the Class Manager |
| Error | Model update failed. Error training model and updating Engine. Reload required. | Click the lower part of the Restart button (in the top ribbon of the Tryout window) and select Reload Engine; also here | |
| Warning | Flow [Flow name] (Flow ID): Trigger [Trigger name] (Trigger ID): Match Requirement (MR ID): Condition syntax error: ... | TLML syntax errors cover a broad range of syntax errors which can occur in a solution, see below the table for more information. | |
| Warning | Flow [Flow name] (Flow ID): Trigger [Trigger name] (Trigger ID): Match Requirement (MR ID): Condition uses undefined Language Object / Entity: [name detected] | Match linked to removed/missing document | |
| Warning | Flow [Flow name] (Flow ID): Trigger [Trigger name] (Trigger ID): Match Requirement (MR ID): Condition option :C is deprecated and has no effect anymore, it's safe to delete it | Deprecated TLML Syntax option | |
| Warning | Language Object / Entity [Name]: Condition uses undefined Language Object / Entity: [Name] | Learn how to create a new Language Object or an Entity | |
| Warning | Undeclared variable being set: [Variable name]. Add a session/flow/local variable declaration to remove this warning. | Learn how to create Flow Variables and Global Variables | |
| Error | Unexpected error creating engine [Directory missing /usr/local/teneo/domains/studio/temp/(...)/languages/en] | Parsing the solution fails, the Tryout Engine fails | |
| Error | Unexpected error creating engine [The current account does not contain any CLU settings.] | Parsing the solution fails, the Tryout Engine fails | Check the Account's CLU Settings or, alternatively, make an update in the Class Manager to activate the training of a Learn model. |
TLML syntax errors
The TLML syntax error messages displayed in the Tryout are also displayed in the backstage of Teneo Studio under Suggestions (Solution tab > Optimization > Suggestions) and covers the below listed errors; for more information on how to correct these, please see the TLML Reference Manual page, Troubleshooting TLML Syntax or visit the TLML Reference Manual.
- Closing parenthesis directly after operator, read more
- Compound-operator may only be used with single words without options; read more
- Condition options not allowed; read more
- Condition predicate script / variable propagation script not allowed;
- read more
- Condition terminated incorrectly; read more
- First operand missing; read more
- Incomplete dynamic word condition; read more
- Incomplete successor or topic condition; read more
- Invalid number of quotes; read more
- Missing opening brace; read more
- Missing opening parenthesis; read more
- Missing or invalid option value; read more
- Name of language object / entity is missing; read more
- Operator at invalid location; read more
- Operator expected; read more
- Parenthesis not closed;
- read more
- Script condition terminated incorrectly;
- read more
- Successor condition not supported; read more
- Unterminated condition comment; read more
- Whitespace not allowed before opening brace of condition predicate / propagation script; read more
Restart and Reload
The user can Restart a conversation or session in the Tryout to reset, for example, Global variable values in order to keep testing a certain Flow making use of those variables. Reload can be used to recreate the Tryout Engine instance, this allows to reload the entire solution and fetch any changes performed by collaborators which are not automatically loaded into the current Tryout Engine instance although they are visible when opening a document (i.e. a Flow).
The Tryout in Teneo Studio Web provide users with various messages related to the solution and Teneo Studio, below please find an overview of these messages as well as suggestions to how to resolve issues detected.
| Error type | Error message | Resolution |
|---|---|---|
| Warning | Oops, it seems that an engine is already running for the same solution in another tab. | Close Tryout in one of the browsers windows and try again |
| Information | Loading solution | When opening a solution and opening the Tryout right away, the "Loading solution" message is displayed; waiting a few seconds should give Teneo time to prepare the Tryout Engine. |
| Information | A reload of the engine is required to apply your recent changes | Click the reload button next to the message to reload the Engine |
| Information | Training model | While the machine learning model is being trained, the "Training model" message is displayed, read more |
| Error | Tryout was shut down | This can happen due to various reasons, clicking the Start Tryout here button allows to restart the Tryout |
| Error | Tryout is already running for the solution [solution name] | This can happen if Tryout is already running in another tab for another solution, clicking the Start Tryout here button allows to restart the Tryout |
I see warnings in Tryout
So there you are, building flows and chatting away in Tryout! How do you know whether there are any warnings or error messages? The Tryout panel makes it easy to find out.
Warnings in Tryout appear as yellow warning triangles. When you see one, go to the Tryout window, then open the Messages panel to find more information about what went wrong and where.
If the error occurred within a flow, you will see a link to the flow and a link to the node or transition (vertex) within the flow at the point where the error occurred. If you click the vertex link, the corresponding flow will automatically open in edit mode with the associated location pre-selected. The procedure is basically the same for each type of error: find where it happened, go there, and fix it. The entire process could look something like this, where we've introduced a typo in a variable name in the order summary:
Warning: Condition uses undefined language object
The Tryout engine will tell you right away if it can't find a particular language object that you refer to in a language condition. If you see a large number of missing language object warnings when you start Tryout, it could mean that your solution is missing an important language resource, such as the Lexical Resources. This is easy to fix. Follow the instructions given here to be sure you have correctly included the Lexical Resources as a solution resource. If this is about another lexical resource dependency, be sure that you have correctly linked that as well.
Otherwise, this message usually means that a particular language object is missing, disabled, or maybe misspelled somewhere. Make sure the required language object exists and is spelled correctly in all the references.
If you are using the Teneo Dialogue Resources template for your solution but neglected to assign the Lexical Resources, you will notice thousands of errors in Tryout. But don't worry: once you've assigned the Lexical Resources these will all disappear.
Warning: Condition syntax error
A syntax error in a language condition can occur at any location where language conditions are used: in syntax triggers, transitions, listeners, or language objects. You'll see these types of errors immediately in Tryout, even before you start testing. The Tryout engine notices and flags all condition inconsistencies when loading the solution. In the Messages panel, you can see a preview of the condition, and you can click into the exact location where the error can be fixed. The error messages begin with the text Condition syntax error followed by a brief description of the problem. Usually, that is enough to know what you have to fix and where. Also, while you are editing a language condition, the condition editor will highlight syntax errors in red.
Examples of condition syntax errors you might see include: Condition syntax error: Condition terminated incorrectly Condition syntax error: Missing opening parenthesis Condition syntax error: Operator at invalid location etc...
If you saw a message like this in Tryout:

You would click into the trigger and find this condition, with the superfluous parenthesis highlighted by the condition editor. All you have to do is correct the condition and save:

Warning: (Groovy) Script errors
Sometimes a simple Groovy syntax error in a script, in a script node, or even embedded in a language condition can disrupt your session. What you see in Tryout is the same as what would happen in the live version, if left uncorrected. As soon as Teneo receives a script error, it interrupts the script it was running. Try to troubleshoot the cause by carefully reading the error message displayed. Perhaps a global variable definition was forgotten, or a variable name was misspelled? Ultimately, these error messages look worse than they really are. Remember, you can also add debug code e.g. a println statement to show information in the Engine panel during script processing. Note also that if an infinite loop is encountered, Teneo interrupts the script in question, leading to an undefined state.
If you're getting a script error, the description first reveals the location at which it occurred, including the line number (if applicable), followed by a description of what went wrong. Usually you'll see a text like Script syntax error or Bad script expression. The solution is to go to the location and find out what went wrong. If the error occurred within a flow, you can click into the location straight away.
Warning: Dropping stuck flow
Once Teneo triggers a flow, and at each turn of the conversation while in the flow, its job is to traverse the nodes and transitions until an answer can be constructed. As a rule, you can connect any kind of node in your flow design, but there must always be a path that successfully ends at an output node. If the flow design prevents this from happening, Teneo will show a Dropping stuck flow message, then drop the flow and continue checking the last user input against the remaining available triggers until the next flow is found (often the safety net). The effect while testing is that a completely different response is given than expected. Fortunately, a stuck flow is fairly easy to spot in Tryout:

Looking at the icons under the response, you'll see a stuck flow symbol, as well as a more detailed message in Messages.
In this example we enter the flow at a junction, but the outgoing transitions are set to 'Gets input before continuing'. This should only be done after an output was given where we want to wait for a response. In this version of the flow we've introduced an error by setting the transitions to Get input before continuing:
