Automated Structured Content Generator
Microservice FastAPI industriel qui transforme des flux d'actualités non structurés (Texte, HTML, RSS) en enregistrements JSON strictement typés via Pydantic V2 & Instructor sans dérive de schéma.
Les 4 Piliers d'ASCGenerator
Comment éliminer la dérive de schéma et garantir une extraction 100% typée et sécurisée
1. Ingestion Multi-Format & Isolation XML
Ingestion sécurisée de textes bruts, fichiers et contenus web avec encapsulation systématique dans des balises isolées <untrusted_news_payload> pour neutraliser les attaques par injection de prompt.
2. Pare-feu Pydantic V2 & Invariants Stricts
Validation stricte des contrats JSON à l'exécution : bornes d'intervalles (ex: confidence_score ∈ [0.0, 1.0]), typage des UUID, taxonomies d'énumérations et extraction normalisée d'entités et métriques.
3. Tolérance aux Pannes à 2 Niveaux
Niveau 1 : Décorateur Tenacity avec backoff exponentiel contre les erreurs 429/5xx réseau. Niveau 2 : Boucle d'auto-correction Instructor renvoyant l'erreur de validation au LLM pour correction immédiate du schéma.
4. Dashboard Monitoring & Batch Processing
Interface Web Next.js 14 pour l'inspection interactive des schémas, le traitement asynchrone par lot (Async Batch), le suivi du budget FinOps et l'export direct vers les bases de données downstream.
Endpoints Microservice & Contrats de Données
Invariants de domaine, typage Pydantic V2 et zéro crash non intercepté
| Endpoint / Composant | Méthode / Type | Description & Rôle d'Architecture | Contrat & Schema Pydantic |
|---|---|---|---|
/v1/extract |
POST |
Extraction synchrone d'un payload d'actualité unique en record JSON typé | ArticleExtractionRecord |
/v1/extract/batch |
POST |
Extraction asynchrone par lot avec contrôle de concurrence (semaphores) | BatchExtractionResponse |
/v1/schemas |
GET |
Exposition du schéma OpenAPI / JSON Schema des contrats pour les consommateurs client | JSONSchema Dict |
/health |
GET |
Sonde de santé pour orchestration Docker & Kubernetes (liveness/readiness) | {"status": "healthy"} |
security.py |
Sanitizer |
Pare-feu d'isolation XML contre le prompt injection (<untrusted_news_payload>) | String Sanitization |
cache.py |
SHA-256 |
Cache de dédoublonnage pour éviter les requêtes LLM redondantes (TTL configurable) | Redis / In-Memory |
Documents d'Architecture & Code Source
Accédez directement aux ressources brutes sur GitHub ou au dépôt de code source complet.
Guide du Code Source
Spécifications détaillées et rôle d'architecture de chaque module Python (main, engine, schemas, security, config).
Lire code_en.md (Raw) ↗Spécifications d'Architecture
Topologie du microservice, invariants de dépendance Pydantic V2, résilience à 2 niveaux et isolation des prompts.
Lire architecture_en.md (Raw) ↗Glossaire Technique Brut
Définitions approfondies des concepts de Structured Outputs, pare-feu Pydantic V2, Instructor self-correction et FinOps.
Lire glossary_en.md (Raw) ↗Spécifications Fonctionnelles
Cahier des charges, modélisation des entités nommées, métriques financières et exigences de performance microservice.
Lire specifications_en.md (Raw) ↗