> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure Visualize This

> How to provide cube context to Visualize This to improve its responses — cube, dimension, hierarchy, level, and measure descriptions in the Atoti Java SDK, and the chat system prompt in the Atoti Python SDK.

<Info>
  ### Atoti Intelligence Essentials

  This is part of the Atoti Intelligence Essentials offer.
</Info>

Providing context about your cubes improves Visualize This responses: the more the LLM knows about
the business meaning of cubes, dimensions, hierarchies, levels, and measures, the more relevant the
visualizations it produces. Configuration is optional but recommended.

<Note>
  ### Prerequisites

  Visualize This must be enabled before adding configuration.
  See [Set up Visualize This in Java](./setup-java) or [Set up Visualize This in Python](./setup-python)
  for setup instructions.
</Note>

## Atoti Java SDK

Add Visualize This configuration to the application configuration file.

Add the following to `application.yaml`:

<SnippetBasicAppApplicationChatConfig />

### Configuration parameters

The following table describes each configuration parameter:

| Parameter name      | Description                                                                                                                 |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| system-prompt-paths | Ordered list of paths to system prompt files. Files are concatenated in the declared order and appended to the LLM context. |
| name                | Name of the cube to configure Visualize This for.                                                                           |
| description         | Description of the cube.                                                                                                    |
| dimensions          | List of dimensions to provide additional information to the LLM.                                                            |
|   name              | Name of the dimension.                                                                                                      |
|   description       | Description of the dimension.                                                                                               |
|   hierarchies       | List of hierarchies to provide additional information to the LLM.                                                           |
|     name            | Name of the hierarchy.                                                                                                      |
|     description     | Description of the hierarchy.                                                                                               |
|     levels          | List of levels to provide additional information to the LLM.                                                                |
|       name          | Name of the level.                                                                                                          |
|       description   | Description of the level.                                                                                                   |
| measures            | List of measures to provide additional information to the LLM.                                                              |
|   name              | Name of the measure.                                                                                                        |
|   description       | Description of the measure.                                                                                                 |
| measure-folders     | List of measure folders to provide additional information to the LLM.                                                       |
|   name              | Name of the measure folder.                                                                                                 |
|   description       | Description of the measure folder.                                                                                          |

### Alternative: XMLA\_DESCRIPTION property

Descriptions for dimensions, hierarchies, and levels can also be sourced from the `XMLA_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.

<Note>
  The `XMLA_DESCRIPTION` property applies to dimensions, hierarchies, levels, and measures only.
  Cubes and measure folders must be described through the application configuration file.
</Note>

### Partial configuration

Configuration does not require descriptions for all elements. Provide descriptions only for elements
that need additional context.

## Atoti Python SDK

The chat is available on the session through [`Session.chat`](https://docs.activeviam.com/products/atoti/python-sdk/latest/api/atoti.Session.chat.html). Its [`system_prompt`](https://docs.activeviam.com/products/atoti/python-sdk/latest/api/atoti_ai.Chat.system_prompt.html) 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.

```python theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
# Add extra context on top of the built-in system prompt
session.chat.system_prompt = "The Quantity measure is expressed in units, not currency."
```

<Note>
  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`.
</Note>

## Related reading

* [How Visualize This works](./how-it-works)
* [Set up Visualize This in Java](./setup-java)
* [Set up Visualize This in Python](./setup-python)
* [How to use Visualize This](../../../user-guide/chat) in the Atoti UI
