• EN
  • Nosotros
  • Servicios
    • Estrategia y Transformación
    • UX y Experiencia Digital
    • Soluciones Tecnológicas
    • Data Strategy
  • Clientes
  • Carreras
  • Recursos
    • Blog
    • Casos de éxito
    • Materiales
  • Contáctanos
  • Switch

    Apariencia

    Personaliza cómo se ve 2Brains en tu dispositivo.

  • ES
    • EN
Volver al blog
Publicado en Julio 3, 2025

Manejo de preguntas frecuentes con Rasa y Faiss: cómo implementar RAG

En este tutorial práctico aprenderás a configurar un asistente conversacional con Rasa para responder preguntas frecuentes utilizando una base de conocimientos. Si deseas ir directamente al código, puedes revisar estos repositorios: Rasa con Faiss y OpenAI y Rasa con Faiss y Gemini.

  • IA
  • UX/UI
Asistente conversacional con RAG usando Rasa y Faiss
Rasa Autor: Rasa
5 minutos de lectura

Rasa es una plataforma sumamente flexible que se puede integrar con cualquier base de datos vectorial como Faiss, Milvus, Qdrant, Pinecone, Chroma, Weaviate o Atlas de MongoDB. En esta guía nos enfocaremos en Faiss (Facebook AI Similarity Search), una potente librería que permite búsquedas por similitud rápidas y eficientes.

¿Por qué RAG es clave para la IA conversacional?

La generación aumentada por recuperación (RAG, por sus siglas en inglés) se ha convertido en una de las formas más eficaces y accesibles de construir asistentes conversacionales. Este enfoque acelera enormemente el desarrollo, permite responder una mayor variedad de preguntas que los métodos tradicionales de comprensión de lenguaje natural (NLU), y reduce las “alucinaciones” de los modelos generativos al apoyarse en datos empresariales reales.

Muchas organizaciones comienzan sus proyectos de asistentes de IA con una arquitectura RAG y luego integran lógica de negocio para realizar acciones transaccionales. Este enfoque escalonado permite lanzar productos mínimos viables (MVP) de forma rápida y luego evolucionar en función del uso real.

Rasa facilita la implementación de RAG utilizando archivos de texto locales y Faiss en memoria. Para casos más complejos, puedes optar por instalar un servidor vectorial dedicado y construir un pipeline de ingestión de datos acorde a tus necesidades.

Y si ya cuentas con pares de preguntas y respuestas bien estructurados y no deseas usar modelos generativos, puedes explorar también la opción de búsqueda extractiva.

Suscríbete a nuestro newsletter

Configuración del entorno de desarrollo

En este tutorial se usará Codespaces, partiendo desde una plantilla preconfigurada de Rasa.

Pasos iniciales

  1. Crea un nuevo Codespace en la rama main (verifica que hayas iniciado sesión en tu cuenta de GitHub).
  2. Una vez activo, abre el archivo .env y añade tu licencia de Rasa y tu clave de API de OpenAI:

RASA_PRO_LICENSE=TU_VALOR
OPENAI_API_KEY=TU_VALOR

Cómo obtener las claves:

  • Licencia de Rasa Pro: enlace
  • API de OpenAI: enlace

  1. Entrena tu asistente ejecutando los siguientes comandos:

rasa train
rasa inspect

Implementando RAG con Rasa, Faiss y OpenAI

Por defecto, la política Enterprise Search Policy de Rasa utiliza embeddings de OpenAI y el modelo LLM gpt-3.5-turbo. Esta política permite gestionar preguntas basadas en conocimiento y puede activarse fácilmente:

Paso 1: Habilitar la política en config.yml

policies:
 - name: FlowPolicy
 - name: EnterpriseSearchPolicy

Paso 2: Configurar el patrón de flujo

En data/patterns.yml, en el flujo pattern_search, reemplaza action utter_free_chitchat_response por action_trigger_search.

pattern_search:
  description: Flujo para preguntas basadas en conocimiento
  name: pattern search
  steps:
    - action: action_trigger_search

Paso 3: Añadir documentos

Crea una carpeta docs en el directorio principal y agrega documentos en formato .txt. Puedes usar subcarpetas según lo necesites. La política indexará todo automáticamente. Luego, reentrena el modelo:

rasa train
rasa inspect

Ahora puedes probar tu asistente en el Rasa Inspector.

Personalización de parámetros

Hasta ahora hemos trabajado con valores por defecto:

  • Carpeta de documentos: docs
  • LLM: openai/gpt-3.5-turbo
  • Modelo de embeddings: openai/text-embedding-ada-002
  • Prompt por defecto

Todos estos elementos son personalizables. Veamos cómo modificarlos.

Uso de RAG con Rasa, Faiss y Gemini 2.0 Flash

Configurar el modelo Gemini

  1. En el archivo .env:

