JPO : Webinar d'information sur nos formations → RDV mardi à 17h30.

Rasa: la caja de herramientas de código abierto para crear tus chatbots de IA

Rasa es un artículo conversacional ultra-potente diseñado para desarrolladores. Descubre cómo funciona, por qué supera los límites de las soluciones convencionales, y cómo comenzar a crear asistentes inteligentes personalizados y seguros.

Crear un chatbot es fácil. Crear un asistente conversacional inteligente, seguro y capaz de seguir un razonamiento en múltiples intercambios, es otra historia. Muchas soluciones prometen el oro y el moro… siempre y cuando aceptes permanecer en su ecosistema cerrado.

No es el caso de Rasa. Este artículo de código abierto permite diseñar agentes conversacionales poderosos, controlados de principio a fin, y sobre todo perfectamente adaptados a tus necesidades empresariales. Sin compromisos en la lógica, ni en la soberanía de los datos. Rasa entrega las llaves a los desarrolladores. ¡Te contamos todo!

¿Qué es exactamente Rasa?

Es un artículo de código abierto que permite diseñar asistentes virtuales capaces de entender el lenguaje natural e interactuar de forma contextual con los usuarios. Fue lanzado en 2016 por la startup Rasa Technologies, con una ambición explícita: ofrecer una alternativa ética y controlable a las plataformas propietarias como Dialogflow (Google), Lex (Amazon) o Watson (IBM). En otras palabras: mantienes el control sobre tus datos, tu código y tu lógica de negocio. El artículo se basa en dos pilares: Rasa NLU y Rasa Core.

El primero, NLU (Natural Language Understanding), se utiliza para analizar los mensajes y extraer la intención. Por ejemplo, «reservar un billete». También detecta las entidades asociadas (fecha, destino…). Por su parte, Rasa Core gestiona el diálogo en contexto. Es decir, el hilo de la conversación, las acciones a desencadenar y las respuestas a proporcionar. Desde 2020, estos dos módulos se han fusionado en una solución unificada: Rasa Open Source. También existe una versión profesional (Rasa Pro), con características avanzadas para las empresas.

Lo que distingue a Rasa de la competencia es su enfoque «code-first». Las conversaciones no se diseñan con bloques visuales, sino que se definen en archivos estructurados. Estos archivos YAML se entrenan mediante modelos de machine learning. Luego pueden enriquecerse libremente con Python. ¡Un enfoque ideal para desarrolladores y equipos de Data!

Una arquitectura que te da el control

Bajo el capó, Rasa se basa en una arquitectura modular diseñada para hacer que cada etapa del diálogo sea controlable y entrenable. No se trata de un «drag & drop», sino de una lógica programada y personalizable, pensada para la evolución constante.

Todo comienza con Rasa NLU, el motor de comprensión del lenguaje natural. Toma un mensaje de entrada. Por ejemplo: «Quiero reservar un vuelo para Tokio el próximo martes». Extrae dos cosas: la intención (lo que el usuario quiere hacer, aquí reservar un vuelo), y las entidades (la información clave, como el destino Tokio y la fecha).

Estos elementos se definen en un archivo YAML llamado nlu.yml, que contiene ejemplos de enunciados de entrenamiento. Luego, Rasa utiliza modelos de machine learning para generalizar el reconocimiento. Una vez entendido el mensaje, Rasa Core toma el relevo. Utiliza el historial del diálogo, las reglas de conversación (rules.yml), los escenarios tipo «historia» (stories.yml), y políticas de ML como MemorizationPolicy o TEDPolicy. Esto es lo que le permite determinar la próxima acción a ejecutar: responder, hacer una pregunta, llamar a una API…

Las acciones se definen en el archivo domain.yml y pueden enriquecerse con scripts personalizados de Python en un archivo actions.py. El resultado es una lógica conversacional flexible, adaptable y dinámica, capaz de gestionar diálogos con múltiples giros y cambios. Algo que las soluciones más rígidas tienen dificultades para hacer.

¿Por qué elegir Rasa en lugar de Dialogflow o Lex?

Donde soluciones como Dialogflow (Google), Lex (Amazon) o Watson (IBM) apuestan por la rapidez de implementación, Rasa apuesta por la profundidad funcional y la independencia. Puedes instalarlo localmente, en tus servidores, o en la nube de tu elección. Por lo tanto, no hay dependencia alguna de un proveedor externo, y sobre todo no hay fuga de datos hacia una plataforma de terceros. Esto es un punto indispensable para los sectores sensibles como la banca, la salud o la administración. Otro punto a favor: una lógica de negocio a medida.

Con sus acciones Python, Rasa permite integrar reglas complejas, llamadas API, cálculos, verificaciones, accesos a una base de datos… todo lo que supera el marco de una simple FAQ. Un bot Rasa puede convertirse en un verdadero agente de negocio. Y no hay «caja negra», ni interfaz opaca aquí: todo está en el código. Puedes ver lo que está pasando, puedes versionar tus conversaciones, probar tu asistente y mejorarlo continuamente. Rasa fomenta una cultura DevOps del chatbot.

Lo que realmente se puede hacer con Rasa

Este artículo no te propone construir un simple asistente que responda a tres preguntas. Te permite diseñar un agente conversacional inteligente, capaz de interactuar, razonar, memorizar y actuar. Gracias a sus políticas de diálogo no lineales, Rasa permite salir del esquema «si el usuario dice A, entonces responde B». Es capaz de adaptarse a un usuario que cambia de tema en el transcurso de la conversación, gestionar conversaciones largas con múltiples intenciones, y reaccionar a datos externos (clima, stock, citas…). Es por lo tanto perfecto para construir asistentes complejos: soporte al cliente, bot de reclutamiento, interfaz médica, agente de RRHH…

