
# Vue d'ensemble de l'IA

Sovrium fournit une couche IA complète et auto-hébergeable. Chaque capacité est activable à la demande et régie par le RBAC et les permissions au niveau des champs déjà en place — l'IA ne contourne jamais le modèle de sécurité. La couche IA est **désactivée par défaut** : rien de lié à l'IA ne s'exécute tant que vous n'avez pas défini la variable d'environnement `AI_PROVIDER`.

La philosophie de conception reflète le reste de la plateforme : **les opérateurs contrôlent l'infrastructure via des variables d'environnement, les auteurs de schéma déclarent leur intention dans la configuration.** Quel fournisseur répond à un appel, où vivent les embeddings, et si le serveur MCP est monté sont des préoccupations d'opérateur (`AI_PROVIDER`, `MCP_ENABLED`, …). Quelles tables un agent peut manipuler et quelles entités sont éligibles à l'IA sont des préoccupations d'auteur de schéma (`agents[]`, `aiAccess`).

## L'écosystème IA

Huit briques se composent pour former l'expérience IA complète.

| Capacité              | Ce qu'elle fait                                                                                                              | Documentation                               |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| **Fournisseurs**      | Choisir le backend LLM et d'embedding (Anthropic, OpenAI, Mistral, Gemini, Ollama local, compatible OpenAI).                 | [Fournisseurs IA](/fr/docs/ai-providers)    |
| **Routage éco**       | Précédence de fournisseur frugale par défaut — privilégier un modèle local, basculer vers le cloud en secours.               | [Routage éco IA](/fr/docs/ai-eco-routing)   |
| **Champs IA**         | Colonnes de table calculées qui résument, catégorisent, extraient, traduisent, etc. via un LLM.                              | [Champs IA](/fr/docs/ai-fields)             |
| **Chat IA**           | Une interface conversationnelle sur vos données — interroger, modifier et déclencher des automatisations en langage naturel. | [Chat IA](/fr/docs/ai-chat)                 |
| **Agents IA**         | Utilisateurs virtuels autonomes avec outils restreints, garde-fous d'approbation, planifications et limites opérationnelles. | [Agents IA](/fr/docs/ai-agents)             |
| **Connaissances RAG** | Ancrer les réponses dans vos tables et documents via des embeddings vectoriels et la recherche sémantique.                   | [RAG IA](/fr/docs/ai-rag)                   |
| **Mémoire d'agent**   | Historique de conversation, connaissances soutenues par RAG, et faits appris persistants par agent.                          | [Mémoire IA](/fr/docs/ai-memory)            |
| **Intégration MCP**   | Exposer Sovrium comme serveur MCP, et laisser les agents consommer des outils MCP externes.                                  | [Intégration MCP](/fr/docs/mcp-integration) |

:::callout
**Les champs IA sont documentés sous Tables.** Les sept types de champs calculés (`ai-summary`, `ai-categorize`, `ai-extract`, `ai-sentiment`, `ai-tag`, `ai-translate`, `ai-generate`) vivent sur les enregistrements de table et sont couverts dans [Champs IA](/fr/docs/ai-fields). Cette section couvre les couches conversationnelle, agentique et d'interopérabilité.
:::

## Philosophie de configuration

L'IA se comporte comme les couches de base de données (`DATABASE_URL`), de stockage (`STORAGE_PROVIDER`) et d'authentification (`AUTH_SECRET`) : **l'infrastructure est une configuration par variable d'environnement, l'intention est du schéma.**

