Saltar al contenido principal

Dificar la IA: Una guía con proyecto de demostración

Aprende qué es Dify y cómo construir una agencia de viajes de IA utilizando su interfaz de arrastrar y soltar de bajo código.
Actualizado 29 may 2025  · 12 min de lectura

Dify es una plataforma fácil de usar que te ayuda a construir aplicaciones de IA con poco o ningún código requerido. Funciona arrastrando y soltando bloques con diferentes funciones. La información fluye a través de los bloques y se procesa y combina para generar respuestas.

En este artículo, te explicaré los fundamentos de Dify guiándote a través de los pasos para crear una agencia de viajes con IA.

Mantenemos a nuestros lectores al día de lo último en IA enviándoles The Median, nuestro boletín gratuito de los viernes que desglosa las noticias clave de la semana. Suscríbete y mantente alerta en sólo unos minutos a la semana:

¿Qué es Dify?

Dify es una plataforma diseñada para simplificar el desarrollo de aplicaciones de IA sin necesidad de grandes conocimientos de codificación. Proporciona un entorno fácil de usar y de bajo código en el que los usuarios pueden crear aplicaciones arrastrando y soltando diferentes componentes.

Imagina Dify como una caja de herramientas digital llena de bloques prefabricados que se pueden unir para crear software funcional. Este enfoque hace que la tecnología sea más accesible, permitiendo que personas con escasos conocimientos de programación den vida a sus ideas.

Cada tipo de bloque tiene entradas y las transforma en diferentes salidas, según el tipo de bloque. La información pasa y se transforma de bloque a bloque, produciendo el resultado final.

Cómo empezar con Dify

Tenemos dos formas de utilizar Dify:

  • Configuración local.
  • Utilizando la versión en la nube.

En este tutorial, utilizaremos la versión en la nube. La versión en la nube de Dify ofrece un plan gratuito, por lo que es posible seguir este tutorial sin necesidad de una suscripción de pago.

Si te interesa la configuración local, la forma más sencilla es

  1. Descarga o clona Dify desde el repositorio oficial.
  2. Ejecuta Dify utilizando Docker como se describe en la sección Inicio rápido del README del repositorio.

Crear un Chatflow con Dify

Dify ofrece varios tipos de aplicaciones. Vamos a centrarnos en construir una aplicación Chatflow, que es un flujo de IA en el que los usuarios utilizan una interfaz de chat para interactuar con el agente.

Para crear una nueva aplicación Chatflow, primero haz clic en "Crear desde cero" y selecciona la opción "Chatflow".

Crear un flujo negro en Dify

Para crear el flujo, establecemos un nombre y pulsamos el botón "Crear":

Crear un Chatflow en Dify

Esto creará el siguiente flujo por defecto:

El Chatflow por defecto en Dify

Este flujo tiene tres bloques:

  • El bloque de inicio se encarga de poner en marcha el flujo. En el caso de un Chatflow, el flujo se inicia con el envío de un mensaje por parte del usuario.
  • El nodo LLM toma como entrada el mensaje del usuario y lo envía a un LLM, gpt-4 en este caso.
  • El nodo final se utiliza para mostrar un mensaje en el chat. En este ejemplo, está conectado al nodo LLM, por lo que la salida del nodo LLM se envía al chat.

Estos tres nodos juntos crean efectivamente un chat AI similar a ChatGPT. Antes de ejecutar esta aplicación, tenemos que instalar y configurar el plugin OpenAI.

Instalar y configurar el plugin OpenAI

Para instalar el plugin OpenAI, haz lo siguiente:

  1. Haz clic en el botón "Plugins" de la esquina superior derecha.

Añadir el plugin openai en dify

  1. Haz clic en "Instalar desde Marketplace".

Acceder al mercado en dify

  1. Escribe "openai" en el cuadro de búsqueda y haz clic en el plugin OpenAI.

Instalar el plugin OpenAI en dify

  1. Selecciona el plugin OpenAI y haz clic en "Instalar".

