# Introduction

RelAI centralise les providers IA, les conversations et l'exécution contrôlée de tools
HTTP pour plusieurs applications.

```text
Core = serveur central IA
SDK = client HTTP PHP
Application = données et règles métier
```

## Responsabilités

| Composant | Responsabilité |
|---|---|
| RelAI Core | authentification, historique canonique, orchestration, validation, runs et tool calls |
| SDK PHP | transport Guzzle, options, ressources, parsing JSON et exceptions |
| Application | utilisateurs, autorisations, données et logique métier |

Le SDK construit les requêtes, ajoute le token, applique les défauts, gère le timeout
et parse les réponses. Il ne stocke ni messages ni conversations, ne fait pas de RAG,
n'appelle pas de provider, n'appelle pas Ollama directement et n'exécute pas de tool.

Une application cliente, par exemple LifeAnalytics, peut conserver un `conversationId`
ou `runId`, mais ses données et règles métier restent dans l'application. Aucune
logique applicative spécifique n'appartient au SDK.

## Cycle d'appel

```text
Laravel/PHP → SDK → RelAI Core → provider/tool
                ← réponse JSON ←
```

Le Core persiste le run avant certains appels externes. Un timeout côté SDK ne garantit
donc pas qu'aucune trace n'a été créée.