| Préoccupation                                        | Contrôlée par    | Où                                                |
| ---------------------------------------------------- | ---------------- | ------------------------------------------------- |
| Quel fournisseur/modèle/clé utiliser                 | Opérateur        | Variables `AI_PROVIDER`, `AI_MODEL`, `AI_API_KEY` |
| Précédence de routage des fournisseurs (éco)         | Opérateur        | Variable `ECO_AI_PROVIDER_PRECEDENCE`             |
| Si le serveur MCP est monté                          | Opérateur        | Variables `MCP_ENABLED`, `MCP_TRANSPORT`, …       |
| Quelles entités sont éligibles à l'IA                | Auteur de schéma | `aiAccess` sur tables / automatisations / actions |
| Identité, outils, approbation, planification d'agent | Auteur de schéma | `app.agents[]`                                    |
| Colonnes calculées IA                                | Auteur de schéma | Champs `type: ai-*` sur une table                 |

L'unique interrupteur principal est `AI_PROVIDER`. Lorsqu'il n'est pas défini (ou vidé), l'ensemble de la couche IA est silencieusement désactivé — les champs IA ignorent le calcul, le point d'accès du chat renvoie une réponse désactivée, les agents ne s'exécutent pas, et l'infrastructure RAG/embedding n'est pas provisionnée. Aucune erreur n'est levée au démarrage ; l'IA reste simplement dormante jusqu'à sa configuration.

```bash
# Activation minimale : un modèle Ollama local (pas de clé API, pas de cloud).
AI_PROVIDER=ollama
AI_BASE_URL=http://localhost:11434
AI_MODEL=llama3.1
```

```bash
# Un fournisseur cloud.
AI_PROVIDER=anthropic
AI_API_KEY=sk-ant-...
AI_MODEL=claude-sonnet-4-5
```

## Comment les pièces s'assemblent

```
                         AI_PROVIDER (interrupteur principal)
                                  │
        ┌─────────────────┬───────┴────────┬──────────────────┐
        ▼                 ▼                ▼                  ▼
   Champs IA          Chat IA          Agents IA          Serveur MCP
 (cols calculées)  (conversation)  (utilisateurs virtuels) (clients externes)
        │                 │                │                  │
        │                 └──── outils ────┤                  │
        │                                  │                  │
        ▼                                  ▼                  ▼
                          RBAC + permissions au niveau des champs (toujours appliquées)
                                  │
                                  ▼
                    Connaissances RAG + mémoire d'agent (pgvector / BLOB SQLite)
```

Chaque surface IA — champs, chat, agents, MCP — passe par la même couche d'autorisation. Un agent hérite des permissions de son rôle ; un utilisateur de chat ne peut voir que les enregistrements autorisés par sa session ; un client MCP est borné par le rôle de son jeton. Il n'existe aucun contournement IA privilégié.

## Prérequis

| Exigence                     | Pourquoi                                                                                                                                          |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `AI_PROVIDER` défini         | Interrupteur principal. Sans lui, toute la couche IA est dormante.                                                                                |
| `app.auth` (le plus souvent) | Les agents sont stockés comme utilisateurs auth ; le chat et le RBAC MCP nécessitent des rôles. Les champs IA fonctionnent sans authentification. |
| pgvector / SQLite            | Les embeddings RAG nécessitent PostgreSQL + pgvector **ou** SQLite (BLOB Float32 + cosinus côté application). Aucune base vectorielle externe.    |

## Pages connexes

- [Fournisseurs IA](/fr/docs/ai-providers) — choisir et configurer le backend LLM.
- [Routage éco IA](/fr/docs/ai-eco-routing) — précédence de fournisseur local d'abord.
- [Champs IA](/fr/docs/ai-fields) — colonnes calculées propulsées par un LLM.
- [Chat IA](/fr/docs/ai-chat) — interaction conversationnelle avec les données.
- [Agents IA](/fr/docs/ai-agents) — utilisateurs virtuels autonomes.
- [RAG IA](/fr/docs/ai-rag) — connaissances augmentées par récupération.
- [Mémoire IA](/fr/docs/ai-memory) — conversation, connaissances et faits d'agent.
- [Intégration MCP](/fr/docs/mcp-integration) — Sovrium comme serveur et client MCP.
- [Variables d'environnement](/fr/docs/env-vars) — référence complète des variables d'environnement.
