Files
cbc2027/README_AI_ASSISTANT.md
2025-12-16 22:32:27 +00:00

8.1 KiB

🤖 CBC Nextcloud AI Service - Documentación para Asistentes IA

📋 Resumen Ejecutivo

Este es un sistema automatizado de procesamiento de contenido académico que utiliza inteligencia artificial para transcribir audios, procesar PDFs y generar resúmenes colaborativos mediante la integración de 3 modelos de IA diferentes.

Estado Actual: ACTIVO y FUNCIONANDO

  • Servicio: cbc-main.service (systemd)
  • Proceso Principal: PID 49696 (única instancia)
  • GPU: NVIDIA RTX 3050 (1.5GB/8GB en uso)
  • Última Actualización: 2025-09-26

🖥️ Especificaciones del Sistema

Hardware

  • CPU: AMD Ryzen 5 5600X 6-Core Processor (12 hilos)
  • RAM: 15GB DDR4 (9.7GB disponible)
  • GPU: NVIDIA GeForce RTX 3050 (8GB VRAM)
  • Almacenamiento: 439GB SSD (330GB libre)
  • Sistema Operativo: Linux x86_64

Software

  • Python: 3.10.12
  • CUDA: 12.2 (Driver 535.247.01)
  • Gestor de Servicios: systemd
  • Directorio Principal: /home/ren/cbc/

Librerías Clave

  • torch 2.8.0 (PyTorch con soporte CUDA)
  • transformers 4.56.1 (Hugging Face)
  • whisper 20240930 (OpenAI)
  • easyocr 1.7.2 (OCR)
  • openai 1.107.0 (API clientes)
  • python-docx 1.2.0 (manipulación Word)
  • pdf2image 1.17.0 (procesamiento PDF)

🚀 Funcionalidades Principales

1. Procesamiento de Audio

  • Formatos Soportados: MP3, WAV, M4A, OGG
  • Transcripción: Whisper (medium) con GPU aceleración
  • Salida: Archivos de texto con timestamps
  • Ubicación: Carpeta Audios en Nextcloud

2. Procesamiento de PDF

  • OCR Múltiple: EasyOCR + Tesseract + TrOCR
  • Procesamiento por Lotes: 3 páginas por chunk
  • Corrección IA: Gemini para limpieza de texto
  • Salida: Documentos DOCX editables
  • Ubicación: Carpeta Pdf en Nextcloud

3. Sistema de Resúmenes Colaborativos

3 Modelos de IA trabajando en secuencia:

  1. GPT-OSS-120B (DeepInfra API):

    • Genera bullet points clave
    • Análisis inicial del contenido
  2. Claude/Zhai (CLI - API Z.ai):

    • Desarrolla resumen integral
    • 400-500 palabras estructuradas
  3. Gemini (CLI - Google):

    • Aplica formato final
    • Optimiza presentación

4. Clasificación Inteligente de Contenido

El sistema clasifica automáticamente en 4 categorías temáticas:

  • historia - Eventos históricos, cronologías
  • analisis_contable - Contabilidad, finanzas, balances
  • instituciones_gobierno - Política, gobierno, leyes
  • otras_clases - Ciencias, tecnología, literatura, etc.

5. Generación de Quizzes

  • 10 preguntas de opción múltiple por documento
  • 4 opciones (A, B, C, D) por pregunta
  • Respuestas incluidas en documentos separados

⚙️ Configuración Actual

Variables de Entorno

CUDA_LAUNCH_BLOCKING=1          # Depuración CUDA síncrona
PYTHONPATH=/home/ren/cbc        # Ruta del proyecto
HOME=/home/ren                  # Directorio home

Rutas del Sistema

  • Descargas: /app/downloads/
  • Resúmenes: ./downloads/
  • Documentos DOCX: ./resumenes_docx/
  • Archivos Procesados: /app/processed_files.txt

Límites de Recursos

  • Memoria RAM: 8GB máximo
  • CPU: 90% de cuota
  • Archivos Abiertos: 65536
  • Reinicio Automático: Siempre (10 segundos de espera)

📁 Estructura de Archivos Principal

/home/ren/cbc/
├── main.py                    # Servicio principal (72,405 líneas)
├── .env                       # Variables de entorno
├── requirements.txt           # Dependencias Python
├── README_AI_ASSISTANT.md    # Este documento
├── MEGA_HISTORIA_parte*.txt   # Historiales académicos
├── resumen_*.py              # Scripts de resumen
├── procesador_academico.py   # Procesamiento especializado
├── analizador_*.py           # Análisis de contenido
├── config_telegram.txt       # Configuración Telegram
└── txt/                      # Directorio de textos