A continuación, tenemos que configurar la clave de la API de OpenAI. Si aún no tienes uno, créalo aquí. Ten en cuenta que utilizar la API de OpenAI no es gratuito, por lo que tendrás que asociar un método de pago a la clave de la API.

Una vez que tenemos una clave, podemos configurarla mediante:

  1. Selecciona el nodo LLM.

Seleccionar un bloque Dify

  1. Pulsa el icono de configuración situado junto al nombre del modelo.

Configurar un bloque LLM en dify

  1. Haz clic en el desplegable de modelos de la parte superior.

El desplegable del modelo

  1. Haz clic en "Configuración del proveedor del modelo" en la parte inferior de la lista.

Configurar el proveedor de modelos en dify

  1. Haz clic en "Configurar" en la sección de la clave API.

Configuración del modelo en dify

  1. Pega la clave API y haz clic en "Guardar".

Configurar la clave API de OpenAI en dify

Ejecutar la app

Ahora podemos ejecutar la aplicación pulsando el botón de vista previa:

Vista previa de la aplicación.

Ahora mismo, no es muy interesante, ya que sólo es un chatbot de IA. Recuerda que no hará nada hasta que el usuario envíe un mensaje.

Ejemplo de chat en dify

Crear variables

Dify permite almacenar el estado de la aplicación asignando valores a variables accesibles a todos los bloques.

Para crear una variable, haz clic en el botón Variable:

Añadir una variable en dify

Vamos a crear una variable para almacenar el nombre del usuario:

Configuración variable en dify

Esta configuración creó una variable llamada name que almacena una cadena (texto). Dejamos vacío el valor por defecto, por lo que inicialmente la variable será una cadena vacía.

Hay varias formas de rellenarlo, pero la más común es utilizar un bloque de IA para que lo deduzca automáticamente de la conversación. Aprenderemos a hacerlo más adelante. En primer lugar, aprendemos a comprobar el valor de una variable para controlar el flujo de la aplicación.

Bloques IF/ELSE

Para comprobar el valor de una variable, podemos utilizar un bloque IF/ELSE. Este bloque se utiliza para ejecutar distintas acciones en función del valor de una variable.

Para añadir un nuevo bloque, haz clic en el botón "+" de la parte inferior:

Añadir un bloque en dify

A continuación, selecciona el bloque que quieras añadir. En este caso, seleccionamos "SI/ELSE":

El bloque IF/ELSE en dify

A continuación, hacemos clic en el bloque para configurarlo seleccionando la variable name que hemos creado antes.

Para probarlo, añadimos dos bloques Respuesta. Estos bloques se utilizan para mostrar un mensaje en el chat. Conectamos uno de ellos a la salida IF (que se ejecuta cuando la condición es verdadera) y el otro a la salida ELSE (que se ejecuta cuando la condición es falsa).

Controlar el flujo con un bloque IF/ELSE en dify

Para la salida IF, establezco la cadena "Lo siento, no sé tu nombre", mientras que para la ELSE, establezco "¡Hola, {nombre}!". Podemos utilizar las llaves para inyectar una variable en una cadena. Esto también te será útil más adelante cuando construyas avisos.

Podemos probar este Chatflow haciendo clic en el botón "Vista previa". Ten en cuenta que un Chatflow se activa con un mensaje de usuario, así que primero tenemos que enviar un mensaje, como "Hola". Aquí tienes los resultados en función de si el nombre está puesto o no (yo lo puse manualmente en la variable de interfaz para el segundo ejemplo):

Resultados del control de caudal

Bloques asignador de variables y extractor de parámetros

Podemos utilizar la IA para identificar y extraer los valores de las variables mediante un bloque Extractor de Parámetros. Este bloque utiliza un LLM para extraer información de la conversación.

Bloque extractor de parámetros

Primero añadimos un bloque Extractor de Parámetros conectado a la rama IF. Ésta es la configuración del bloque:

Configuración del extractor de parámetros en dify

  • El INPUT VARIABLE se pone en sys.query, que corresponde al mensaje del usuario. Esto significa que el bloque Extractor de parámetros intentará extraer el valor del mensaje de usuario.
  • En EXTRACTION PARAMETERS, definimos la información que intentamos extraer. Por desgracia, aquí no podemos especificar directamente una variable, así que tenemos que redefinir esa información haciendo clic en el botón "+".

Configuración de parámetros en dify

  • El campo INSTRUCTION es la indicación para guiar al LLM sobre lo que debe hacer.
  • A continuación, añadimos un bloque Asignador de variables para asignar el valor extraído por el Extractor de parámetros (si lo hay) a la variable name.

Bloque asignador de variables

Asegúrate de asignar el name extraído a la variable name.

Configuración del asignador de variables

Después de este paso, la variable name podría seguir sin estar definida, porque podría darse el caso de que el usuario no hubiera proporcionado su nombre. Así que añadimos otro bloque IF/ELSE para comprobarlo. Si el nombre está puesto, saludamos al usuario. Si no, les preguntamos su nombre.

El flujo del extractor de nombres

He aquí un ejemplo de interacción:

Ejemplo de chat con el flujo del extractor de nombres en dify

Este flujo ilustra los fundamentos de los flujos de trabajo de Dify. No importa cuál sea el mensaje del usuario, si el nombre no está definido, intenta extraer el nombre del mensaje. Si falla, lo pide. De lo contrario, sólo saluda al usuario por su nombre.

En este punto, no hay bloqueo LLM, por lo que el agente no hará nada más.

Bloque de código

Los bloques de código pueden utilizarse para ejecutar código Python personalizado. Modifiquemos el flujo anterior para extraer la ubicación del usuario en lugar del nombre de usuario. A continuación, utilizaremos un bloque Código para realizar una petición a una API meteorológica y enviar la previsión meteorológica al usuario.

  • Crea una nueva variable llamada location.
  • Modifica los bloques IF/ELSE para comprobar location en lugar de name.
  • Modifica el bloque Extractor de Parámetros para extraer la ubicación en lugar del nombre.
  • Modifica el bloque Asignador de variables para asignar el valor extraído a la variable location.
  • Modifica los bloques Respuesta para pedir la localización y mostrar la localización, respectivamente.

Después de estos pasos, el flujo debería tener este aspecto:

Localización extractor caudal en dify

Aquí tienes un ejemplo de interacción:

Ejemplo de chat con el extractor de localizaciones

El siguiente paso es añadir un bloque Código después de tener la ubicación. Este bloque realiza una petición a la API de OpenWeather para solicitar la previsión meteorológica de ese lugar.

El uso de esta API es gratuito, siempre que no hagamos demasiadas peticiones. 

Sustituye el segundo bloque Respuesta por un bloque Código. 

El bloque Código

Configúralo para que reciba un único parámetro con el valor location.

Configurar el bloque de código

En cuanto al código Python, así es como podemos utilizar el paquete requests para obtener el tiempo de la API OpenWeather:

import requests

API_KEY = "PASTE_YOUR_API_KEY_HERE"

def main(location: str) -> str:
    base_url = "http://api.openweathermap.org/data/2.5/weather"
    params = {
        "q": location,
        "appid": API_KEY,
        "units": "metric",
    }
    response = requests.get(base_url, params=params)
    data = response.json()
    if response.status_code == 200:
        weather_desc = data["weather"][0]["description"]
        temp = data["main"]["temp"]
        return {
            "result": f"Current weather in {location}: {weather_desc}, Temperature: {temp}°C"
        }
    else:
        return {
            "result": "Could not retrieve weather data",
        }

Por último, conectamos la salida del nodo Código a un nodo Respuesta para mostrársela al usuario.

Mostrar el resultado del bloque de código

Ahora tenemos un Chatflow que puede decirnos la previsión meteorológica:

Muestra qué con el agente meteorológico

Proyecto: Crear un agente de IA planificador de viajes

