6 KiB
RSS2 - Plataforma de Inteligencia de Noticias con IA 🚀
RSS2 es una plataforma avanzada de agregación, traducción, análisis y vectorización de noticias diseñada para transformar flujos masivos de información en inteligencia accionable. Utiliza una arquitectura de microservicios híbrida (Go + Python) con modelos de Inteligencia Artificial de vanguardia para ofrecer búsqueda semántica, clasificación inteligente y automatización de contenidos.
✨ Características Principales
- 🤖 Categorización Inteligente (LLM): Clasificación de noticias mediante Mistral-7B local (ExLlamaV2/GPTQ), procesando lotes de alta velocidad.
- 🔍 Búsqueda Semántica: Motor vectorial Qdrant para encontrar noticias por contexto y significado, no solo por palabras clave.
- 🌍 Traducción Neuronal de Alta Calidad: Integración con NLLB-200 para traducir noticias de múltiples idiomas al español con validación post-proceso para evitar repeticiones.
- 📊 Inteligencia de Entidades: Extracción automática y normalización de Personas, Organizaciones y Lugares para análisis de tendencias.
- 📺 Automatización de Video: Generación automática de noticias en formato video y gestión de "parrillas" de programación.
- 📄 Exportación Inteligente: Generación de informes en PDF con diseño profesional y limpieza de ruido de red.
- 🔔 Notificaciones en Tiempo Real: API de monitoreo para detectar eventos importantes al instante.
- ⭐ Gestión de Favoritos: Sistema robusto para guardar y organizar noticias, compatible con usuarios y sesiones temporales.
🏗️ Arquitectura de Servicios (Docker)
El sistema está orquestado mediante Docker Compose, garantizando aislamiento y escalabilidad.
🌐 Core & Acceso (Frontend)
| Servicio | Tecnología | Descripción |
|---|---|---|
nginx |
Nginx Alpine | Gateway y Proxy Inverso (Puerto 8001). |
rss2_web |
Flask + Gunicorn | API principal e Interfaz Web de usuario. |
📥 Ingesta y Descubrimiento (Backend)
| Servicio | Tecnología | Descripción |
|---|---|---|
rss-ingestor-go |
Go | Crawler de ultra-alto rendimiento (Cientos de feeds/min). |
url-worker |
Python | Scraper profundo con limpieza de HTML via newspaper3k. |
url-discovery |
Python | Agente autónomo para el descubrimiento de nuevos feeds. |
🧠 Procesamiento de IA (Background Workers)
| Servicio | Modelo / Función | Descripción |
|---|---|---|
llm-categorizer |
Mistral-7B | Categorización contextual avanzada (15 categorías). |
translator (x3) |
NLLB-200 | Traducción neural masiva escalada horizontalmente. |
embeddings |
S-Transformers | Conversión de texto a vectores para búsqueda semántica. |
ner |
Spacy/BERT | Extracción de entidades (Personas, Lugares, Orgs). |
cluster & related |
Algoritmos Propios | Agrupación de eventos y detección de noticias relacionadas. |
💾 Almacenamiento y Datos
| Servicio | Rol | Descripción |
|---|---|---|
db |
PostgreSQL 18 | Almacenamiento relacional principal y metadatos. |
qdrant |
Vector DB | Motor de búsqueda por similitud de alta velocidad. |
redis |
Redis 7 | Gestión de colas de tareas (Celery-style) y caché. |
🚀 Guía de Inicio Rápido
1. Preparación
git clone <repo>
cd rss2
./generate_secure_credentials.sh # Genera .env seguro y contraseñas robustas
2. Configuración de Modelos (IA)
Para activar la categorización inteligente y traducción, descarga los modelos:
./scripts/download_llm_model.sh # Recomendado: Mistral-7B GPTQ
python3 scripts/download_models.py # Modelos NLLB y Embeddings
3. Arranque del Sistema
./start_docker.sh # Script de inicio con verificación de dependencias
📖 Documentación Especializada
Consulte nuestras guías detalladas para configuraciones específicas:
- 📘 QUICKSTART_LLM.md: Guía rápida para el categorizador Mistral-7B.
- 🚀 DEPLOY.md: Guía detallada de despliegue en nuevos servidores.
- 📊 TRANSLATION_FIX_SUMMARY.md: Resumen de mejoras en calidad de traducción.
- 🛡️ SECURITY_GUIDE.md: Manual avanzado de seguridad y endurecimiento.
- 🏗️ QDRANT_SETUP.md: Configuración y migración de la base de datos vectorial.
- 📑 FUNCIONES_DE_ARCHIVOS.md: Inventario detallado de la lógica del proyecto.
💻 Requisitos de Hardware
Para un rendimiento óptimo, se recomienda:
- GPU: NVIDIA (mínimo 12GB VRAM para Mistral-7B y traducción simultánea).
- Drivers: NVIDIA Container Toolkit instalado.
- AllTalk TTS: Instancia activa (puerto 7851) para la generación de audio en videos.
🔧 Operaciones y Mantenimiento
Verificación de Calidad de Traducción
El sistema incluye herramientas para asegurar la calidad de los datos:
# Monitorear calidad en tiempo real
docker exec rss2_web python3 scripts/monitor_translation_quality.py --watch
# Limpiar automáticamente traducciones defectuosas
docker exec rss2_web python3 scripts/clean_repetitive_translations.py
Gestión de Contenidos
# Generar videos de noticias destacadas
docker exec rss2_web python3 scripts/generar_videos_noticias.py
# Iniciar migración a Qdrant (Vectores)
docker exec rss2_web python3 scripts/migrate_to_qdrant.py
Diagnóstico de Ingesta (Feeds)
docker exec rss2_web python3 scripts/diagnose_rss.py --url <FEED_URL>
📊 Observabilidad
Acceso a métricas de rendimiento (Solo vía Localhost/Tunel):
- Grafana: http://localhost:3001 (Admin/Pass en
.env) - Proxy Nginx: http://localhost:8001
RSS2 - Transformando noticias en inteligencia con IA Local.