Visión general

Resumen

Esta página explica, para quienes administran el servidor, las funciones de inteligencia artificial de la plataforma base: qué apps las aportan y cómo se clasifican según la clasificación de IA ética, qué apps las usan, cómo acelerar la recogida de las tareas de IA con workers y por qué una instrucción puede ser lenta. En APS Conecta Gestión esto difiere, como indica el aviso al inicio del texto traducido.

Fuente: documentación de Nextcloud, «admin_manual/ai/overview», versión 3ad9158, licencia CC BY 3.0; traducida y adaptada para APS Conecta Gestión.

En APS Conecta Gestión esto difiere

Ver «En APS Conecta Gestión».

Nextcloud se esfuerza por llevar funciones de inteligencia artificial a APS Conecta Gestión. Esta sección destaca estas funciones, cómo funcionan y dónde encontrarlas. Todas estas funciones son completamente opcionales. Si se quieren tener en el servidor, hay que instalarlas mediante apps de APS Conecta Gestión independientes.

Visión general de las funciones de IA

APS Conecta Gestión usa la modularidad para separar la funcionalidad de IA en bruto de las interfaces gráficas de usuario y de las apps que usan esa funcionalidad. Así, cada instancia puede usar varios backends que aportan la funcionalidad a los mismos frontends, y la misma funcionalidad puede implementarse en varias apps que usan procesamiento en las instalaciones propias o proveedores externos de servicios de IA.

Función

App

Clasificación

Código abierto

Modelo disponible libremente

Datos de entrenamiento disponibles libremente

Privacidad: mantiene los datos en las instalaciones propias

Bandeja de entrada inteligente

Mail

Verde

Sí

Sí

Sí

Sí

Reconocimiento de objetos en imágenes

Recognize

Verde

Sí

Sí

Sí

Sí

Reconocimiento facial en imágenes

Recognize

Verde

Sí

Sí

Sí

Sí

Reconocimiento de acciones en vídeo

Recognize

Verde

Sí

Sí

Sí

Sí

Reconocimiento del género musical en audio

Recognize

Verde

Sí

Sí

Sí

Sí

Detección de inicios de sesión sospechosos

Suspicious Login

Verde

Sí

Sí

Sí

Sí

Recursos relacionados

Related Resources

Verde

Sí

Sí

Sí

Sí

Archivos recomendados

recommended_files

Verde

Sí

Sí

Sí

Sí

Procesamiento de texto con LLM

Local large language model 2 (ExApp) (ExApp)

Verde

Sí

Sí - modelo Llama 3.1 de Meta

Sí

Sí

OpenAI and LocalAI integration (mediante la API de OpenAI)

Rojo

No

No

No

No

OpenAI and LocalAI integration (mediante LocalAI)

Amarillo

Sí

Sí - p. ej., modelos Llama de Meta

No

Sí

OpenAI and LocalAI integration (mediante Ollama)

Amarillo

Sí

Sí - p. ej., modelos Llama de Meta

No

Sí

OpenAI and LocalAI integration (mediante IONOS AI Model Hub)

Naranja

No

Sí

No

No

OpenAI and LocalAI integration (mediante Plusserver)

Naranja

No

Sí

No

No

OpenAI and LocalAI integration (mediante Groqcloud)

Naranja

No

Sí

No

No

OpenAI and LocalAI integration (mediante MistralAI)

Naranja

No

Sí

No

No

IBM watsonx.ai integration (mediante IBM watsonx.ai como servicio)

Naranja

No

Sí - p. ej., modelos Granite de IBM

No

No

IBM watsonx.ai integration (mediante el software IBM watsonx.ai)

Naranja

No

Sí - p. ej., modelos Granite de IBM

No

Sí

Traducción automática

Local Machine Translation 2 (ExApp)

Verde

Sí

Sí - modelos MADLAD de Google

Sí

Sí

DeepL integration

Rojo

No

No

No

No

OpenAI and LocalAI integration (mediante la API de OpenAI)

Rojo

No

No

No

No

OpenAI and LocalAI integration (mediante LocalAI)

Verde

Sí

Sí

Sí

