Model

The "Model" tab is where you can review and enforce relationships / join patterns between tables.

By default, Lumi AI forms its own understanding of the model based on the Tables (and some extent Business Context) definitions provided. However, sometimes explicit definitions need to be applied when joins are not obvious or intuitive.

Understanding Join Types

In Lumi there are two types of joins:

  • Implicit: This is an "inferred" join between two tables. An assumption is made based on field name (semantic name) similarity between tables. Lumi AI may use the implicit definition to join two tables when forming a query.

  • Explicit: This is a user-defined join suggesting which tables join on which fields.

In all cases, there is no assumption made for LEFT, RIGHT, INNER, OUTER joins, these are just generically available and the exact join type is contextual to the prompt/analysis being conducted rather than universal.

Note that just because an "implicit join" exists between two tables, it does not guarantee Lumi AI will use it in processing. For example, if you have create_dt in table item and the same field in table invoice_line. Lumi AI will make rational assumptions to the best of its ability if its a valid join or not.

If the join is problematic, you can:

  • rename the field in one of the tables or

  • define explicit joins for the preferred behaviour

Visualizing the Model

Two modes of visualization are made available:

  • Network: This is the default view for the model and spaces out the tables based on their existing relationships (existing implicit and explicit). Tables that have more joins together tend to cluster together, highlighting tables that are more "central" to the model, loosely.

  • Flowchart: This is an alternative view, focussed on patterns of relationships from one table to the next. Works well for heavily hierarchical models.

These are purely for user appreciation, and have no impact on Lumi AI's performance during prompt processing.

Exploring the Model, Tables, and Joins

All tables are draggable, so you can reorder/reorganize the screen as you see fit.

Note that today, you cannot save the visualization preference for others, it is only stored locally for your session.

Joins have two parts:

  • Type: Dictated by a dashed line (implicit) or a solid line (explicit).

  • Field Count: Indicated as a circled number in the middle, this represents how many fields are used in the join.

You can click on any join (implicit or explicit) to understand more information (specifically the fields that are associated with the join from two connected tables).

Last updated