AI has generated a massive amount of hype in the BI world over the past several years, and rightfully so! Leveraging it against your company’s data can save time, money, and headaches. But there’s a catch: most AI-powered analytics don’t actually understand your business. Generic LLMs can generate SQL, but they don’t know what something like “revenue” really means at your company. This means queries run, but quietly return the wrong answers.
To avoid making decisions based on AI slop, companies should pair AI with a semantic modeling layer. A semantic modeling layer provides the context (metrics, dimensions, joins, & definitions) for the AI to understand your business and return reliable results. Omni is purpose-built for this pairing.
Two Parameters that Optimize AI in Omni
There are two specific parameters in Omni’s model that help you get the most out of AI. First is the ai_context parameter, and second is sample_queries. If you’d like templates for your ai_context parameter, see our blog post here. This post focuses on Sample Queries.
What are Sample Queries?
Sample queries are examples you add at the model or topic level to show Blobby (Omni’s AI) how your business typically retrieves data. These should be queries that are commonly run by your team– they’ll improve the quality of generated results.
**Sample Queries Topic-level Example
(Domain-specific facts + do’s and don’ts)**
Pro Tip: You can save a workbook query as a sample query to a topic by clicking Model > Save as sample query to topic.
Below are example queries from our own model that inform Blobby how to retrieve data:
Active Trials:
query:
fields:
[
salesforce__opportunity.name,
salesforce__opportunity_owner.name,
salesforce__opportunity.lead_solutions_engineer,
salesforce__opportunity.stage_name,
salesforce__opportunity.close_date,
salesforce__opportunity.i_arr_c
]
base_view: salesforce__opportunity
filters:
salesforce__opportunity.is_closed:
is: false
salesforce__opportunity.opp_in_trial:
is: true
limit: 1000
sorts:
- field: salesforce__opportunity.close_date
topic: salesforce__opportunity
description: Show a list of all active trials
exclude_from_ai_context: false
Deals Won This Quarter:
query:
fields:
[
salesforce__opportunity.name,
salesforce__opportunity_owner.name,
salesforce__opportunity.lead_solutions_engineer,
salesforce__opportunity.close_date,
salesforce__opportunity.competitors_c,
salesforce__opportunity.data_tools_in_use_c,
salesforce__opportunity.stage_name,
salesforce__opportunity.total_iarr
]
base_view: salesforce__opportunity
filters:
salesforce__opportunity.is_won:
is: true
salesforce__opportunity.close_date:
time_for_duration: [ 1 fiscal quarter ago, 1 fiscal quarter ]
limit: 1000
sorts:
- field: salesforce__opportunity.close_date
desc: true
topic: salesforce__opportunity
description: List of deals won in this fiscal quarter
exclude_from_ai_context: false
Won iARR:
query:
fields: [ salesforce__opportunity.total_iarr ]
base_view: salesforce__opportunity
filters:
salesforce__opportunity.is_won:
is: true
limit: 1000
sorts:
- field: salesforce__opportunity.total_iarr
desc: true
topic: salesforce__opportunity
description: how much iARR we’ve won across all time
prompt: "What is our total won iARR? "
ai_context: use this when asked about our total iarr
Open Trials:
query:
fields:
[
salesforce__opportunity.name,
salesforce__opportunity_owner.name,
salesforce__opportunity.lead_solutions_engineer,
salesforce__opportunity.stage_name,
salesforce__opportunity.close_date,
salesforce__opportunity.i_arr_c
]
base_view: salesforce__opportunity
filters:
salesforce__opportunity.is_closed:
is: false
salesforce__opportunity.opp_in_trial:
is: true
limit: 1000
sorts:
- field: salesforce__opportunity.close_date
topic: salesforce__opportunity
prompt: Show me our open trials
hidden: true
Happy querying!