Sí

OpenAI and LocalAI integration (mediante Ollama)

Amarillo

Sí

Sí - p. ej., modelos Llama de Meta

No

Sí

OpenAI and LocalAI integration (mediante IONOS AI Model Hub)

Naranja

No

Sí

No

No

OpenAI and LocalAI integration (mediante Plusserver)

Naranja

No

Sí

No

No

OpenAI and LocalAI integration (mediante Groqcloud)

Naranja

No

Sí

No

No

OpenAI and LocalAI integration (mediante MistralAI)

Naranja

No

Sí

No

No

Voz a texto

Local Whisper Speech-To-Text 2 (ExApp)

Amarillo

Sí

Sí - modelos Whisper de OpenAI

No

Sí

OpenAI and LocalAI integration

Amarillo

Sí

Sí - modelos Whisper de OpenAI

No

No

OpenAI and LocalAI integration (mediante LocalAI)

Verde

Sí

Sí

Sí

Sí

OpenAI and LocalAI integration (mediante Ollama)

Amarillo

Sí

Sí - p. ej., Whisper

No

Sí

OpenAI and LocalAI integration (mediante IONOS AI Model Hub)

Naranja

No

Sí

No

No

OpenAI and LocalAI integration (mediante Plusserver)

Naranja

No

Sí

No

No

OpenAI and LocalAI integration (mediante Groqcloud)

Naranja

No

Sí

No

No

OpenAI and LocalAI integration (mediante MistralAI)

Naranja

No

Sí

No

No

Replicate integration

Amarillo

Sí

Sí - modelos Whisper de OpenAI

No

No

Generación de imágenes

Local Stable Diffusion 2 (ExApp)

Amarillo

Sí

Sí - modelo StableDiffusion XL de StabilityAI

No

Sí

Replicate integration

Amarillo

Sí

Sí - modelos StableDiffusion de StabilityAI

No

No

OpenAI and LocalAI integration (mediante la API de OpenAI)

Rojo

No

No

No

No

OpenAI and LocalAI integration (mediante LocalAI)

Verde

Sí

Sí

Sí

Sí

OpenAI and LocalAI integration (mediante Ollama)

Amarillo

Sí

Sí - p. ej., modelos Llama de Meta

No

Sí

OpenAI and LocalAI integration (mediante IONOS AI Model Hub)

Naranja

No

Sí

No

No

OpenAI and LocalAI integration (mediante Plusserver)

Naranja

No

Sí

No

No

OpenAI and LocalAI integration (mediante Groqcloud)

Naranja

No

Sí

No

No

OpenAI and LocalAI integration (mediante MistralAI)

Naranja

No

Sí

No

No

Context Chat

Nextcloud Assistant Context Chat

Amarillo

Sí

Sí

No

Sí

Nextcloud Assistant Context Chat (Backend)

Amarillo

Sí

Sí

No

Sí

Búsqueda de Context Chat

Nextcloud Assistant Context Chat

Amarillo

Sí

Sí

No

Sí

Context Agent

Nextcloud Context Agent (ExApp)

Verde

Sí

Sí

Sí

Sí

Texto a voz

Open AI Text To Speech

Rojo

No

No

No

No

Local Text To Speech (ExApp)

Amarillo

Sí

Sí

No

Sí

Generación de documentos

Nextcloud Office

Verde

Sí

Sí

Sí

Sí

Transcripción en directo

Local Live Transcription

Amarillo

Sí

Sí

No

Sí

Clasificación de IA ética

Hasta Hub 3, Nextcloud logró ofrecer funciones sin depender de blobs propietarios ni de servicios de terceros. Sin embargo, aunque existe una gran comunidad que desarrolla tecnologías éticas, seguras y respetuosas con la privacidad, hay muchas otras tecnologías relevantes que los usuarios podrían querer usar. Nextcloud quiere ofrecer a los usuarios estas tecnologías de vanguardia, pero también ser transparente. Para algunos casos de uso, ChatGPT puede ser una solución razonable, mientras que para datos más privados, profesionales o sensibles es primordial contar con una solución local, en las instalaciones propias y abierta. Para diferenciarlas, Nextcloud desarrolló una clasificación de IA ética (Ethical AI Rating).

  • La clasificación tiene cuatro niveles:

    • Rojo

    • Naranja

    • Amarillo

    • Verde

  • Se basa en puntos de estos factores:

    • ¿El software (tanto el de inferencia como el de entrenamiento) tiene una licencia libre y de código abierto?

    • ¿El modelo entrenado está disponible libremente para el autoalojamiento?

    • ¿Los datos de entrenamiento están disponibles y son de uso libre?

