Temas base para entender EasyChatBot

Embeddings, RAG, Esencia del bot y cómo decidir qué conviene en tu caso, sin jerga innecesaria.

Volver al índice de documentación

¿Prefieres un recorrido guiado?

Si quieres publicar un asistente mínimo sin profundizar en teoría, empieza por Tu primer bot sencillo: crear el bot, añadir contexto o esencia, y probar en el chat de prueba.

¿Cuándo usar RAG y cuándo no?

RAG (búsqueda en tu base de conocimiento) tiene sentido cuando tienes mucha información: miles de productos, cientos de páginas, catálogos que sincronizas por API o crawling. El sistema parte el contenido en fragmentos, los indexa y, en cada pregunta, recupera solo los trozos más relevantes.

Si tu negocio se resume en pocas páginas de texto fijo — una carta de restaurante, una tabla de precios corta, horarios y diez preguntas frecuentes — no necesitas montar un catálogo enorme ni una intención de búsqueda para todo. Suele ser más simple y barato pegar ese texto en la Esencia del bot, en un contexto TEXT corto o en una intención Instrucción.

No actives RAG “porque sí”. Cada turno con búsqueda en conocimiento consume tokens y tiempo. Reserva RAG para volúmenes que no caben de forma fiable en el prompt del bot.
flowchart TD
    Pregunta["Cuántas piezas distintas debe recordar el bot"]
    subgraph poco [Poco contenido fijo]
        Essence["Esencia del bot"]
        Instruction["Instrucción MCP"]
        SmallText["Contexto TEXT corto"]
    end
    subgraph mucho [Mucho contenido]
        Crawl["Crawling o API Context"]
        Index["Indexación en fragmentos"]
        RAG["Intención RAG Search"]
    end
    Pregunta -->|Unas pocas docenas de líneas o menos| poco
    Pregunta -->|Cientos o miles de SKUs páginas filas| mucho
    Crawl --> Index --> RAG
Situación Enfoque recomendado
Marketplace o tienda con miles de referencias, muchas categorías, fichas que cambian Crawling o API Context + intenciones con RAG Search. Ver acción RAG Search.
Restaurante con carta de unas veintena de platos y bebidas Esencia del bot (pega la carta y horarios). Opcional: intención Instrucción para el menú del día. Sin crawling masivo.
Clínica o estudio con una página de servicios y FAQ Esencia + Instrucción. RAG solo si más adelante añades decenas de artículos o páginas.

Ejemplos ficticios (para orientarte)

  • Mercado Río Claro — marketplace con ~8.000 productos de vendedores distintos: crawling + RAG para «¿tienen…?» y comparativas; API Connect si necesitas precio o stock en vivo.
  • Casa Lúmen — tienda de lámparas, ~2.500 SKUs y muchas variantes: API Context o crawl + RAG; combina con Query Rewriting si el visitante habla de «la del anuncio azul».
  • Bistró La Alacena — carta corta: todo en Esencia del bot, sin indexar un catálogo artificial.

Más escenarios en Casos de uso.

Esencia del bot

En Configurar bot → Esencia del Bot escribes el prompt que define el tono, el comportamiento y el conocimiento base del asistente. Ese texto viaja en el contexto del modelo en cada conversación (a diferencia de RAG, que añade fragmentos solo cuando una intención lo pide).

Úsala cuando el contenido es estable y breve: quién eres, cómo hablas, menú, políticas cortas, datos de contacto. No intentes volcar ahí un catálogo entero de miles de filas: el modelo no «memoriza» un inventario completo de esa forma; para eso está la base de conocimiento y RAG.

Panel Esencia del Bot en Configurar bot
Configurar bot → Esencia del Bot: aquí defines tono, comportamiento y conocimiento base que el asistente lleva en cada respuesta. Ideal para cartas cortas, horarios y FAQs que caben en un texto.

Guía visual completa del panel en la página de acción RAG Search.

Por qué importa esto