🔧 Gestión del Servicio

Comandos Essenciales

# Ver estado del servicio
sudo systemctl status cbc-main

# Ver logs en tiempo real
sudo journalctl -u cbc-main -f

# Detener servicio
sudo systemctl stop cbc-main

# Iniciar servicio
sudo systemctl start cbc-main

# Reiniciar servicio
sudo systemctl restart cbc-main

# Ver uso de GPU
nvidia-smi

# Ver uso de memoria del sistema
free -h

Monitoreo de Salud

# Verificar proceso único
ps aux | grep "python3.*main.py" | grep -v grep

# Verificar memoria GPU
nvidia-smi --query-gpu=memory.used,memory.total --format=csv

# Verificar espacio en disco
df -h /

# Verificar actividad de red
sudo netstat -tlnp | grep :80

🚨 Problemas Comunes y Soluciones

Error CUDA: "CUDA-capable device(s) is/are busy or unavailable"

Causa: Múltiples procesos compitiendo por recursos GPU Solución:

# Verificar procesos múltiples
ps aux | grep "python3.*main.py"

# Si hay múltiples, reiniciar servicio
sudo systemctl restart cbc-main

Error de Permiso: "Permission denied"

Causa: El servicio no tiene permisos para escribir en /app/ Solución:

# Crear directorios con permisos correctos
sudo mkdir -p /app/downloads /app/resumenes
sudo chown -R ren:ren /app/

Alto Uso de Memoria GPU

Configuración actual optimizada:

  • MAX_PAGES_PER_CHUNK = 3 (reducido de 5)
  • PDF_DPI = 200 (reducido de 300)
  • batch_size = 1 (procesamiento individual)
  • _MODEL_TIMEOUT_SECONDS = 300 (liberación rápida)

🔄 Flujo de Trabajo Automático

1. Detección de Archivos

  • Monitorea carpetas Nextcloud cada 5 segundos
  • Verifica archivos no procesados en processed_files.txt

2. Procesamiento según Tipo

Audio → Transcripción → Resumen Colaborativo → Clasificación → Subida PDF → OCR → Corrección IA → Documento Editable → Resumen → Subida

3. Clasificación y Organización

  • Análisis de contenido con Gemini
  • Clasificación en categorías temáticas
  • Renombrado automático con temas extraídos
  • Organización en carpetas específicas

4. Notificaciones

  • Envío de alertas por Telegram
  • Reportes de progreso y errores
  • Confirmación de procesamiento completado

📊 Métricas de Rendimiento

Rendimiento Actual

  • Procesamiento PDF: ~3-5 minutos por documento (12 páginas)
  • Transcripción Audio: ~2-3 minutos por 10 minutos de audio
  • Generación Resúmenes: ~1-2 minutos por documento
  • Uso GPU: 1.5GB (estable)
  • Uso CPU: 44% promedio
  • Memoria RAM: 1.1GB utilizada

Optimizaciones Aplicadas

  • Procesamiento único (sin duplicados)
  • Gestión agresiva de VRAM
  • Límites de recursos controlados
  • Reintentos automáticos para errores CUDA
  • Sistema de clasificación inteligente

🔮 Estado y Próximos Pasos

Estado Actual: SISTEMA ESTABLE

  • Servicio systemd funcionando correctamente
  • GPU operativa sin errores
  • Procesamiento de PDF activo
  • Clasificación automática funcionando
  • Notificaciones Telegram operativas

Posibles Mejoras Futuras

  • Implementar cola de procesamiento para manejar carga pesada
  • Añadir interfaz web para monitoreo
  • Optimizar tiempos de procesamiento con modelos más eficientes
  • Implementar sistema de backup automático
  • Añadir métricas detalladas de rendimiento

📞 Información de Contacto y Soporte

Para Emergencias del Sistema

# Reinicio completo del sistema
sudo systemctl restart cbc-main

# Liberación forzada de VRAM
sudo pkill -f python3
sudo systemctl start cbc-main

Archivos de Log Importantes

  • Journal Systemd: sudo journalctl -u cbc-main
  • Log GPU: nvidia-smi --query-gpu=timestamp,memory.used --format=csv -l 1
  • Log Memoria: free -h -s 5

Puntos Críticos del Sistema

  1. Disponibilidad GPU: NVIDIA RTX 3050 (8GB)
  2. Espacio en Disco: 330GB disponibles
  3. Conexión Nextcloud: WebDAV funcional
  4. API Keys: Configuradas y operativas

Este documento fue generado automáticamente el 2025-09-26 para proporcionar a asistentes IA una comprensión completa del estado y funcionalidad del sistema CBC Nextcloud AI Service.