Además, cada «respuesta» puede desencadenar una acción escrita en Python. Puede tratarse, por ejemplo, de verificar una base de datos para saber si un producto está disponible. El chatbot puede enviar un correo o una notificación, integrar un motor de recomendación, gestionar un túnel de reserva completo… estas acciones le permiten realmente actuar en lugar de simplemente responder.

Por otro lado, Rasa gestiona de forma nativa varios idiomas, a condición de entrenar la NLU con los conjuntos de datos adecuados. Por lo tanto, se puede crear un bot en francés, inglés, español… o incluso en lenguaje formal o coloquial. También se puede conectar a cualquier canal: Webchat, Messenger, WhatsApp, Slack, Teams… Y si no está previsto, se puede codificar su propio conector.

Algunos ejemplos de uso

En varios sectores críticos, Rasa ya se utiliza a gran escala. Son ámbitos donde la seguridad, la flexibilidad y la lógica de negocio son imperativos.

Un hospital puede desplegar un chatbot Rasa que interactúe con los pacientes, comprenda sus síntomas, proponga un primer triaje y oriente hacia el servicio adecuado. Todo ello respetando las estrictas normas de confidencialidad médica, ya que el bot puede alojarse internamente, sin pasar por una nube estadounidense.

Asimismo, instituciones financieras utilizan Rasa para automatizar el soporte al cliente en tareas de alto valor: declaración de siniestros, cambio de dirección, actualización de datos bancarios, envío de certificados… Aquí, cada acción implica reglas específicas, una autentificación, llamadas de API. Todas esas cosas que un simple chatbot no-code no gestiona de manera nativa.

En el sector minorista (retail), un comerciante electrónico puede integrar Rasa a su CMS. Esto le permite crear un asistente capaz de consultar el stock en tiempo real, recomendar productos según el perfil del usuario. También puede hacer seguimiento de los pedidos, gestionar devoluciones. Es un servicio al cliente aumentado, con una interfaz más fluida que las FAQ clásicas.

Un ecosistema muy rico

Lo que hace a Rasa tan potente es el ecosistema que gira a su alrededor. Un bot no es solo NLP: es entrenamiento, pruebas, iteraciones. Y aquí nuevamente, Rasa tiene todo cubierto.

La interfaz gráfica Rasa X permite visualizar las conversaciones reales, corregir las malas predicciones de intención o entidad. También sirve para añadir nuevos datos de entrenamiento, o para probar conversaciones en condiciones reales.

Para los modelos NLP, Rasa es agnóstico. Puedes utilizar los pipelines integrados (CountVectorizer, DIETClassifier…), spaCy para aprovechar modelos lingüísticos entrenados. Para BERT, RoBERTa y otros gigantes del NLP, Hugging Face Transformers está a disposición. Esto permite ajustar el nivel de sofisticación del bot en función de las necesidades y los recursos.

Pero no olvidemos la guinda del pastel: Rasa se beneficia de una comunidad técnica muy comprometida, con una documentación clara, ejemplos concretos, un foro activo y extensiones desarrolladas por la comunidad. Y para las empresas, Rasa también ofrece una versión Pro con soporte dedicado, características avanzadas de monitoreo, clustering, analítica…

Tomar el control de Rasa: ¿por dónde empezar?

Para ser bien aprovechado, Rasa requiere un mínimo de conocimientos técnicos. No es necesario ser un Data Scientist experimentado, pero se recomienda una base en Python y una familiaridad con el NLP.

Para lanzar un bot de demostración funcional en local, con NLU, Core y acciones personalizadas, un simple «pip install rasa» luego «rasa init» es suficiente. Es la mejor manera de descubrir la arquitectura del proyecto. Luego se te llevará a manipular archivos yml de tipo nlu, stories, rules, domain, actions

Es ahí donde realmente se siente la filosofía code-first de Rasa: todo es versionable, modular, explícito. Puedes comenzar simple, con un bot Q&A con algunos intents, después añadir historias complejas, llamadas a API, acciones contextuales, varios idiomas o múltiples canales…

Conclusión: Rasa, el artículo Python para chatbots a medida

Crear un chatbot inteligente a menudo es elegir entre potencia y simplicidad. Con Rasa, ya no tienes que elegir. Retomas el control sobre tus datos, tus modelos, tus diálogos.

Lo que lo hace tan interesante es su visión. Mientras muchas plataformas apuestan por la facilidad inmediata, Rasa apuesta por el control a largo plazo. No construyes un asistente desechable, sino un verdadero cerebro conversacional evolutivo, enraizado en tu lógica de negocio. Es una herramienta que obliga a reflexionar, estructurar, codificar, pero que, a cambio, te deja hacerlo todo: desde chatbots de FAQ a agentes inteligentes interconectados con tu SI.

Para avanzar más y aprender a crear tus propios asistentes IA, puedes formarte con DataScientest. Nuestra formación en Inteligencia Artificial te permite adquirir todas las habilidades clave del área: procesamiento del lenguaje natural (NLP), machine learning, deep learning, modelización, Python…

Gracias a una pedagogía basada en la práctica y proyectos concretos, sabrás concebir, entrenar y desplegar sistemas inteligentes como los que permite Rasa. Nuestros recorridos formativos son accesibles en BootCamp o a tiempo parcial. Tú también, fórmate en la IA de hoy… y de mañana, con DataScientest.

Ahora que sabes todo sobre Rasa, te invitamos a descubrir nuestro artículo completo sobre el NLP

¿No está disponible?

Déjenos su dirección de correo electrónico para que podamos enviarle los nuevos artículos cuando se publiquen.