Si se cumplen todos estos puntos, se otorga una etiqueta verde. Si no se cumple ninguno, es roja. Si se cumple 1 condición, es naranja, y si se cumplen 2 condiciones, amarilla.

Funciones usadas por otras apps

Algunas de las funciones de IA de Nextcloud se realizan como API genéricas que cualquier app puede usar y para las que cualquier app puede aportar una implementación registrando un proveedor. Hasta ahora, son la traducción automática, la voz a texto, el texto a voz, la generación de imágenes, el procesamiento de texto y Context Chat.

Procesamiento de texto

Como se ve en la tabla anterior, hay varias apps que ofrecen procesamiento de texto con modelos de lenguaje de gran tamaño. En las apps que lo consumen, como Context Chat y el asistente, los usuarios pueden usar la funcionalidad de procesamiento de texto independientemente de qué app la implemente internamente.

Apps de frontend
  • Assistant para ofrecer una interfaz gráfica para las distintas tareas, un selector inteligente y la funcionalidad «Chat with AI»

  • Mail para resumir hilos de correo (cómo activarlo se explica en la documentación de Nextcloud Mail)

  • Summary Bot para resumir historiales de chat en Talk

  • Talk para resumir el historial de chat (cómo activarlo se explica en la documentación de Nextcloud Talk)

  • Text para ofrecer una interfaz gráfica integrada en el texto para las distintas tareas

  • Collectives, que integra el asistente mediante el selector inteligente para ofrecer una interfaz gráfica para las distintas tareas

  • Notes, que integra el asistente mediante el selector inteligente para ofrecer una interfaz gráfica para las distintas tareas

  • Deck, que integra el asistente mediante el selector inteligente para ofrecer una interfaz gráfica para las distintas tareas

  • Nextcloud Office, que integra el asistente mediante el selector inteligente para ofrecer una interfaz gráfica para las distintas tareas en los documentos

  • Clientes de escritorio para un «Chat with AI» sencillo

Apps de backend

Traducción automática

Como se ve en la tabla anterior, hay varias apps que ofrecen capacidades de traducción automática. Cada app aporta su propio conjunto de idiomas admitidos. En las apps que la consumen, como la app Text, los usuarios pueden usar la funcionalidad de traducción independientemente de qué app la implemente internamente.

Apps de frontend
  • Assistant, que ofrece una interfaz gráfica de traducción

  • Analytics para traducir las etiquetas de los gráficos

  • Talk para traducir mensajes y para traducciones en directo en las llamadas, junto con la app Live Transcription

  • Deck para ofrecer una interfaz de traducción en la descripción de las tarjetas

  • Text para ofrecer el menú de traducción

  • Notes para ofrecer una interfaz de traducción en el contenido de las notas

  • Collectives para ofrecer una interfaz de traducción en el contenido de las páginas

  • Nextcloud Office para ofrecer una interfaz de traducción en el contenido de los documentos

Apps de backend
  • translate2 (ExApp) - Ejecuta modelos de traducción de IA de código abierto localmente en el hardware del propio servidor (soporte al cliente disponible previa solicitud)

  • OpenAI and LocalAI integration (mediante la API de OpenAI) - Se integra con la API de OpenAI para aportar funcionalidad de IA desde los servidores de OpenAI (soporte al cliente disponible previa solicitud; ver IA como servicio)

  • DeepL integration - Se integra con la API de deepl para aportar funcionalidad de traducción desde los servidores de Deepl.com (solo con soporte de la comunidad)

Voz a texto

