Module Ai
Le module Ai centralise la configuration de tous les providers d'intelligence artificielle utilisés par la plateforme.
Rôle
Ce module est une bibliothèque de configuration partagée. Il ne possède pas d'interface utilisateur propre. Il est utilisé par tous les modules qui font appel à des fonctionnalités IA.
AiProviderConfigService
Service central à injecter dans tout module utilisant l'IA :
use Modules\Ai\Services\AiProviderConfigService;
// Provider texte (avec feature optionnelle)
$config = app(AiProviderConfigService::class)->textProvider('actualite');
// Retourne : code, base_url, api_key, model, timeout
// Provider image
$config = app(AiProviderConfigService::class)->imageProvider();
Configuration
Les providers sont configurés dans ai_provider_settings via Admin → Applications → IA.
Les modèles par feature sont stockés dans :
ai_provider_settings.settings->feature_models.{feature}
Providers supportés
| Provider | Usage | Notes |
|---|---|---|
| OpenWebUI / Ollama | Génération texte | On-premise, modèles locaux |
| OpenAI | Génération texte (fallback) | API distante |
| Pollinations | Génération image | API distante gratuite |
Règles
:::danger Règle absolue
Tout module utilisant l'IA DOIT passer par AiProviderConfigService. Ne jamais hardcoder :
- Les URLs de provider
- Les clés API
- Les noms de modèles :::
Les champs sensibles (API keys) utilisent le cast Eloquent encrypted.