ai-lab-transformers-playground/POSTMAN_GUIDE.md

179 lines
5.4 KiB
Markdown

# 📮 Collection Postman - AI Lab API
## 📋 Overview
Cette collection Postman complète contient tous les endpoints de l'API AI Lab avec des exemples prêts à utiliser pour tester chaque pipeline NLP.
## 📁 Fichiers inclus
- **`AI_Lab_API.postman_collection.json`** - Collection principale avec tous les endpoints
- **`AI_Lab_API.postman_environment.json`** - Environnement avec variables configurables
- **`POSTMAN_GUIDE.md`** - Ce guide d'utilisation
## 🚀 Installation et Configuration
### 1. Importer dans Postman
1. Ouvrez Postman
2. Cliquez sur **Import** (bouton en haut à gauche)
3. Sélectionnez **Upload Files**
4. Importez les deux fichiers :
- `AI_Lab_API.postman_collection.json`
- `AI_Lab_API.postman_environment.json`
### 2. Configurer l'environnement
1. Cliquez sur l'icône **Settings** (⚙️) en haut à droite
2. Sélectionnez **"AI Lab API Environment"**
3. Modifiez `base_url` si nécessaire (par défaut : `http://localhost:8000`)
### 3. Démarrer l'API
Avant d'utiliser Postman, assurez-vous que l'API est démarrée :
```bash
# Dans le dossier du projet
python -m src.main --mode api
# ou
poetry run python src/main.py --mode api --host 0.0.0.0 --port 8000
```
## 📊 Structure de la Collection
### 🏠 Core Endpoints
- **Root** - Informations générales de l'API
- **Health Check** - Statut de l'API et pipelines chargés
### 💭 Sentiment Analysis
- **Analyze Sentiment - Positive** - Test avec texte positif
- **Analyze Sentiment - Negative** - Test avec texte négatif
- **Analyze Sentiment - Custom Model** - Test avec modèle personnalisé
- **Batch Sentiment Analysis** - Traitement par lot
### 🏷️ Named Entity Recognition
- **Extract Entities - People & Organizations** - Entités personnes/organisations
- **Extract Entities - Geographic** - Entités géographiques
- **Batch NER Processing** - Traitement par lot
### ❓ Question Answering
- **Simple Q&A** - Questions simples
- **Technical Q&A** - Questions techniques
### 🎭 Fill Mask
- **Fill Simple Mask** - Masques simples
- **Fill Technical Mask** - Masques techniques
- **Batch Fill Mask** - Traitement par lot
### 🛡️ Content Moderation
- **Check Safe Content** - Contenu sûr
- **Check Potentially Toxic Content** - Contenu potentiellement toxique
- **Batch Content Moderation** - Traitement par lot
### ✍️ Text Generation
- **Generate Creative Text** - Génération créative
- **Generate Technical Text** - Génération technique
- **Batch Text Generation** - Traitement par lot
### 🧪 Testing & Examples
- **Complete Pipeline Test** - Test complet
- **Error Handling Test - Empty Text** - Gestion d'erreurs (texte vide)
- **Error Handling Test - Invalid Model** - Gestion d'erreurs (modèle invalide)
## 🔧 Utilisation Avancée
### Variables d'environnement disponibles
| Variable | Description | Valeur par défaut |
| ----------------- | ------------------------- | ----------------------- |
| `base_url` | URL de base de l'API | `http://localhost:8000` |
| `api_version` | Version de l'API | `1.0.0` |
| `timeout` | Timeout des requêtes (ms) | `30000` |
| `default_*_model` | Modèles par défaut | Voir environnement |
### Personnalisation des modèles
Vous pouvez tester différents modèles en modifiant le champ `model_name` dans le body des requêtes :
```json
{
"text": "Your text here",
"model_name": "cardiffnlp/twitter-roberta-base-sentiment-latest"
}
```
### Tests automatiques
Chaque requête inclut des tests automatiques :
- ✅ Temps de réponse < 30 secondes
- Header Content-Type présent
- Logs automatiques dans la console
## 📈 Exemples d'utilisation
### 1. Test rapide de l'API
1. Exécutez **"Health Check"** pour vérifier que l'API fonctionne
2. Testez **"Analyze Sentiment - Positive"** pour un premier test
### 2. Test complet d'un pipeline
1. Commencez par un test simple (ex: sentiment positif)
2. Testez avec un modèle personnalisé
3. Testez le traitement par lot
4. Testez la gestion d'erreurs
### 3. Benchmark de performance
1. Utilisez **"Batch Text Generation"** avec plusieurs prompts
2. Surveillez les temps de réponse dans l'onglet Tests
3. Ajustez le timeout si nécessaire
## 🐛 Dépannage
### API non accessible
- Vérifiez que l'API est démarrée sur le bon port
- Modifiez `base_url` dans l'environnement si nécessaire
### Erreurs 422 (Validation Error)
- Vérifiez le format JSON du body
- Assurez-vous que les champs requis sont présents
### Erreurs 503 (Service Unavailable)
- Pipeline non chargé - vérifiez les logs de l'API
- Redémarrez l'API si nécessaire
### Timeouts
- Augmentez la valeur `timeout` dans l'environnement
- Certains modèles peuvent être lents au premier chargement
## 🎯 Bonnes Pratiques
1. **Démarrez toujours par Health Check** pour vérifier l'état de l'API
2. **Utilisez l'environnement** pour centraliser la configuration
3. **Consultez les logs** dans la console Postman pour déboguer
4. **Testez progressivement** : simple personnalisé batch erreurs
5. **Documentez vos tests** en ajoutant des descriptions aux requêtes
## 🔗 Liens Utiles
- **Documentation Swagger** : http://localhost:8000/docs (quand l'API est active)
- **Documentation ReDoc** : http://localhost:8000/redoc
- **Schéma OpenAPI** : http://localhost:8000/openapi.json
---
**Happy Testing! 🚀**