Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 11 Current »

Disponible desde la versión 6.2.0-Xenon

Introducción

En este tutorial se va a crear un chatbot sencillo al que preguntar sobre cualquier tema que el usuario quiera. Concretamente, se va a utilizar los servicios de OpenAI, por lo que se requiere de una cuenta de ChatGPTPlus para poder seguir el ejemplo.

Para crear el chatbot, se van a utilizar los siguientes nodos:

  • Conversation Chain: para generar el asistente de chat en el que introducir información y recibir las respuestas.

  • ChatOpenAI: como motor de LLM a utilizar, específico para ChatGPT.

  • Buffer Memory: componente para recordar la conversación actual.

Pasos previos

Acceder a la instancia de LLM Flow

El primer paso de todos consistirá en acceder a la instancia de LLM Flow del usuario. Para ello, se navegará al menú de Machine Learning e IA > Gestión de Flujos LLM.

image-20250205-111243.png

Se accederá al listado de instancias de LLM Flow. Si no existe todavía ninguna, el usuario tendrá que crear una pulsando en el botón de «+» situado en la parte superior derecha de la pantalla.

image-20250205-111410.png

Todo usuario, excepto aquellos con rol de «administrador», sólo podrán tener una única instancia de LLM Flow creada en todo momento.

Se mostrará entonces el asistente de creación de una nueva instancia:

image-20250205-111641.png

Únicamente habrá que introducir el nombre con el que se quiere identificar la instancia, y pulsar en el botón de «Crear».

image-20250205-111743.png

Se regresará entonces al listado de instancias del usuario, donde ya aparecerá la instancia recién creada.

Se haya creado una nueva, o si ya existiese, en primer lugar habrá que iniciar la instancia. Para ello, se pulsará en el botón de arrancar instancia «▶» situado en las opciones del listado.

image-20250205-112235.png

Pasados unos segundos, o en caso de que ya se encontrase arrancada la instancia, se mostrará el botón de parar instancia «⏹».

image-20250205-112529.png

Con la instancia arrancada, para acceder a ella habrá que pulsar en el botón de mostrar instancia «👁» situado en las opciones de la instancia.

image-20250205-112603.png

Crear un nuevo flujo

Tras acceder a la instancia de LLM Flow, se mostrará la pantalla de chatflows disponibles. Si no se ha creado ninguno hasta ahora, ésta se mostrará sin contenido.

image-20250205-113314.png

Para crear un nuevo chatflow, se pulsará en el botón de «+ Add New» situado en la parte derecha:

image-20250205-113530.png

Esto abrirá una nueva ventana con el liezo de creación de nodos.

image-20250205-113752.png

Para ir añadiendo nodos, se pulsará en el botón de «+» situado en la parte derecha.

image-20250205-134030.png

Se abrirá entonces una barra lateral en la que se podrá escoger el nodo que se necesite.

image-20250205-134117.png

Para guardar el flujo, se pulsará el botón de «💾»:

image-20250205-113953.png

Se mostrará entonces un modal en el que introducir el nombre del chatflow con el que guardarlo:

image-20250205-115342.png

Creación del chatbot

Para crear el chatbot, se irán añadiendo los siguientes nodos con sus respectivas configuraciones.

Conversation Chain

Este nodo será el encargado de llevar a cabo la conversación, pudiendo definir el trasfondo de la conversación y moderando sus contenidos. Se encuentra en LangChain > Chains > Conversation Chain.

image-20250205-144643.png

Una vez arrastrado al lienzo, por defecto tiene el siguiente aspecto:

image-20250205-144719.png

Este nodo sólo tiene una propiedad configurable:

  • Additional Parameters:

    • System Message: este texto define el trasfondo del chatbot. Aquí se puede indicar cómo actuará, a grandes rasgos, la IA a la hora de responder e interactuar con el usuario. Por defecto viene configurado de la siguiente forma:

image-20250205-145451.png

En este apartado se puede ser tan creativo como se quiera.

image-20250205-150042.png

Este nodo cuenta con cuatro conexiones de entrada:

  • Chat Model: que hace referencia al nodo de chat que se quiere utilizar.

  • Memory: el nodo de almacenamiento para guardar y recuperar las conversaciones.

  • Chat Prompt Template: se refiere a un nodo que permite disponer de un esquema para representar y dar contexto al mensaje del chat. En caso de que se utilice, se obviará la opción de «System Message».

  • Input Moderation: el nodo que permite detectar texto que pueda generar resultados ofensivos e impedir que se envíe al modelo lingüístico.

También cuenta con otro de salida:

  • Conversation Chain: otro nodo similar a este, por si se quiere añadir otro tipo de cadena de conversación diferente.

La documentación de este módulo se puede consultar en el siguiente enlace:

https://docs.flowiseai.com/integrations/langchain/chains/conversation-chain

Para este tutorial, no se cambiará ninguna propiedad por defecto. Una vez que se generen todos los nodos necesarios se realizarán las conexiones pertinentes.

ChatOpenAI

Este nodo sirve para configurar ChatGPT.

image-20250205-134307.png

Una vez arrastrado al lienzo, por defecto tiene el siguiente aspecto:

image-20250205-135210.png