RASA_PRO_LICENSE=TU_VALOR
GEMINI_API_KEY=TU_VALOR

  1. En config.yml, añade el modelo Gemini a EnterpriseSearchPolicy:

- name: EnterpriseSearchPolicy
  vector_store:
    type: faiss
    source: docs
  llm:
    model_group: gemini_flash_model

  1. En endpoints.yml, registra el modelo:

- id: gemini_flash_model
  models:
    - model: gemini-2.0-flash-001
      provider: gemini

Cambiar el modelo de embeddings a Gemini

  1. En config.yml:

- name: EnterpriseSearchPolicy
  vector_store:
    type: faiss
    source: docs
  llm:
    model_group: gemini_flash_model
  embedding:
    model_group: gemini_embeddings

  1. En endpoints.yml:

- id: gemini_embeddings
  models:
    - model: text-embedding-004
      provider: gemini

Definir un prompt personalizado

  1. En config.yml:

  prompt: prompts/enterprise-search-policy-template.jinja2

  1. Crea la carpeta prompts en tu directorio principal y dentro, el archivo enterprise-search-policy-template.jinja2 con el siguiente contenido:

DOCUMENT:
{{docs}}

QUESTION:
{{current_conversation}}

INSTRUCTIONS:
Answer to the user's QUESTION using the DOCUMENT text.
Keep your answer short and grounded in the facts of the DOCUMENT.
If the DOCUMENT doesn't contain the facts to answer the QUESTION return "Sorry, I don't know the answer to this question."

Variables disponibles:

  • {{current_conversation}}
  • {{docs}}
  • {{slots}}

Otras configuraciones clave

Habilitar citas de fuentes:

  citation_enabled: true

Cantidad de turnos conversacionales en la consulta:

  max_messages_in_query: 3

Cantidad de turnos incluidos en el prompt:

  max_history: 3

Reentrena y prueba nuevamente:

rasa train
rasa inspect

Puedes explorar el código completo en los repositorios de Rasa con Faiss y OpenAI y Rasa con Faiss y Gemini.

Próximos pasos recomendados

  1. Añade más documentos a tu base de conocimiento.
  2. Experimenta con diferentes proveedores de embeddings y modelos LLM.
  3. Ajusta el contenido del prompt y observa cómo cambia la respuesta.
  4. Incorpora nuevos flujos para validar diferentes escenarios conversacionales.
  5. Revisa nuestro webinar bajo demanda: RAG Alone is Not the Answer.
  6. Mantente atento a nuestra próxima publicación sobre técnicas avanzadas de ingestión para RAG.

Trabaja con expertos en IA conversacional

En 2Brains colaboramos estrechamente con RASA para llevar soluciones conversacionales de última generación al mercado latinoamericano. Desde arquitecturas RAG hasta asistentes transaccionales a escala, ayudamos a las organizaciones a implementar experiencias de usuario más ágiles, precisas y contextualizadas.

Si estás explorando cómo aplicar estas ideas en tu empresa, te invitamos a completar nuestro formulario de contacto. Con gusto te mostraremos cómo podemos adaptar estas tecnologías a tus desafíos específicos.

Suscríbete a nuestro newsletter

Inscríbete a nuestro Newsletter

Entérate de las últimas novedades de la industria.

                   

También te podría interesar

Más artículos
Asistente conversacional con RAG usando Rasa y Faiss

Manejo de preguntas frecuentes con Rasa y Faiss: cómo implementar RAG

3 Julio, 2025 | 5 minutos de lectura

  • IA
  • UX/UI
Leer más
Flujos de chatbot

8 ejemplos de flujos de chatbot para optimizar conversaciones automatizadas

1 Julio, 2025 | 6 minutos de lectura

  • IA
  • UX/UI
Leer más

Nueva Ley de Protección de Datos: cómo cambia el flujo de información en la banca

25 Junio, 2025 | 8 minutos de lectura

  • Consultoria TI
Leer más
Más artículos
Asistente conversacional con RAG usando Rasa y Faiss

Manejo de preguntas frecuentes con Rasa y Faiss: cómo implementar RAG

3 Julio, 2025 | 5 minutos de lectura

  • IA
  • UX/UI
Leer más
Flujos de chatbot

8 ejemplos de flujos de chatbot para optimizar conversaciones automatizadas

1 Julio, 2025 | 6 minutos de lectura

  • IA
  • UX/UI
Leer más

Nueva Ley de Protección de Datos: cómo cambia el flujo de información en la banca

25 Junio, 2025 | 8 minutos de lectura

  • Consultoria TI
Leer más

¿Tienes algún proyecto en mente?

Conversemos
Conversemos
Chile

Av. Apoquindo 5950, Piso 20, Las Condes, Santiago de Chile

chile@2Brains.lat

México

Av. P.º de la Reforma 509-Piso 16, Cuauhtémoc, 06500 Ciudad de México.

mexico@2brains.lat

Síguenos
Políticas de Privacidad

© 2025 2Brains All Rights Reserved