Como se ve en la tabla anterior, hay varias apps que ofrecen capacidades de voz a texto. En las apps que la consumen, como la app Talk, los usuarios pueden usar la funcionalidad de transcripción independientemente de qué app la implemente internamente.

Apps de frontend
Apps de backend

Generación de imágenes

Como se ve en la tabla anterior, hay varias apps que ofrecen capacidades de generación de imágenes. En las apps que la consumen, como la app auxiliar Text-to-Image, los usuarios pueden usar la funcionalidad de generación de imágenes independientemente de qué app la implemente internamente.

Apps de frontend
  • Assistant para ofrecer una interfaz gráfica y un selector inteligente

  • Deck para insertar imágenes con el selector inteligente

  • Text para insertar imágenes con el asistente y el selector inteligente

  • Notes para insertar imágenes con el asistente y el selector inteligente

  • Collectives para insertar imágenes con el asistente y el selector inteligente

  • Nextcloud Office para insertar imágenes con el asistente y el selector inteligente

Apps de backend

Texto a voz

Como se ve en la tabla anterior, hay varias apps que ofrecen capacidades de generación de voz. En las apps que la consumen, como la app del asistente, los usuarios pueden usar la funcionalidad de generación de voz independientemente de qué app la implemente internamente.

Apps de frontend
Apps de backend

Context Chat

La función Context Chat de Nextcloud se introdujo en Nextcloud Hub 7 (v28). Permite hacer preguntas al asistente sobre los propios documentos en APS Conecta Gestión. Hay que instalar tanto la app context_chat como la app externa context_chat_backend. Conviene estar preparado para que algunas cosas fallen o estén algo por pulir. ¡Nextcloud espera con interés los comentarios!

Apps de frontend
  • Assistant para ofrecer una interfaz gráfica para las tareas de Context Chat

  • Nextcloud Context Agent para ofrecer Context Chat como herramienta que el agente puede ejecutar en la función «Chat with AI»

Apps de backend
Apps proveedoras

Las apps pueden integrar su contenido con Context Chat para que pueda consultarse con Context Chat. Hasta ahora, las siguientes apps han implementado esta integración:

Búsqueda de Context Chat

La función de búsqueda de Context Chat de Nextcloud permite buscar en los propios documentos con lenguaje natural. Hay que instalar tanto la app context_chat como la app externa context_chat_backend. ¡Nextcloud espera con interés los comentarios!

Apps de frontend
  • Assistant para ofrecer una interfaz gráfica para las tareas de búsqueda de Context Chat

Apps de backend
Apps proveedoras

Ver la sección Context Chat anterior.

Context Agent

La función Context Agent de Nextcloud se introdujo en Nextcloud Hub 9 (v30). Permite pedir al asistente que ejecute tareas relacionadas con APS Conecta Gestión. Hay que instalar tanto la app context_agent como un proveedor de procesamiento de texto.

Apps de frontend
  • Assistant para ofrecer una interfaz gráfica para la función «Chat with AI»

Apps de backend
  • Nextcloud Context Agent para capacidades de IA agéntica en la función «Chat with AI» (soporte al cliente disponible previa solicitud)

Apps proveedoras

Generación de documentos

Desde Hub 11 puede hacerse que APS Conecta Gestión genere automáticamente documentos de Office con contenido. Esta funcionalidad está disponible en la app del asistente y es posible gracias a la app Nextcloud Office.

Apps de frontend
  • Assistant para ofrecer una interfaz gráfica para las tareas de búsqueda de Context Chat

Apps de backend
Apps proveedoras

Transcripción en directo

Desde Hub 25 Autumn puede hacerse que APS Conecta Gestión genere automáticamente subtítulos para las videollamadas y las llamadas de audio en Nextcloud Talk.

Apps de frontend
  • Talk para mostrar los subtítulos en las llamadas

Apps de backend
  • live_transcription - Ejecuta modelos de IA de voz a texto de pesos abiertos en el hardware del propio servidor (soporte al cliente disponible previa solicitud)

Flujos de trabajo de Windmill

