RAG para conocimiento empresarial: fuentes, recuperación, permisos y evaluación · Módulo 2: Construir el índice recuperable
Combinar búsqueda léxica, semántica y filtros
Estrategia de recuperación híbrida que asigna a coincidencia exacta, embeddings, filtros y fusión una función medible.
Objetivo de aprendizaje
Diseñar recuperación híbrida donde las señales de relevancia se combinen sin convertir los permisos o el ámbito en simples preferencias de ranking.
La recuperación empresarial rara vez se resuelve con una única señal. Los usuarios preguntan con sinónimos y lenguaje natural, pero también introducen códigos exactos, nombres de producto, artículos, versiones y referencias que no deberían diluirse en similitud semántica.
La búsqueda híbrida combina señales complementarias. Su objetivo no es utilizar más tecnología, sino aumentar la probabilidad de recuperar la evidencia correcta sin perder restricciones de acceso y ámbito.
Distingue cuatro tipos de señal
La búsqueda léxica valora coincidencias de términos. Es especialmente útil para nombres, códigos, identificadores, expresiones exactas y vocabulario técnico.
La búsqueda vectorial representa consulta y contenido mediante embeddings y recupera elementos próximos según una función de similitud. Ayuda cuando pregunta y documento expresan conceptos parecidos con palabras diferentes.
Los filtros restringen candidatos por propiedades estructuradas: permisos, producto, versión, región, estado, tenant o vigencia.
El reranking reordena un conjunto ya recuperado usando una señal adicional. No sustituye la autorización y no puede recuperar un documento que nunca entró en el conjunto candidato.
No confundas relevancia con autorización
Los permisos no son una señal que pueda perder frente a un resultado «muy relevante». Se aplican como condición.
Una arquitectura insegura recupera primero todo, calcula relevancia y después intenta ocultar lo que el usuario no debería ver. Una arquitectura controlada limita el espacio recuperable con la identidad y los metadatos de acceso antes de enviar evidencia al modelo.
La misma idea se aplica a tenant, región o estado editorial cuando esas dimensiones son obligatorias.
Diseña campos según el tipo de dato
No todos los campos necesitan la misma búsqueda. Un índice puede tratar:
- título y cuerpo como texto completo;
- cuerpo o resumen con embeddings;
- código de producto como coincidencia exacta;
- región como filtro;
- versión como filtro u orden;
- fecha de vigencia como condición;
- estado editorial como filtro obligatorio.
Esta separación hace el sistema más interpretable que intentar resolver toda la semántica mediante un único vector.
Fusiona resultados sin asumir escalas comparables
Los motores léxicos y vectoriales pueden producir puntuaciones con escalas diferentes. Sumarlas directamente sin calibración puede dar resultados arbitrarios.
Una estrategia de fusión basada en posiciones, como Reciprocal Rank Fusion, combina rankings sin exigir que las puntuaciones originales sean equivalentes. Otros sistemas permiten ponderaciones o normalización.
No existe un peso universal para «keyword frente a vector». Debe ajustarse con preguntas reales, especialmente en dominios donde códigos o términos exactos son críticos.
Deduplica y preserva diversidad de evidencia
Un documento largo puede generar varios chunks muy parecidos. Si todos ocupan los primeros resultados, el generador recibe menos diversidad.
Aplica deduplicación o agrupación cuando sea útil, pero conserva suficiente contexto para que una política con varios apartados relevantes pueda aportar más de un fragmento.
Observa también copias de documentos. Si dos repositorios contienen la misma política, la recuperación puede interpretarlas como evidencia independiente cuando en realidad son duplicados.
Evalúa por tipo de pregunta
Crea segmentos:
- términos exactos;
- paráfrasis;
- preguntas multi-documento;
- preguntas con filtros;
- preguntas con fechas;
- preguntas sin respuesta;
- preguntas con fuentes contradictorias.
Para cada una registra si la fuente esperada aparece en el conjunto recuperado y en qué posición. Si falla una pregunta exacta pero funciona la semántica, quizá el problema sea la señal léxica. Si falla por región, quizá el problema sea metadato o filtro, no embeddings.
Ejemplo: código más lenguaje natural
Pregunta: «¿Cómo tramito la devolución del PX-204 para clientes de Portugal?».
La cadena PX-204 se beneficia de coincidencia exacta. «Tramitar devolución» puede expresarse en el manual como «gestión de retornos», por lo que la señal semántica ayuda. Portugal debe filtrar región. Si existe una versión retirada, el estado editorial y la vigencia deben excluirla.
Este ejemplo muestra por qué «vector search» no es sinónimo de «RAG bien diseñado».
Ajusta la recuperación con una hipótesis, no por intuición
Si la búsqueda vectorial falla en referencias exactas, no significa que los embeddings sean malos: quizá la consulta necesita una señal léxica. Si la búsqueda léxica falla en paráfrasis, quizá una señal semántica añada cobertura.
Formula cada cambio como una hipótesis:
«Añadir recuperación léxica debería mejorar las preguntas con códigos sin reducir el recall de preguntas semánticas».
Después mide el segmento afectado y una muestra de protección. Esta disciplina evita optimizar un tipo de pregunta mientras empeoras otro.
Considera el orden entre filtros y búsqueda
La forma de aplicar filtros puede afectar calidad y rendimiento. Algunos sistemas filtran antes de aproximar vecinos; otros integran filtros durante la búsqueda o los aplican en fases posteriores. La semántica concreta depende del motor.
Desde el diseño del curso, lo importante es que los filtros obligatorios no desaparezcan por una limitación del índice. Si el motor no puede aplicar de forma segura una restricción de autorización, la arquitectura debe resolverlo explícitamente en lugar de aceptar resultados no autorizados y «limpiarlos» después.
Ejercicio: matriz de señales
Selecciona veinte preguntas y clasifica qué necesitan:
- léxico;
- vectorial;
- ambos;
- filtro obligatorio;
- reranking;
- varias fuentes.
Ejecuta o simula tres configuraciones: léxica, vectorial e híbrida. Para cada una registra top-k, fuente esperada, posición y errores. No cambies simultáneamente chunking, embeddings, filtros y ranking: perderías capacidad de atribuir la mejora.
Resultado de la lección
Debes terminar con una estrategia de recuperación donde cada señal tiene una función conocida y los filtros obligatorios están separados del ranking. La siguiente lección añadirá transformación de consulta, candidatos y reranking sin perder trazabilidad.

