# 📼 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! 🚀**