Saltearse al contenido

Slide Generator Agent

Slide Generator Agent es un asistente que transforma textos y datos en diapositivas visuales.
Con él, los usuarios pueden generar presentaciones de forma automática, sin necesidad de diseñar cada slide manualmente.

¿Cómo funciona?

El agente utiliza un modelo de lenguaje (LLM) para interpretar el contenido que le entregas y generar una estructura de presentación.
Internamente, el componente envía el texto al LLM, que devuelve una lista de diapositivas en formato Markdown compatible con marp-cli.
Si el modelo principal falla, el agente puede recurrir a un modelo de respaldo (fallback) si está habilitado.
El resultado se entrega como un archivo de presentación que puede abrirse con cualquier herramienta que soporte Marp.

Entradas

  • Fallback: Modelo de chat de respaldo que se usará cuando el modelo principal falle o no esté disponible.
  • Model: [REQUERIDO] El modelo de lenguaje que el agente empleará para generar las diapositivas.
  • Tools: Lista de herramientas que el agente puede usar para realizar acciones adicionales durante la generación.
  • State custom schema: Define campos adicionales para el estado interno del agente, permitiendo que el agente maneje información personalizada a lo largo de su ejecución. Se debe proporcionar un esquema JSON con los campos deseados.
  • Enable Fallback Model: Indica si se debe activar el modelo de respaldo. Cuando está habilitado, el agente conectará un modelo de chat de respaldo para usarlo en caso de fallo del modelo principal.
  • Agent Description: Descripción útil cuando el agente se usa como herramienta o hijo de un esquema supervisor.
  • Agent Name: El nombre del ejecutor que se utilizará.
  • Input: Mensaje inicial que inicia la conversación con el agente.
  • Max Execution Time: Tiempo máximo en segundos que el agente puede ejecutar.
  • Max Iterations: Número máximo de iteraciones que el agente puede realizar.
  • Memory top message: Cantidad de mensajes que se pasan al agente como contexto. Usa -1 para pasar todos los mensajes.
  • Output Format: Formato de salida para la presentación. Requiere que marp-cli esté instalado.
  • Structured Output Schema: Define el formato de la respuesta del agente. Si la respuesta no coincide con este esquema, el proceso fallará. Se debe proporcionar un esquema JSON.
  • System Prompt: Mensaje del sistema que guía al agente.
  • Marp Theme: Tema de Marp que se aplicará a la presentación.
  • Tool Schema: Esquema de metadatos que se usa cuando el agente actúa como herramienta. Define los argumentos de entrada.
  • Use short term memory: Habilita el checkpointer para guardar el estado del agente en cada paso, permitiendo conversaciones con estado.
  • Stream: Habilita el streaming para recibir la respuesta del agente a medida que se genera.
  • User Prompt: Mensaje del usuario que inicia la interacción con el agente.
  • Verbose: Habilita el registro detallado para ver el proceso de pensamiento y las acciones del agente.

Salidas

  • Agent: Objeto CompiledGraph que representa el agente construido. Se obtiene mediante el método build_agent.
  • Response: Mensaje generado por el agente, tipo Message. Se obtiene mediante el método message_response.
  • Tool: Herramienta BaseTool construida por el agente, disponible a través del método build_tool.

Ejemplo de Uso

Supongamos que quieres crear una presentación sobre las ventas trimestrales de tu empresa:

  1. Configura las entradas

    • Model: gpt-4o-mini
    • Input: "Resumen de ventas del Q1 2024"
    • Output Format: marp
    • Marp Theme: default
    • Enable Fallback Model: true
    • Fallback: gpt-3.5-turbo
  2. Ejecuta el componente
    El agente procesa el texto y genera una serie de diapositivas en formato Markdown.

  3. Revisa la salida

    • Response: Contiene el contenido de las diapositivas.
    • Agent: Puedes usarlo para generar más contenido o para integrarlo en flujos de trabajo más complejos.
    • Tool: Si necesitas que el agente realice acciones adicionales (por ejemplo, buscar datos en una base de datos), puedes usar la herramienta generada.
  4. Exporta la presentación
    Con marp-cli, convierte el Markdown a PDF o HTML y compártelo con tu equipo.

Componentes Relacionados

  • LanggraphSlideGenBase: Clase base que provee la lógica común para generar diapositivas.
  • BaseTool: Tipo de herramienta que el agente puede construir para interactuar con otros sistemas.
  • CompiledGraph: Representa la estructura del agente una vez compilado, útil para depuración y reutilización.

Consejos y Mejores Prácticas

  • Define un esquema claro: Si usas Structured Output Schema, asegúrate de que el esquema sea preciso para evitar fallos.
  • Prueba con datos pequeños: Antes de generar presentaciones largas, prueba con fragmentos de texto para verificar el formato.
  • Habilita el streaming: Cuando trabajes con textos extensos, el streaming permite ver el progreso en tiempo real.
  • Configura un fallback: Siempre activa un modelo de respaldo para evitar interrupciones si el modelo principal no responde.
  • Revisa el tema de Marp: Elige un tema que se adapte al estilo de tu organización para mantener la coherencia visual.

Consideraciones de Seguridad

  • Privacidad de datos: El contenido enviado al LLM se procesa en servidores externos. Evita incluir información sensible o confidencial.
  • Control de acceso: Limita quién puede configurar y ejecutar el agente para evitar usos indebidos.
  • Revisión de salida: Siempre revisa la presentación generada antes de compartirla, especialmente si se usa un modelo de lenguaje que puede generar errores o contenido inesperado.