bemade-addons/ai_integration/models/doc_models.md
Benoît Vézina d295f38355 next try
2025-02-19 15:12:15 -05:00

90 lines
3.3 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
- **Champs principaux**:
- `name`: Nom de l'instance
- `provider_id`: Fournisseur associé
- `provider_type`: Type de fournisseur
- `host`: Adresse de l'hôte
- `api_key`: Clé API (si nécessaire)
- `active`: État actif/inactif
### 3. AI Model (`ai.model`)
- **Description**: Modèles d'IA disponibles
- **Champs principaux**:
- `name`: Nom du modèle
- `identifier`: Identifiant technique
- `provider_instance_id`: Instance du fournisseur
- `active`: État actif/inactif
### 4. AI Model Stats (`ai.model.stats`)
- **Description**: Statistiques d'utilisation des modèles
- **Champs principaux**:
- `model_id`: Modèle associé
- `total_tokens`: Nombre total de tokens
- `total_requests`: Nombre total de requêtes
- `average_latency`: Latence moyenne
## Mixin de Base
### AI Base Mixin (`ai.base.mixin`)
- **Description**: Mixin unifié pour l'intégration IA et les paramètres de génération
- **Champs principaux**:
- `temperature`: Contrôle de la créativité (0.0 - 2.0)
- `top_p`: Sampling nucleus (0.0 - 1.0)
- `max_tokens`: Limite de tokens (1 - 32768)
- `stop_sequences`: Séquences d'arrêt
- `timeout`: Délai d'attente (1 - 300s)
- `retry_count`: Nombre de tentatives (0 - 5)
- `stream_response`: Activation du streaming
- **Méthodes principales**:
- `_get_ai_provider_instance`: Obtenir l'instance du fournisseur
- `_get_ai_model`: Obtenir le modèle à utiliser
- `send_ai_message`: Envoyer un message à l'IA
- `_get_base_generation_params`: Obtenir les paramètres de génération
## Configuration
### 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
## Interfaces
### 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. Tous les fournisseurs d'IA doivent implémenter `ai.provider.interface`
2. Les instances de fournisseur héritent des paramètres de génération via `ai.generation.params`
3. La configuration est hiérarchique : Global > Société > Instance
4. Les statistiques sont collectées automatiquement pour chaque modèle