> ## 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.

# atoti_ai.AiConfig

### *final class* atoti\_ai.AiConfig

Atoti Intelligence configuration.

<Warning>
  This feature is [`experimental`](./atoti.experimental#atoti.experimental), its key is `"ai"`.
</Warning>

### Example

```pycon theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
>>> from atoti_ai import AiConfig
>>> from atoti_ai_amazon_bedrock import (
...     ChatConfig,
...     ConnectionConfig,
... )
>>> with tt.experimental({"ai"}):
...     ai_config = AiConfig(
...         connection=ConnectionConfig(
...             aws_access_key="...",
...             aws_secret_key="...",
...         ),
...         chat=ChatConfig(
...             model="anthropic.claude-3-sonnet-20240229-v1:0",
...         ),
...     )
```

Atoti Intelligence can also be enabled without configuring an LLM provider by
leaving [`connection`](#atoti_ai.AiConfig.connection) and [`chat`](#atoti_ai.AiConfig.chat) to `None`.
AutoExplain then still works but returns a default, non-AI summary, and the chat
feature is disabled:

```pycon theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
>>> with tt.experimental({"ai"}):
...     ai_config = AiConfig()
```

#### chat *: [ChatConfig](./atoti_ai.chat_config#atoti_ai.ChatConfig) | [None](https://docs.python.org/3/library/constants.html#None)* *= None*

The configuration of the chat model, or `None` to not configure any LLM.

#### connection *: [ConnectionConfig](./atoti_ai.connection_config#atoti_ai.ConnectionConfig) | [None](https://docs.python.org/3/library/constants.html#None)* *= None*

The connection to the LLM provider, or `None` to not configure any LLM.
