Saltearse al contenido

Should Run Next

Should Run Next es un componente que decide si una tarea dentro de tu flujo de trabajo debe continuar ejecutándose. Se basa en la respuesta de un modelo de lenguaje (LLM) para determinar si la condición es “sí” o “no”. Si la respuesta es “no”, el flujo se detiene antes de ejecutar la siguiente etapa.

¿Cómo funciona?

El componente recibe una pregunta, un contexto y un modelo de lenguaje. Con estos datos crea una plantilla de prompt que le pide al LLM que responda con “yes” o “no”.

  1. Se construye el prompt con la pregunta y el contexto.
  2. Se envía al LLM y se espera una respuesta.
  3. Si la respuesta no es clara, el componente intenta de nuevo hasta 3 veces (valor por defecto).
  4. Cuando la respuesta es “yes”, el flujo continúa y el componente devuelve el contexto tal cual.
  5. Cuando la respuesta es “no”, el componente marca el flujo como detenido (self.stop()), evitando que se ejecuten tareas posteriores.

El proceso se realiza localmente dentro del dashboard; no se llama a ninguna API externa aparte de la que ya utiliza el LLM que hayas configurado.

Entradas

  • llm: El modelo de lenguaje que se usará para responder la pregunta.

    • Visible en: Todas las ejecuciones.
  • question: La pregunta que quieres que el LLM evalúe.

    • Visible en: Todas las ejecuciones.
  • context: Información adicional que el LLM necesita para decidir.

    • Visible en: Todas las ejecuciones.
  • retries: Número de intentos que el componente hará si la respuesta no es clara.

    • Visible en: Todas las ejecuciones.

Salidas

  • context: El mismo texto de entrada que se pasó al componente. Se devuelve solo cuando la condición es “yes”; si la condición es “no”, el flujo se detiene y no se devuelve nada.

Ejemplo de Uso

Supongamos que tienes un flujo que procesa órdenes de clientes y quieres asegurarte de que la orden cumpla ciertos criterios antes de enviarla a producción.

  1. Pregunta: “¿La orden tiene un total mayor a 1000 USD?”
  2. Contexto: “Orden #12345, total 1200 USD, cliente VIP.”
  3. LLM: Un modelo de OpenAI configurado en tu dashboard.

El componente enviará el prompt al LLM. Si el modelo responde “yes”, la orden seguirá al siguiente paso (por ejemplo, envío a producción). Si responde “no”, el flujo se detendrá y la orden no se procesará.

Componentes Relacionados

  • Prompt Template – Herramienta para crear plantillas de texto que se envían al LLM.
  • LLM – El modelo de lenguaje que responde a las preguntas.
  • Stop – Acción que detiene la ejecución del flujo cuando la condición no se cumple.

Consejos y Mejores Prácticas

  • Define preguntas claras: Cuanto más específica sea la pregunta, más probable será que el LLM responda con “yes” o “no”.
  • Revisa el contexto: Asegúrate de que el contexto contenga toda la información necesaria para que el LLM tome una decisión correcta.
  • Ajusta los retries: Si notas que el LLM necesita más intentos para dar una respuesta clara, aumenta el valor de retries.
  • Monitorea los resultados: Usa los logs del dashboard para verificar que el componente esté tomando las decisiones esperadas.

Consideraciones de Seguridad

  • Privacidad de datos: El contexto que envías al LLM puede contener información sensible. Asegúrate de que el modelo y la configuración de privacidad cumplan con las políticas de tu organización.
  • Control de acceso: Limita quién puede configurar y ejecutar este componente para evitar decisiones automáticas no autorizadas.