bemade-addons/ai_integration/models/doc_models.md
2025-05-29 21:35:47 -04:00

90 lines
3.6 KiB
Markdown

# Documentation des Modèles AI Integration
## Vue d'ensemble
Le module AI Integration fournit une infrastructure flexible pour intégrer différents fournisseurs d'IA dans Odoo. Il est conçu pour être extensible et permettre l'ajout facile de nouveaux fournisseurs.
## Modèles Principaux
### 1. AI Provider (`ai.provider`)
- **Description**: Configuration de base des fournisseurs d'IA
- **Champs principaux**:
- `name`: Nom du fournisseur
- `code`: Code technique unique
- `description`: Description détaillée
- `default_host`: Hôte par défaut
- `active`: État actif/inactif
### 2. AI Provider Instance (`ai.provider.instance`)
- **Description**: Instance spécifique d'un fournisseur d'IA
- **Héritage**: `mail.thread`, `ai.base.mixin`
- **Champs principaux**:
- `name`: Nom de l'instance (ex: "OpenWebUI Production", "Ollama Local")
- `provider_id`: Fournisseur associé
- `provider_type`: Type de fournisseur (extensible par modules)
- `active`: État actif/inactif
- **Validation**:
- Vérifie la présence d'au moins un module fournisseur installé
### 3. AI Model (`ai.model`)
- **Description**: Modèles d'IA disponibles
- **Champs principaux**:
- `name`: Nom du modèle
- `identifier`: Identifiant technique (ex: gpt-3.5-turbo, mistral-7b)
- `provider_instance_id`: Instance du fournisseur (cascade)
- `provider_type`: Type de fournisseur (relié à l'instance)
- `active`: État actif/inactif
- `sequence`: Ordre d'affichage
- **Validation**:
- Vérifie la présence d'au moins un module fournisseur installé
### 4. AI Generation Parameters (`ai.generation.params`)
- **Description**: Paramètres de génération pour les modèles d'IA
- **Type**: Modèle abstrait
- **Champs principaux**:
- `temperature`: Contrôle de l'aléatoire (défaut: 0.7)
- `repeat_penalty`: Pénalité de répétition (défaut: 1.1)
- `max_tokens`: Nombre maximum de tokens (défaut: 2048)
- `stop_sequences`: Séquences d'arrêt
- `frequency_penalty`: Pénalité de fréquence (défaut: 0.0)
- `presence_penalty`: Pénalité de présence (défaut: 0.0)
## Configuration et Interfaces
### 1. Res Config Settings
- **Description**: Paramètres de configuration globaux
- **Champs principaux**:
- `default_provider_instance_id`: Instance de fournisseur par défaut
- `default_model_id`: Modèle par défaut
- `ai_batch_size`: Taille du lot pour le traitement
### 2. Res Company
- **Description**: Extensions des paramètres de société
- **Méthodes principales**:
- `_get_default_provider_instance`: Obtenir l'instance par défaut
### 3. AI Provider Interface (`ai.provider.interface`)
- **Description**: Interface abstraite pour les fournisseurs d'IA
- **Méthodes requises**:
- `send_message`: Envoyer un message
- `get_models`: Obtenir la liste des modèles
- `test_connection`: Tester la connexion
## Notes d'Implémentation
1. **Architecture Modulaire**:
- Modules fournisseurs disponibles: `ollama_ai_integration`, `chatgpt_ai_integration`
- Vérification de la présence d'au moins un module fournisseur avant création d'instances
2. **Héritage et Extensions**:
- Les instances de fournisseur héritent de `mail.thread` et `ai.base.mixin`
- Les paramètres de génération sont définis dans le modèle abstrait `ai.generation.params`
3. **Configuration Hiérarchique**:
- Configuration globale > Paramètres société > Instance
- Paramètres de génération personnalisables à plusieurs niveaux
4. **Sécurité et Validation**:
- Vérifications de sécurité intégrées
- Validation des modules requis
- Gestion des paramètres de génération avec valeurs par défaut