Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """ | |
| Point d'entrée du serveur ariadne — External Recommender pour INCEpTION. | |
| Ce script : | |
| 1. Instancie le classifier GLiNER (charge le modèle en mémoire) | |
| 2. Crée un Server() ariadne (= application Flask) | |
| 3. Enregistre le classifier sous le nom "gliner_ner" | |
| 4. Lance Flask sur le port 7860 (compatible HuggingFace Spaces) | |
| Endpoints auto-générés par ariadne : | |
| POST /gliner_ner/predict → suggestions NER | |
| POST /gliner_ner/train → entraînement (non implémenté) | |
| Dans INCEpTION : | |
| Settings → Recommenders → Create | |
| Tool : External Recommender | |
| Endpoint URL : http://<host>:7860/gliner_ner | |
| """ | |
| import logging | |
| import os | |
| from ariadne.server import Server | |
| from gliner_classifier import GlinerClassifier | |
| logging.basicConfig( | |
| format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", | |
| level=logging.INFO, | |
| ) | |
| logger = logging.getLogger(__name__) | |
| # Port : 7860 pour HuggingFace Spaces, modifiable via variable d'env | |
| PORT = int(os.environ.get("PORT", 7860)) | |
| HOST = "0.0.0.0" | |
| def main(): | |
| logger.info("=" * 65) | |
| logger.info(" Chargement du modèle GLiNER...") | |
| logger.info("=" * 65) | |
| # Instancier le classifier (charge GLiNER en mémoire) | |
| classifier = GlinerClassifier() | |
| # Créer le serveur ariadne (Flask) | |
| server = Server() | |
| server.add_classifier("gliner_ner", classifier) | |
| logger.info("") | |
| logger.info("=" * 65) | |
| logger.info(" Serveur ariadne — External Recommender pour INCEpTION") | |
| logger.info("=" * 65) | |
| logger.info(f" Adresse : http://{HOST}:{PORT}") | |
| logger.info(f"") | |
| logger.info(f" Endpoints :") | |
| logger.info(f" POST /gliner_ner/predict") | |
| logger.info(f" POST /gliner_ner/train") | |
| logger.info(f"") | |
| logger.info(f" INCEpTION → Settings → Recommenders → Create :") | |
| logger.info(f" Tool : External Recommender") | |
| logger.info(f" Endpoint URL : http://<host>:{PORT}/gliner_ner") | |
| logger.info("=" * 65) | |
| # Lancer Flask | |
| server.start(host=HOST, port=PORT) | |
| if __name__ == "__main__": | |
| main() | |