feat: Add Content Generation Engine v2 with quality scoring
Major improvements to AI content generation: ## New Components (app/services/ai/) - PromptLibrary: YAML-based prompt templates with inheritance - ContextEngine: Anti-repetition and best performers tracking - ContentGeneratorV2: Enhanced generation with dynamic parameters - PlatformAdapter: Platform-specific content adaptation - ContentValidator: AI-powered quality scoring (0-100) ## Prompt Library (app/prompts/) - 3 personalities: default, educational, promotional - 5 templates: tip_tech, product_post, service_post, thread, response - 4 platform configs: x, threads, instagram, facebook - Few-shot examples by category: ia, productividad, seguridad ## Database Changes - New table: content_memory (tracks generated content) - New columns in posts: quality_score, score_breakdown, generation_attempts ## New API Endpoints (/api/v2/generate/) - POST /generate - Generation with quality check - POST /generate/batch - Batch generation - POST /quality/evaluate - Evaluate content quality - GET /templates, /personalities, /platforms - List configs ## Celery Tasks - update_engagement_scores (every 6h) - cleanup_old_memory (monthly) - refresh_best_posts_yaml (weekly) ## Tests - Comprehensive tests for all AI engine components Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,7 +16,8 @@ celery_app = Celery(
|
||||
"worker.tasks.generate_content",
|
||||
"worker.tasks.publish_post",
|
||||
"worker.tasks.fetch_interactions",
|
||||
"worker.tasks.cleanup"
|
||||
"worker.tasks.cleanup",
|
||||
"worker.tasks.content_memory"
|
||||
]
|
||||
)
|
||||
|
||||
@@ -58,4 +59,22 @@ celery_app.conf.beat_schedule = {
|
||||
"task": "worker.tasks.cleanup.daily_cleanup",
|
||||
"schedule": crontab(hour=3, minute=0),
|
||||
},
|
||||
|
||||
# Actualizar engagement scores cada 6 horas
|
||||
"update-engagement-scores": {
|
||||
"task": "worker.tasks.content_memory.update_engagement_scores",
|
||||
"schedule": crontab(hour="*/6", minute=15),
|
||||
},
|
||||
|
||||
# Limpiar memoria antigua mensualmente
|
||||
"cleanup-old-memory": {
|
||||
"task": "worker.tasks.content_memory.cleanup_old_memory",
|
||||
"schedule": crontab(day_of_month=1, hour=4, minute=0),
|
||||
},
|
||||
|
||||
# Actualizar best_posts.yaml semanalmente
|
||||
"refresh-best-posts": {
|
||||
"task": "worker.tasks.content_memory.refresh_best_posts_yaml",
|
||||
"schedule": crontab(day_of_week=0, hour=5, minute=0), # Domingos 5 AM
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user