194 lines
6.3 KiB
Markdown
194 lines
6.3 KiB
Markdown
# 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 |