Los endpoints de IA pueden usarse en los flujos de trabajo de Windmill. En el Windmill Hub hay algunos flujos de trabajo de ejemplo que muestran las posibilidades de combinar los flujos de trabajo de Windmill con la IA de APS Conecta Gestión.

Acelerar la recogida de las tareas de IA

La mayoría de las tareas de IA se ejecutan como parte del sistema de trabajos en segundo plano de APS Conecta Gestión, que de forma predeterminada solo ejecuta trabajos cada 5 minutos. Para recoger antes los trabajos programados, pueden configurarse workers de trabajos en segundo plano dentro del servidor o contenedor principal de APS Conecta Gestión que procesen las tareas de IA en cuanto se programan. Si el código PHP o los valores de configuración de APS Conecta Gestión cambian mientras un worker está en ejecución, esos cambios no surtirán efecto dentro del ejecutor. Por eso, el worker debe reiniciarse periódicamente. Esto se hace con un tiempo de espera de N segundos, lo que significa que cualquier cambio en la configuración o en el código se aplicará al cabo de N segundos (en el peor de los casos). Este tiempo de espera no afecta en modo alguno al procesamiento ni al tiempo de espera de las tareas de IA.

Cambiado en la versión 32.0.7: El comando para ejecutar el worker cambió de background-job:worker a taskprocessing:worker. Si se usa una versión anterior de APS Conecta Gestión, usar el comando antiguo.

Sesión de screen o tmux

Ejecutar el siguiente comando occ dentro de una sesión de screen o tmux, preferiblemente 4 o más veces, para procesar en paralelo varias solicitudes de usuarios distintos o del mismo usuario (y como requisito de algunas apps, como context_chat). Lo mejor es ejecutar un comando por sesión de screen o por ventana o panel de tmux, para mantener los registros visibles y el worker fácil de reiniciar.

set -e; while true; do sudo -E -u www-data php occ taskprocessing:worker -v -t 60; done

Para Nextcloud-AIO, usar este comando en el servidor anfitrión.

set -e; while true; do docker exec -it nextcloud-aio-nextcloud sudo -E -u www-data php occ taskprocessing:worker -v -t 60; done

Puede ajustarse el número de workers y el tiempo de espera (en segundos) según las necesidades. Los registros del worker pueden consultarse conectándose a la sesión de screen o tmux.

Servicio de systemd

  1. Crear un archivo de servicio de systemd en /etc/systemd/system/nextcloud-ai-worker@.service con el siguiente contenido:

[Unit]
Description=Nextcloud AI worker %i
After=network.target

[Service]
ExecStart=/opt/nextcloud-ai-worker/taskprocessing.sh %i
Restart=always
StartLimitInterval=60
StartLimitBurst=10

[Install]
WantedBy=multi-user.target
  1. Crear un script de shell en /opt/nextcloud-ai-worker/taskprocessing.sh con el siguiente contenido y asegurarse de hacerlo ejecutable:

#!/bin/sh
echo "Starting Nextcloud AI Worker $1"
cd /path/to/nextcloud
sudo -E -u www-data php occ taskprocessing:worker -v -t 60

Puede ajustarse el tiempo de espera según las necesidades (en segundos).

  1. Activar e iniciar el servicio 4 o más veces:

for i in {1..4}; do systemctl enable --now nextcloud-ai-worker@$i.service; done

El estado de los workers puede comprobarse con (sustituir 1 por el número del worker):

systemctl status nextcloud-ai-worker@1.service

La lista de workers puede comprobarse con:

systemctl list-units --type=service | grep nextcloud-ai-worker

Los registros completos de los workers pueden consultarse con (sustituir 1 por el número del worker):

journalctl -xeu nextcloud-ai-worker@1.service -f

Preguntas frecuentes

¿Por qué es lenta mi instrucción?

Los motivos de un rendimiento lento desde la perspectiva del usuario pueden ser

  • Usar procesamiento por CPU en lugar de GPU (a veces este límite lo impone la app usada)

  • Alta demanda de la función por parte de los usuarios: las instrucciones de los usuarios y las tareas de IA suelen procesarse en el orden en que se reciben, lo que puede causar retrasos cuando muchos usuarios acceden a estas funciones al mismo tiempo.