Knowledge base del bot
El agente IA del bot tiene tres tipos de memoria: el historial de la conversación (últimos 20 mensajes), los atributos guardados por contacto, y — desde esta feature — los documentos del negocio que vos subís. Esos documentos se procesan, indexan y se recuperan automáticamente cada vez que el bot recibe una pregunta del cliente.
Cómo funciona (RAG en 1 minuto)
- Subís un PDF/DOCX/TXT/MD en Dashboard → Bot → Memoria → Documentos.
- Un worker extrae el texto, lo divide en chunks de ~700 tokens con overlap y genera embeddings (text-embedding-3-small, 1536 dims).
- Los chunks + vectores se guardan en pgvector dentro de tu organización.
- Cuando un cliente le escribe al bot, el bot embedea esa pregunta, busca los top-K chunks más similares (cosine distance) y se los pasa al modelo como "Contexto del negocio".
- El modelo responde apoyándose en ese contexto. Si lo que el cliente pregunta no está cubierto, el bot pide handoff humano en vez de inventar.
Formatos y límites
- PDF — texto seleccionable (no escaneado). Si subís un PDF escaneado el procesamiento falla con un mensaje pidiéndote que lo conviertas con OCR antes.
- DOCX — Word moderno.
- TXT / MD — texto plano. Ideal para FAQs cortas porque tenés control directo sobre el contenido.
- Tamaño máximo: 25 MiB por archivo. Dividí docs gigantes en pedazos temáticos.
Etiquetas — segmentar qué bot usa qué
Cada documento puede llevar tags (ej. producto-a, soporte, devoluciones). En la configuración del BotConfig elegís qué tags usar:
- Tags vacíos en el BotConfig → usa todos los docs de la org.
- Tags definidos → solo docs que tengan al menos uno de esos tags.
Útil si tenés varios bots (uno para ventas, otro para soporte): segmentás tus PDFs por tags y cada bot ve solo lo que le corresponde.
Mejores prácticas
- Docs cortos y temáticos > manual gigante. El bot recupera por similitud, no lee todo. Un PDF bien organizado en 10 archivos de 5 páginas funciona mejor que 1 PDF de 50 páginas.
- Una pregunta = una sección. Si tu FAQ tiene "¿Hacen envíos a otros países?" y la respuesta dura 1 párrafo, dejá esa pieza así — el chunker la respeta y se recupera entera.
- Lenguaje natural, no telegráfico. Los embeddings entienden mejor "El plazo de devolución es de 30 días desde la compra" que "Devol: 30d".
- Actualizá cuando cambie el negocio. El bot solo sabe lo que está en el doc — un precio viejo va a aparecer en sus respuestas hasta que reproceses.
- Tags antes que duplicar. Si tenés "Producto A" y "Producto B" con FAQs parecidas, ponelas en archivos separados con tags distintos en lugar de mezclarlas.
Parámetros de retrieval (BotConfig)
- knowledgeTopK (default 5): cuántos chunks recuperar por turno. Más = más contexto pero más tokens al modelo. 3-5 es buen rango.
- knowledgeMinSimilarity (default 0.5): umbral mínimo de similitud. Si ni el chunk más similar lo pasa, el bot responde sin contexto (mejor que con contexto irrelevante).
- knowledgeTags: ver sección de etiquetas arriba.
Errores típicos y soluciones
El PDF parece ser una imagen escaneada: tu PDF es una foto digitalizada, no tiene texto seleccionable. Pásalo por OCR (ej. Acrobat, Tesseract, o "Reconocer texto" en Preview de macOS) y volvé a subir.- El bot no usa mi documento aunque está listo: chequeá que el BotConfig tenga un modo con IA (AI_AGENT o RULES_PLUS_AI_FALLBACK; en
RULES_ONLYuOFFel RAG no corre) y que los tags coincidan. También verificá que la similitud llegue al umbral — si tu doc habla en jerga interna y el cliente pregunta con otras palabras, podés bajarknowledgeMinSimilaritya 0.3-0.4. - El bot dice cosas viejas: actualizaste el doc en S3 pero no lo reprocesaste. Click Reprocesar en la fila del doc — re-extrae texto y regenera embeddings.
- Quiero borrar un doc del bot pero conservar el archivo: hoy borrar = full delete (filas + objeto S3). Si lo querés "deshabilitar temporalmente", cambiá sus tags a algo que ningún BotConfig esté usando (ej.
archivado).
Costos
El procesamiento usa embeddings de OpenAI (text-embedding-3-small, $0.02 USD por 1M tokens). Cada turno del bot suma 1 embedding de la pregunta (~$0.000001 USD). Todo se cobra del wallet de tu organización con el markup configurado y queda registrado en AiUsage.
Ejemplo: 50 PDFs de 10 páginas (~50 chunks c/u, 500 tokens c/u) = 1.25M tokens ≈ $0.025 USD una sola vez al procesarlos.