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:
2026-01-28 20:55:28 +00:00
parent f458f809ca
commit 11b0ba46fa
36 changed files with 6266 additions and 55 deletions

View File

@@ -0,0 +1,81 @@
platform: threads
display_name: "Threads"
description: "Plataforma conversacional de Meta. Tono más casual y auténtico."
limits:
max_characters: 500
max_hashtags: 5
max_mentions: 5
max_links: 1
media_optional: true
tone:
style: conversational_authentic
emoji_usage: moderate # 2-4
formality: low_to_medium
energy: friendly
personal_voice: true # Más "yo" menos "nosotros"
formatting:
line_breaks: true
use_bullets: optional
bullet_style: "•"
whitespace: natural
paragraphs: short # 2-3 oraciones máximo
hooks:
preferred:
- pregunta_personal # "¿Alguna vez te ha pasado...?"
- historia_corta # "Ayer me di cuenta..."
- opinión_honesta # "Honestamente, creo que..."
- reflexión # "He estado pensando en..."
avoid:
- demasiado_corporativo
- hooks_de_ventas
- formalidad_excesiva
cta:
frequency: 0.4 # 40% de posts
types:
- engage: "¿Qué piensan?"
- share: "¿Les ha pasado?"
- follow: "Más contenido así aquí"
- discuss: "Debatamos en comentarios"
style: natural_not_forced
hashtags:
count: 3-5
placement: end
style: trending_relevant
recommended:
- "#Tech"
- "#Threads"
- "#Productividad"
- "#IA"
- "#Tips"
best_practices:
- Tono como si hablaras con un amigo
- Okay ser vulnerable/honesto sobre errores
- Engagement genuino en comentarios
- Contenido que invita a conversación
- Menos "profesional", más "persona real"
voice_examples:
good:
- "Voy a ser honesto: tardé años en entender esto..."
- "¿Solo a mí me pasa que...?"
- "Unpopular opinion: la productividad está sobrevalorada"
bad:
- "Nuestra empresa ofrece soluciones innovadoras..."
- "Estimados seguidores..."
- "Les compartimos información importante..."
adaptation_rules: |
Cuando adaptes contenido para Threads:
1. Hazlo más personal y conversacional
2. Añade opinión o experiencia propia
3. Invita a la conversación genuinamente
4. Puedes ser más extenso que X
5. Emojis naturales, no decorativos
6. Está bien mostrar vulnerabilidad