Ahora tenemos todas las herramientas que necesitamos para construir una agencia de viajes con IA. Las posibilidades son infinitas, pero para no complicar demasiado este tutorial, lo haremos sencillo.

El agente se centrará en planificar un solo día del viaje. Empezará recopilando la ubicación del usuario y los tipos de actividades que le gusta hacer. Para ello, utilizamos dos variables:

  • location: Almacena la ubicación a la que viaja el usuario.
  • activities: Un arreglo de cadenas que almacenan las actividades que el usuario quiere hacer.

Configuración de variables de actividades en dify

He aquí cómo podemos crear un flujo para extraer ambas variables:

El flujo extractor de doble parámetro en dify

En este ejemplo, empezamos con un bloque de extracción de variables para extraer tanto la location como la lista de activities.

La configuración del extractor de doble parámetro

A continuación, utilizamos bloques IF/ELSE para comprobar si se ha extraído cada uno de estos parámetros y actualizar las variables en caso afirmativo. Al contrario que en los ejemplos anteriores, esto permite al usuario actualizar los valores.

Al final de la extracción de valores y asignación de variables, añadimos otro bloque IF/ELSE para comprobar si faltan valores. Si falta algo, pedimos explícitamente al usuario que lo proporcione.

Solicitar los valores cuando el usuario no los ha proporcionado.

Si se definen tanto location como activities, utilizamos el bloque Código que hemos creado antes para obtener el tiempo en la ubicación dada. Por último, proporcionamos el tiempo, la ubicación y las actividades a un bloque LLM para planificar el día del usuario.

La configuración LLM de la agencia de viajes.

El bloque LLM está configurado con un indicador del sistema que indica al modelo lo que debe hacer. El lugar, las actividades y el tiempo se inyectan en él. Aquí está la parte final del flujo:

El flujo final

Aquí tienes un ejemplo de interacción con el agente:

Ejemplo de interacción con la agencia de viajes en dify

Vemos en la respuesta que, gracias al nodo Código, el agente puede proporcionar el tiempo al usuario y tenerlo en cuenta al planificar las actividades.

Debido a la forma en que se configuró el flujo, si el usuario proporciona la información directamente en el primer mensaje, el agente le proporcionará directamente un plan para el día.

Otro ejemplo de interacción en el que el usuario proporciona directamente la información.

Definir un saludo personalizado

Te habrás dado cuenta de que el agente ha empezado saludando al usuario con un mensaje:

Mensaje de saludo

Para ello, debemos activar la función Abrir conversación.

Acceder a las funciones de Dify

Activar el mensaje de bienvenida en dify

Herramientas Dify

En este tutorial, hemos aprendido los bloques de construcción fundamentales de Dify. Un aspecto que no cubrimos fue el de las herramientas.

En Dify, las herramientas son potentes extensiones que permiten a tus agentes de IA interactuar con el mundo exterior más allá de las limitaciones de un modelo lingüístico. Aunque un LLM puede razonar y generar respuestas basándose en sus datos de entrenamiento y en el contexto de la solicitud, no tiene acceso en tiempo real a datos en vivo ni a servicios externos.

Las herramientas solucionan esto permitiendo a tu agente hacer llamadas a la API, consultar bases de datos, realizar cálculos, recuperar documentos, etc., actuando esencialmente como puente entre tu IA y las fuentes de información externas.

Acceder a las herramientas de Dify

Puedes configurar herramientas en Dify a través de la interfaz visual de la plataforma, especificando el tipo de herramienta (como peticiones HTTP, intérpretes de código o plugins de terceros), el esquema de entrada/salida y cualquier requisito de autenticación. Una vez configuradas, estas herramientas se pueden utilizar en tu flujo de agentes mediante bloques Herramienta, que te permiten pasar datos hacia y desde la herramienta y alimentar los resultados en nodos LLM u otros bloques lógicos.

Añadir un bloque de herramientas

Esto hace que tus agentes no sólo sean más inteligentes, sino también orientados a la acción, capaces de dar respuestas actualizadas y contextualmente relevantes interactuando con servicios del mundo real.

