Atoti Intelligence Essentials
This is part of the Atoti Intelligence Essentials offer.Prerequisites
Visualize This must be enabled before adding configuration. See Set up Visualize This in Java or Set up Visualize This in Python for setup instructions.Atoti Java SDK
Add Visualize This configuration to the application configuration file. Add the following toapplication.yaml:
Configuration parameters
The following table describes each configuration parameter:Alternative: XMLA_DESCRIPTION property
Descriptions for dimensions, hierarchies, and levels can also be sourced from theXMLA_DESCRIPTION
property set directly on the OLAP element schema definition. When this property is present on an
element, Visualize This reads it as the element’s description.
This is useful when descriptions are already defined in the cube schema, and you want to avoid
duplicating them in the application configuration file.
If both XMLA_DESCRIPTION and the application configuration file provide a description for the
same element, the two values are concatenated.
The
XMLA_DESCRIPTION property applies to dimensions, hierarchies, levels, and measures only.
Cubes and measure folders must be described through the application configuration file.Partial configuration
Configuration does not require descriptions for all elements. Provide descriptions only for elements that need additional context.Dynamic tool discovery
Visualize This can send the LLM every available tool on each request. Alternatively, it can send only the tools that match the current request. Dynamic tool discovery is the second mode: the model calls a tool search tool that queries a keyword index and receives only the matching tools. This reduces prompt token usage and improves tool selection. Atoti enables dynamic tool discovery by default.Dynamic tool discovery applies to both SDKs, and both can turn it off.
How to opt out
Turning dynamic tool discovery off sends the whole tool set to the model on every request instead. This restores the behavior Atoti used before dynamic tool discovery existed. A small tool set, where search adds no benefit, is one reason to turn it off. Debugging which tools the model can see is another. In the Atoti Java SDK, setspring.ai.chat.client.tool-search-advisor.enabled to false:
AiConfig.dynamic_tool_discovery to False:
Atoti Python SDK
The chat is available on the session throughSession.chat. Its system_prompt is a custom addition to Atoti’s built-in system prompt: it is empty by default, and any value you set is appended to the built-in prompt to give the LLM extra context about your cubes. Reading it queries the server; assigning it takes effect on the next chat run and requires the ROLE_ADMIN role.
The system prompt is global: it applies to every request rather than to a specific cube (the assistant infers which cube a request targets). Use it for overall guidance.To give the assistant more information about a specific cube, set descriptions on its measures and hierarchies — for example
cube.measures["Revenue.SUM"].description and cube.hierarchies["Product"].description. The assistant reads these descriptions through its tools. The Java SDK additionally accepts cube, dimension, level, and measure-folder descriptions through application.yaml.How to opt out of dynamic tool discovery
Dynamic tool discovery is on by default. Turn it off withAiConfig.dynamic_tool_discovery, as described in
How to opt out.