Saltar al contenido principal

Guía de Módulo: Plugins

El sistema de plugins es el mecanismo de extensibilidad de DashAI. Permite añadir nuevas capacidades — modelos, tareas, formatos de datos, transformaciones, explicadores y métricas — a la plataforma sin modificar su código base. Los plugins se distribuyen como paquetes Python estándar en PyPI y se instalan directamente desde la interfaz de DashAI.


Cómo Funciona el Sistema de Plugins

DashAI descubre plugins a través del mecanismo de entry points de Python. Cuando un paquete Python declara un entry point dashai.plugins en su pyproject.toml, el registro de componentes de DashAI lo detecta automáticamente al iniciar y pone sus componentes disponibles en las secciones correspondientes de la interfaz.

Esto significa que:

  • Un plugin que añade un nuevo modelo aparecerá en la lista de modelos disponibles del módulo de Modelos para la tarea que soporta.
  • Un plugin que añade un nuevo converter aparecerá en el panel CONVERT del Notebook.
  • Un plugin que añade un nuevo cargador de datos aparecerá en la selección de formato de carga.

No se requiere registro ni configuración manual — la declaración del entry point es suficiente.


Qué Pueden Aportar los Plugins

Un único paquete plugin puede aportar cualquier combinación de los siguientes tipos de componentes:

Tipo de ComponenteDónde aparece en DashAI
ModelosMódulo de Modelos — lista de modelos disponibles para la tarea correspondiente
TareasMódulo de Modelos — página de selección de tareas
Cargadores de datosMódulo de Datasets — selector de formato de carga
ConvertersMódulo Notebook — pestaña CONVERT
ExplicadoresMódulo de Modelos — pestaña EXPLAINABILITY
MétricasMódulo de Modelos — métricas de evaluación para la tarea correspondiente

Instalación de Plugins

Navega a la sección PLUGINS en la barra de navegación superior. Desde allí puedes:

  1. Buscar plugins publicados en PyPI por nombre o palabra clave.
  2. Ver descripciones de plugins, tipos de componentes soportados e información de versión.
  3. Instalar con un solo clic — DashAI gestiona la instalación con pip y el registro de componentes automáticamente.
  4. Reiniciar DashAI si se solicita — algunos plugins requieren reinicio para registrar completamente sus componentes.

Una vez instalados, los nuevos componentes aparecen de inmediato (o después del reinicio) en sus secciones correspondientes sin ninguna configuración adicional.


Estructura de un Plugin

Un plugin de DashAI es un paquete Python estándar con una estructura específica:

plugin_name/
├── LICENSE
├── pyproject.toml
├── README.md
└── src/
└── plugin_name/
├── my_model.py
└── MyModel.json

Cada componente se implementa como una clase Python que extiende la clase base apropiada de DashAI, acompañada de un archivo de esquema JSON que describe sus parámetros para la interfaz.

El pyproject.toml debe declarar un entry point por clase de componente:

[project.entry-points.'dashai.plugins']
MyModel = 'plugin_name.my_model:MyModel'

Y debe incluir las palabras clave apropiadas para que DashAI pueda categorizar el plugin:

[project]
keywords = ["DashAI", "Package", "Model", "Task"]

Palabras clave válidas: DashAI, Package, Task, Model, Dataloader, Converter, Explainer


Plugins Publicados Destacados

Las capacidades de generación de imágenes de DashAI se distribuyen ellas mismas como plugins:

PluginQué añade
dashai-stable-diffusion-v1-model-packageStable Diffusion v1 para generación de imágenes desde texto
dashai-flux-model-packageModelo Flux para generación de imágenes desde texto
dashai-stable-diffusion-controlnet-canny-modelControlNet con condicionamiento de bordes Canny

Esta arquitectura — en la que incluso las capacidades de primera parte son plugins — significa que la plataforma central se mantiene liviana y cada característica es opcional según tu hardware y caso de uso.


Desarrollar tus Propios Plugins

Crear un plugin requiere:

  1. Crear una clase Python que extienda la clase base correcta de DashAI para tu tipo de componente (p. ej., TabularClassificationModel para un modelo de clasificación tabular).
  2. Crear un archivo de esquema JSON que describa los parámetros del componente — esto es lo que DashAI usa para generar la interfaz de configuración automáticamente.
  3. Empaquetar el código con los entry points correctos en pyproject.toml.
  4. Probar localmente colocando el plugin en una carpeta plugins/ dentro de tu directorio de desarrollo de DashAI.
  5. Publicar en PyPI cuando esté listo.

Para una guía de desarrollo completa con ejemplos de código, referencias de clases base y un recorrido de publicación, consulta la sección Desarrollo de Plugins.

info

El mecanismo de entry points significa que cualquier paquete en PyPI con la estructura correcta funcionará — no hay proceso de aprobación ni registro central más allá del propio PyPI. También puedes instalar plugins desde rutas locales durante el desarrollo.