En nuestro ejemplo, hemos utilizado un bloque de código para realizar una petición a la API meteorológica. Una alternativa habría sido crear una herramienta y proporcionársela al LLM.

Conclusión

En este tutorial, hemos explorado algunos de los bloques fundamentales que necesitarás para empezar a trabajar con Dify. Sin embargo, Dify ofrece muchas más funciones y capacidades por descubrir.

Para consolidar tu comprensión, un gran ejercicio sería mejorar la agencia de viajes que hemos creado. Considera la posibilidad de añadir funciones como la capacidad de búsqueda en Internet para encontrar actividades locales en línea, lo que puede enriquecer la funcionalidad del agente y ofrecer sugerencias más dinámicas.

Si te interesan los constructores de agentes de IA como Dify, te recomiendo que eches un vistazo a nuestros otros tutoriales para seguir aprendiendo:


François Aubry's photo
Author
François Aubry
LinkedIn
Ingeniero full-stack y fundador de CheapGPT. Enseñar siempre ha sido mi pasión. Desde mis primeros días como estudiante, busqué con entusiasmo oportunidades para dar clases particulares y ayudar a otros estudiantes. Esta pasión me llevó a realizar un doctorado, en el que también trabajé como ayudante de profesor para apoyar mis esfuerzos académicos. Durante esos años, encontré una inmensa satisfacción en el entorno tradicional del aula, fomentando las conexiones y facilitando el aprendizaje. Sin embargo, con la llegada de las plataformas de aprendizaje en línea, reconocí el potencial transformador de la educación digital. De hecho, participé activamente en el desarrollo de una plataforma de este tipo en nuestra universidad. Estoy profundamente comprometida con la integración de los principios de la enseñanza tradicional con metodologías digitales innovadoras. Mi pasión es crear cursos que no sólo sean atractivos e informativos, sino también accesibles para los alumnos en esta era digital.
Temas

Aprende IA con estos cursos

Programa

AI Fundamentals

0 min
Discover the fundamentals of AI, dive into models like ChatGPT, and decode generative AI secrets to navigate the dynamic AI landscape.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado
An AI juggles tasks

blog

Cinco proyectos que puedes crear con modelos de IA generativa (con ejemplos)

Aprende a utilizar modelos de IA generativa para crear un editor de imágenes, un chatbot similar a ChatGPT con pocos recursos y una aplicación clasificadora de aprobación de préstamos y a automatizar interacciones PDF y un asistente de voz con GPT.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

7 proyectos de IA para todos los niveles

Desarrolla tu portafolio y mejora tus habilidades para crear soluciones innovadoras a problemas complejos trabajando en proyectos de IA.
Abid Ali Awan's photo

Abid Ali Awan

8 min

blog

Cómo aprender IA desde cero en 2025: Guía completa de los expertos

Descubre todo lo que necesitas saber sobre el aprendizaje de la IA en 2025, desde consejos para empezar, recursos útiles y opiniones de expertos del sector.
Adel Nehme's photo

Adel Nehme

15 min

blog

Las 13 habilidades esenciales del ingeniero de IA que debes conocer

Ahora se demandan conocimientos de ingeniería de IA. Aprende todo sobre las habilidades esenciales necesarias en esta completa guía.
Austin Chia's photo

Austin Chia

10 min

Tutorial

Cómo ejecutar Stable Diffusion:

Explora la IA generativa con nuestro tutorial introductorio sobre Stable Diffusion. Aprende a ejecutar el modelo de aprendizaje profundo en línea y localmente para generar imágenes detalladas.
Kurtis Pykes 's photo

Kurtis Pykes

7 min

Tutorial

Tutorial de la API de OpenAI Assistants

Una visión completa de la API Assistants con nuestro artículo, que ofrece una mirada en profundidad a sus características, usos en la industria, guía de configuración y las mejores prácticas para maximizar su potencial en diversas aplicaciones empresariales.
Zoumana Keita 's photo

Zoumana Keita

14 min

Ver másVer más