EasyChatBot une dos piezas: tu contenido (páginas que crawleas, textos que configuras, esencia) y un modelo de lenguaje que redacta respuestas. Los embeddings y el RAG son el puente cuando el contenido es grande: permiten que el modelo «lea» trozos relevantes de tu material en cada conversación, en lugar de inventarse datos o depender solo del entrenamiento general del modelo.

¿Qué es un embedding?

Un embedding es una lista de números (un vector) que resume el significado de un texto de forma que el ordenador pueda compararlo con otros textos. No hace falta entender los números: lo útil es que textos con ideas parecidas quedan «cerca» en ese espacio numérico, y textos distintos, «más lejos».

Así el sistema puede decir «esta pregunta del usuario se parece a este párrafo de tu web» sin buscar palabras exactas: busca por similitud semántica.

flowchart LR
    texto["Texto_o_fragmento"]
    modelo["Modelo_de_embeddings"]
    vector["Vector_numerico"]
    guardar["Guardado_para_buscar"]
    texto --> modelo --> vector --> guardar

En la práctica

  • El mismo tipo de modelo convierte en embedding tanto fragmentos de tu contenido como la pregunta del usuario.
  • La búsqueda recupera los fragmentos cuyos vectores están más cerca del vector de la pregunta.

¿Qué es RAG?

RAG (generación aumentada con recuperación) significa: antes de que el modelo escriba la respuesta, el sistema recupera trozos de texto relevantes de una base de conocimiento y los incluye en el contexto. La respuesta se «aumenta» con ese material recuperado.

Sin RAG en la intención, el modelo se apoya en la esencia, el historial del chat y su entrenamiento general. Con RAG, cuando el visitante activa la intención adecuada, puede razonar sobre tu contenido actualizado — pero solo sobre los fragmentos recuperados en ese turno, no sobre todo el inventario a la vez.

flowchart TB
    pregunta["Pregunta_del_usuario"]
    embQ["Embedding_de_la_pregunta"]
    buscar["Buscar_fragmentos_similares"]
    contexto["Textos_recuperados"]
    prompt["Prompt_con_contexto"]
    llm["Modelo_de_lenguaje"]
    resp["Respuesta_al_usuario"]
    pregunta --> embQ --> buscar --> contexto --> prompt --> llm --> resp

Cómo encaja en EasyChatBot

El crawling, los contextos manuales y las fuentes API generan textos; EasyChatBot los parte en fragmentos, calcula un embedding por fragmento y los guarda en la base de conocimiento del bot. Cuando una intención activa la acción RAG Search, se embeddea la consulta, se buscan los fragmentos más cercanos y el modelo recibe esos textos junto con la conversación.

Más detalle sobre el origen del contenido: Crawling y contexto.

Panel Esencia del Bot en Configurar bot
Configurar bot → Esencia del Bot: aquí defines tono, comportamiento y conocimiento base que el asistente lleva en cada respuesta. Ideal para cartas cortas, horarios y FAQs que caben en un texto.
Lista de contextos en Configurar bot
Configurar bot → Contexto: cada fila es una pieza de conocimiento indexada. Con muchas páginas o productos, esta lista crece y la búsqueda RAG recupera solo los fragmentos relevantes por pregunta.
Intención con acción RAG Search
Configurar bot → Intenciones: en la intención eliges la acción RAG Search para que, al activarse, el bot consulte tu base de conocimiento antes de responder.
Panel Búsqueda RAG y prueba de fragmentos
Búsqueda RAG: ajusta fragmentos, relevancia y diversidad; usa la prueba de búsqueda para ver qué trozos recupera el bot ante una pregunta real.
sequenceDiagram
    participant V as Visitante
    participant ECB as EasyChatBot
    participant BK as Base_de_conocimiento
    participant M as Modelo_de_lenguaje
    V->>ECB: Mensaje en el chat
    ECB->>ECB: Detectar intencion y acciones
    ECB->>BK: Busqueda por embedding
    BK-->>ECB: Fragmentos relevantes
    ECB->>M: Prompt con contexto recuperado
    M-->>ECB: Texto de respuesta
    ECB-->>V: Respuesta