RAG para atención al cliente: cómo lograr que las respuestas de la IA sean realmente precisas
Las respuestas puras de un LLM alucinan. El RAG (generación aumentada por recuperación) ancla la IA en tu documentación. Así es como AskAIs Customer Service lo logra sin malgastar tokens.
Sin recuperación, un LLM que responde a "¿cómo restablezco mi contraseña?" dará una respuesta plausible pero probablemente incorrecta — botón distinto, flujo distinto, URL distinta. El RAG (generación aumentada por recuperación) lo soluciona inyectando el fragmento correcto de tu documentación en el prompt antes de que el modelo hable.
El pipeline de un vistazo
Tres etapas: ingesta, recuperación, generación.
1. Ingesta
- Sube PDF, Markdown y archivos de Office a través de la interfaz de Conocimiento
- El worker extrae el texto y lo divide en fragmentos de ~800 tokens con un solapamiento de 100 tokens
- Cada fragmento se incrusta con
text-embedding-3-small(1536d) - Se almacena en Postgres con la extensión
pgvector
2. Recuperación
Cuando un visitante envía un mensaje, incrustamos la consulta y ejecutamos una búsqueda por distancia coseno sobre los fragmentos del inquilino. El Top-K (5 por defecto) se recupera, con un umbral de similitud para descartar coincidencias irrelevantes.
SELECT id, content, 1 - (embedding <=> $1) AS similarity
FROM knowledge_chunks
WHERE tenant_id = $2
ORDER BY embedding <=> $1
LIMIT 5;3. Generación
Los fragmentos recuperados se anteponen al prompt del sistema con instrucciones explícitas: citar las fuentes, negarse si el contexto no cubre la pregunta, derivar a un humano si la confianza es baja.
Reduciendo la factura de tokens
Tres trucos ahorran dinero real en grandes bases de conocimiento:
- Caché de embeddings — mismo texto de consulta → mismo embedding. Clave de hash SHA1, TTL de 24 h en Redis. Reduce a cero el coste de reincrustación en preguntas repetidas.
- Caché de prompts — el
cache_controlde Anthropic y el almacenamiento en caché automático de OpenAI hacen que el prompt de sistema estático solo se cuente una vez por ventana de 5 minutos. - Omisión basada en umbral— si ningún fragmento supera el umbral de similitud, no inyectes nada. Deja que el modelo diga "no lo sé."
Cuando el RAG no basta
El RAG maneja bien las preguntas "¿cómo hago X?". Falla con datos personalizados ("¿dónde está mi pedido?") — eso requiere llamadas a funciones, que cubrimos en un artículo aparte. La combinación es lo que te da una IA de nivel Intercom por una fracción del coste.