Initial commit

This commit is contained in:
renato97
2025-12-16 22:32:27 +00:00
commit 9fb01d5c22
20 changed files with 6952 additions and 0 deletions

194
README.md Normal file
View File

@@ -0,0 +1,194 @@
# Nextcloud AI Service v8 Final
Sistema completo de procesamiento de audio, PDF y generación de resúmenes colaborativos mediante 3 modelos de IA.
## 🚀 Características Principales
### 🤖 Sistema Unificado de 3 IAs
- **GPT-OSS-120B**: Extracción de puntos clave mediante DeepInfra API
- **Claude CLI**: Desarrollo de resúmenes integrales mediante Z.ai API
- **Gemini CLI**: Formato y estilo final mediante CLI de Google
### 📁 Procesamiento de Archivos
- **Audio**: Transcripción con Whisper y generación de resúmenes
- **PDF**: OCR avanzado y conversión a documentos editables
- **Documentos**: Generación de resúmenes automáticos
- **Sincronización**: Integración completa con Nextcloud via WebDAV
### 🎯 Características Técnicas
- **Docker Multi-etapa**: Optimizado para producción
- **GPU CUDA 12.1**: Aceleración por hardware NVIDIA
- **CLI Tools**: Claude CLI y Gemini CLI para máxima compatibilidad
- **Unificación**: Sistema colaborativo que genera un único documento final
## 🛠️ Instalación
### Requisitos
- Docker y Docker Compose
- NVIDIA GPU con drivers CUDA 12.1+
- 16GB+ RAM recomendado
- 20GB+ espacio en disco
### Configuración
1. **Clonar el repositorio**
```bash
git clone https://gitea.cbcren.online/ren/nextcloud-ai-v8-final.git
cd nextcloud-ai-v8-final
```
2. **Configurar variables de entorno**
```bash
cp .env.example .env
# Editar .env con tus credenciales
```
3. **Iniciar servicios**
```bash
docker-compose up -d
```
## ⚙️ Configuración de Variables de Entorno
### Nextcloud
```env
NEXTCLOUD_URL=https://tu-nextcloud.com
NEXTCLOUD_USER=tu_usuario
NEXTCLOUD_PASS=tu_contraseña
```
### APIs de IA
```env
GEMINI_API_KEY=tu_gemini_key
DEEPINFRA_API_KEY=tu_deepinfra_key
ANTHROPIC_BASE_URL=https://api.z.ai/api/anthropic
ANTHROPIC_AUTH_TOKEN=tu_z_ai_token
```
### Notificaciones (Opcional)
```env
TELEGRAM_TOKEN=tu_bot_token
TELEGRAM_CHAT_ID=tu_chat_id
```
## 📊 Arquitectura del Sistema
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ GPT-OSS-120B │───▶│ Claude CLI │───▶│ Gemini CLI │
│ (DeepInfra) │ │ (Z.ai) │ │ (Google) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────┐
│ Sistema Unificado │
│ (Documento Final Único) │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ Nextcloud Service │
│ (Sincronización WebDAV) │
└─────────────────────────────────────────────────────────────────┘
```
## 🔧 Uso
### Procesamiento Automático
1. Sube archivos de audio a la carpeta `Audios` en Nextcloud
2. El sistema detecta automáticamente y genera resúmenes
3. Los documentos finales se guardan en `Documentos`
4. Las versiones Markdown se sincronizan con `Notes`
### Monitoreo
- **Logs**: `docker-compose logs -f app`
- **Estado**: `docker-compose ps`
- **Telegram**: Notificaciones automáticas (si está configurado)
## 🎨 Salida del Sistema
El sistema genera documentos unificados con:
1. **Puntos Clave**: Extraídos por GPT-OSS-120B
2. **Resumen Integral**: Desarrollado por Claude CLI (500+ palabras)
3. **Quiz de Evaluación**: 10 preguntas de opción múltiple
4. **Metadatos**: Información del proceso colaborativo
## 🐳 Docker
### Estructura de Contenedores
- **app**: Servicio principal con soporte GPU
- **ollama**: Servidor Ollama para modelos locales
### Personalización
```bash
# Reconstruir contenedores
docker-compose build
# Reiniciar servicios
docker-compose restart
# Ver logs en tiempo real
docker-compose logs -f app
```
## 🚨 Troubleshooting
### Problemas Comunes
1. **Error de permisos Claude CLI**
- Solución: `CLAUDE_DANGEROUSLY_SKIP_PERMISSIONS=1` en docker-compose.yml
2. **Timeout en procesamiento**
- Aumentar `MODEL_TIMEOUT_SECONDS` en .env
3. **Problemas de GPU**
- Verificar drivers NVIDIA y CUDA 12.1+
- Comprobar `nvidia-smi`
4. **Error de APIs**
- Verificar keys y endpoints en .env
- Comprobar límites de las APIs
## 📈 Métricas y Optimización
### Rendimiento
- **Tiempo de procesamiento**: ~2-5 minutos por audio de 5min
- **Uso de VRAM**: ~8-12GB con modelos GPU
- **Calidad de resúmenes**: Formato académico con análisis profundo
### Optimización
- **VRAM Management**: Limpieza automática cada 5 minutos
- **Error Handling**: Reintentos automáticos con backoff exponencial
- **Timeout Configurable**: Adaptarse a diferentes cargas de trabajo
## 🔐 Seguridad
- **API Keys**: Almacenadas como variables de entorno
- **WebDAV**: Autenticación básica con HTTPS
- **CLI Tools**: Configuración segura sin permisos de root
- **Redes**: Aislamiento de contenedores Docker
## 🤝 Contribuciones
1. Fork del repositorio
2. Crear rama feature
3. Commit con cambios descriptivos
4. Pull Request para revisión
## 📄 Licencia
MIT License - Ver archivo LICENSE para detalles
## 📞 Soporte
Para problemas o preguntas:
- Crear issue en el repositorio
- Revisar logs del sistema
- Verificar documentación de variables de entorno
---
**Versión**: 8.0 Final
**Última Actualización**: Septiembre 2024
**Estado**: Producción estable