Este nodo contiene las siguientes propiedades:

  • Connect Credential: hace referencia al token de usuario de OpenAI, la propietaria de ChatGPT. Si se tiene una introducida, se podrá seleccionar desde el desplegable. En caso de no disponer aun de ninguna, se podrá crear una inmediatamente.

image-20250205-135354.png
  • Model Name: el modelo de ChatGPT que se quiere utilizar.

image-20250205-135454.png

Los modelos disponibles dependerán de la versión de Flowise instalada en dicho momento. Cada modelo implica un coste diferente. Consultar los precios de OpenAI.

  • Temperature: hiperparámetro que afecta al cálculo de las probabilidades de los tokens cuando se genera la salida a través del LLM. El valor de la temperatura oscila entre 0 y 2, donde los valores más bajos indican un mayor determinismo y los más altos una mayor aleatoriedad.

  • Allow Image Uploads: permite que el usuario incluya una imagen para preguntar sobre ella. Si se activa esta opción, se utilizará automáticamente el modelo de «gpt-4-vision-preview» cuando la imagen se suba al chat.

  • Additional Parameters: es posible configurar otros parámetros más avanzados del nodo, como son:

    • Max Tokens: el número máximo de tokens que se pueden generar en la finalización del chat. Este valor puede utilizarse para controlar los costes del texto generado a través de la API.

    • Top Probability: una alternativa al muestreo con temperatura, en la que el modelo considera los resultados de los tokens con masa de probabilidad top_p. Así, 0,1 significa que sólo se consideran los tokens que comprenden el 10% superior de masa de probabilidad. No se recomienda utilizar a la vez que la temperatura.

    • Frequency Penalty: valor entre -2,0 y 2,0. Los valores positivos penalizan los tokens nuevos en función de su frecuencia existente en el texto hasta el momento, lo que disminuye la probabilidad de que el modelo repita textualmente la misma línea.

    • Presence Penalty: número comprendido entre -2,0 y 2,0. Los valores positivos penalizan los tokens nuevos en función de si aparecen en el texto hasta el momento, lo que aumenta la probabilidad de que el modelo hable de temas nuevos.

    • Timeout: tiempo máximo de espera para recibir la respuesta.

    • BasePath: flowise admite el uso de URL base y encabezados personalizados para Chat OpenAI. Los usuarios pueden usar fácilmente integraciones como OpenRouter, TogetherAI y otros que sean compatibles con la API de OpenAI.

    • Proxy URL: en caso de encontrarse tras un proxy, se podrá indicar aquí la dirección del mismo.

    • Stop Sequence: lista de palabras reservadas para la generación. Se puede usar una coma para separar varias palabras reservadas.

    • BaseOptions: JSON en el que añadir otras opciones.

    • Image Resolution: la resolución de la imagen que será utilizada por el modelo para analizarla. Se puede configurar en «low», «high» o «auto».

Además, este nodo cuenta con dos conexiones a considerar. Uno de entrada:

  • Cache: que se puede conectar a otro nodo que almacene la información del chat.

Y otro de salida:

  • ChatOpenAI: que se puede conectar a una cadena conversacional para generar el chatbot.

La documentación de este módulo se puede consultar en el siguiente enlace:

https://docs.flowiseai.com/integrations/langchain/chat-models/azure-chatopenai

Para este tutorial, únicamente se configurarán las siguientes opciones:

  • Connect Credential: con el token de OpenAI.

  • Model Name: se utilizará «gpt-3.5-turbo».

  • Temperature: 0,9

No se configurarán propiedades adicionales, pero se anima a cambiar las distintas opciones para adaptar el chatbot al gusto.

Buffer Memory

Este nodo tiene la función de almacenar las conversaciones del chatbot y recuperarlas posteriormente. Se encuentra en LangChain > Memory > Buffer Memory.

image-20250206-072110.png

Una vez arrastrado al lienzo, por defecto tiene el siguiente aspecto:

image-20250206-072144.png

Este nodo sólo tiene una propiedad configurable:

  • Additional Parameters:

    • Session ID: un identificador para recuperar y almacenar mensajes. Si no se especifica, se usará un ID aleatorio.

    • Memory Key: una clave usada para formatear mensajes en la plantilla de prompt. Por defecto se usa «chat_history».

image-20250206-072426.png

Este nodo no tiene conexiones de entrada, pero si uno de salida:

  • Buffer Memory: que conecta con el nodo que lo utilizará.

La documentación de este módulo se puede consultar en el siguiente enlace:

https://docs.flowiseai.com/espanol/documentacion-oficial/integraciones/langchain/memory/buffer-memory

Para este tutorial, no se cambiará ninguna propiedad por defecto.

Conexión de nodos

Una vez que se han creado los nodos necesarios, se llevará a cabo la interconexión entre ellos.

  • El nodo de ChatOpenAI se conectará al nodo de Conversation Chain mediante la conexión de «Chat Model».

  • El nodo de Buffer Memory se conectará al nodo de Conversation Chain mediante la conexión de «Memory».

Tras las conexiones, el flujo debería de quedar tal que así:

image-20250206-073223.png

Probando el chatbot

Tras llevar a cabo la configuración y conexión de los nodos, se procederá a guardar el flujo creado. Seguidamente, se pulsará en el botón de chat para lanzar el chatbot.

image-20250206-073410.png

Se abrirá entonces la ventana de chat con el asistente, en donde se podrá empezar a conversar.

image-20250206-073525.png

  • No labels