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.How to disable the chat endpoint
In a deployment with several applications, only one of them should serve chat: the main application that users send their prompts to. Disable the chat endpoint on every other application, and connect them to the main application over MCP. See How to configure chat across a deployment. An application can serve Atoti Intelligence without serving chat. Settingatoti.ai.chat.enabled to
false, available from Atoti 6.1.25, registers no chat endpoint:
404 Not Found. The Atoti UI
reports chat as absent, and shows no chat panel. The activeviam/ai namespace stays advertised on
the /versions endpoint as long as Auto-Explain is enabled, since both features share it. Every
other Atoti Intelligence feature keeps working, Auto-Explain and the MCP Server included. The
setting defaults to true.
Turning chat off differs from configuring no LLM. An application with no LLM still registers the
chat endpoints, which refuse each call with
404 Not Found until an LLM is configured. Chat there
is absent only for as long as no LLM is.AiConfig.chat_enabled
to False:
Session.chat
reports chat as absent.
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 serve no chat
SetAiConfig.chat_enabled
to False to register no chat endpoint, as described in
How to disable the chat endpoint.
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.