Los 3 pasos para construir un RAG eficiente

En el dinámico entorno empresarial, los sistemas RAG (Retrieval Augmented Generation) emergen como una solución pragmática y segura para la implementación de la inteligencia artificial. A diferencia de los modelos tradicionales, el RAG garantiza una precisión mejorada de las respuestas al reducir las «alucinaciones» y asegura el acceso a información actualizada al consultar bases de datos en tiempo real. Esta tecnología permite el uso seguro de datos privados o propietarios, crucial para la confidencialidad, y promueve la transparencia y auditabilidad al citar las fuentes de la información.

Además de sus ventajas operativas, el RAG es notablemente rentable frente al reentrenamiento de modelos. En lugar de invertir grandes sumas en la actualización de modelos, el RAG adapta la IA a nuevos datos de manera eficiente y asequible, democratizando su uso y convirtiéndola en una ventaja competitiva tangible y gestionable.

Paso 1: Preparación del Dato: El Pre-proceso para un RAG Óptimo

La eficacia de un sistema RAG depende directamente de la calidad y el formato de los datos que se le proporcionan. Antes de la implementación, es crucial realizar un pre-proceso de preparación del dato, asegurando que la información esté en el formato más adecuado para una recuperación óptima. Este paso es fundamental para que el RAG pueda ofrecer respuestas precisas y pertinentes.

La elección del formato de datos es clave y varía según el tipo de información:

  • Datos no-estructurados: Para documentos como políticas corporativas, manuales de usuario o documentación técnica de productos, donde el texto libre es el elemento principal, el formato no estructurado como un PDF o un documento de texto es ideal.
  • Datos semi-estructurados: En casos donde la estructura no es rígida y el número de elementos puede variar, como la estructura jerárquica de una empresa con un número cambiante de subsidiarias, y de subsidiarias de subsidiarias, el formato JSON es el más adecuado.
  • Datos estructurados: Si la información se organiza en filas y columnas, como registros de ventas o bases de datos de clientes, el formato SQL es el óptimo, ya que permite consultas y filtrado eficientes.
  • Datos de búsqueda semántica: Para búsquedas basadas en similitud de texto, imágenes, audio o video, la mejor opción es una base de datos vectorial. Estas bases de datos almacenan la información como vectores numéricos, lo que facilita la identificación de similitudes a nivel conceptual, más allá de la simple coincidencia de palabras clave.
  • Datos de grafos: Cuando la información se centra en las relaciones entre elementos (p. ej., «los amigos de mis amigos»), una base de datos de grafos es el formato ideal, ya que su estructura está optimizada para navegar y analizar estas conexiones de manera eficiente.

Existen multitud de casos adicionales que deben ser analizados minuciosamente antes de la implementación de un sistema RAG. La preparación y el formato correcto de la información son la base para maximizar el rendimiento y la utilidad de cualquier solución de IA de este tipo.

Paso 2: Acceso al Dato: Equilibrio entre Precisión, Latencia y Coste

Un sistema de acceso a la información eficiente, como el que se utiliza en un RAG, se basa en equilibrar tres factores cruciales: la precisión de los resultados, la latencia en la obtención de respuestas y el coste computacional. La precisión se refiere a la relevancia y exactitud de la información, mientras que la latencia mide la velocidad de respuesta. El coste engloba los recursos necesarios para el procesamiento de los datos. No se trata de maximizar uno de estos elementos de forma aislada, ya que a menudo existe una relación de compromiso entre ellos. Un sistema eficaz debe encontrar el balance adecuado para cada caso de uso específico; por ejemplo, una aplicación que requiere velocidad sacrificará un poco la precisión o viceversa.

A continuación, exploraremos las diversas técnicas de acceso a la información que permiten alcanzar este equilibrio.

  • Datos no-estructurados

Para la búsqueda en grandes volúmenes de información documental, como manuales, artículos o informes, existen diferentes técnicas basadas en el volumen de datos, la latencia y la precisión requerida.

  • Bajo volumen de datos (< 10TB): Para conjuntos de datos más pequeños, las soluciones de búsqueda vectorial gestionadas, como Google Vertex AI Vector Search, son extremadamente eficientes. Ofrecen una alta precisión y una baja latencia a un coste razonable, lo que las convierte en la opción ideal para arrancar.
  • Alto volumen de datos (> 10TB): A medida que el volumen de información crece, las soluciones gestionadas se vuelven prohibitivamente caras. En estos casos, se opta por estrategias de búsqueda vectorial que requieren un pre-procesamiento del dato, conocido como chunking y la generación de embeddings. Durante el chunking, el documento se divide en fragmentos de texto más pequeños. Aquí, existe un equilibrio crítico entre la precisión y la latencia: un tamaño de chunk más pequeño aumenta la precisión (el modelo puede centrarse en detalles específicos), pero a su vez incrementa la latencia y los costes computacionales debido a la mayor cantidad de fragmentos a procesar.

Sin embargo, una limitación de la búsqueda semántica pura es el riesgo de que el sistema omita palabras clave con bajo peso semántico, lo que puede llevar a «alucinaciones» del modelo. Por ejemplo, al buscar las especificaciones técnicas de la «pieza XJ-25», el sistema podría proponer erróneamente las de la «pieza XJ-26» si en ese documento el término «especificaciones técnicas» aparece con mayor frecuencia, haciendo que su vector sea semánticamente más cercano a la consulta inicial.

  • Datos semi-estructurados y de Grafos

En este caso, la flexibilidad es clave. Una combinación de la información en su formato original (texto, numérico, fecha, etc.) con sus representaciones vectoriales permite una búsqueda híbrida de alta precisión y baja latencia. Esta estrategia combina la búsqueda literal (basada en palabras clave o rangos) con la búsqueda vectorial (basada en el significado semántico), lo que incrementa el coste de forma razonable al optimizar la recuperación de datos complejos. Este enfoque es especialmente útil en estructuras dinámicas, como la jerarquía de una empresa, donde la combinación de ambos métodos maximiza la efectividad del RAG.

Similarmente, en bases de datos de grafos, donde la información se basa en las relaciones entre elementos (p. ej., «amigos de mis amigos»), la combinación de la estructura del grafo con la capacidad del LLM para entender esas conexiones permite realizar búsquedas de relaciones con una alta precisión, baja latencia y a costes muy controlables. La flexibilidad y la estructura de los grafos se complementan perfectamente con el procesamiento de los LLM, lo que facilita la recuperación de información relacional.

  • Datos estructurados

El manejo de datos en formatos tabulares como los de las bases de datos SQL requiere un enfoque diferente.

  • SQL preestablecido: La estrategia más sencilla es utilizar consultas SQL predefinidas. En este método, el LLM extrae los filtros (cláusulas WHERE, HAVING, etc.) del prompt del usuario para aplicarlos a una sentencia SQL ya existente, la cual se lanza directamente a la base de datos. Este enfoque es altamente preciso y eficiente, ya que el modelo no tiene que «inventar» la consulta.
  • Generación de SQL ad-hoc: Si se requiere que el LLM genere la consulta SQL desde cero, el proceso se vuelve mucho más complejo. Es necesario proporcionar al modelo una descripción exhaustiva del esquema de datos: el contenido de las tablas, el significado de cada campo, los niveles de agregación y las relaciones entre tablas. A medida que el esquema de datos crece en complejidad, este proceso requiere múltiples pasos de refinamiento para asegurar que el SQL generado sea sintácticamente correcto y semánticamente preciso. Este enfoque tiene un alto riesgo de error y, aunque poderoso, es significativamente más difícil de implementar que una solución basada en plantillas de SQL.

Paso 3: Acceso avanzado al Dato: Orquestación de Múltiples Pasos

Para lograr la máxima precisión y eficiencia en sistemas RAG complejos, la simple búsqueda directa no siempre es suficiente. Las técnicas avanzadas de acceso a la información, basadas en la orquestación de múltiples pasos, combinan diferentes métodos de búsqueda para optimizar la recuperación de datos, logrando un equilibrio ideal entre precisión, latencia y coste. A continuación, se detallan estas estrategias para distintos tipos de datos.

  • Datos no-estructurados: Combinación de Búsqueda de Palabras Clave y Semántica

En el acceso a grandes volúmenes de datos no-estructurados, una búsqueda vectorial pura puede llevar a imprecisiones, especialmente si los términos clave no tienen un gran peso semántico en el embedding global. La solución óptima es una estrategia de búsqueda híbrida en múltiples etapas:

  1. Indexación y Búsqueda Inicial con BM25: El primer paso es utilizar un algoritmo de búsqueda de palabras clave como BM25 (Best Matching 25). Esta técnica indexa los documentos basándose en la frecuencia y la rareza de las palabras. Al recibir la consulta, BM25 identifica y recupera rápidamente un conjunto inicial de documentos que contienen las palabras clave exactas. Esto asegura una alta precisión léxica, evitando que el sistema omita términos cruciales que podrían ser ignorados por una búsqueda puramente semántica.
  2. Búsqueda Semántica con KNN: Una vez que se ha reducido el universo de documentos, se aplica la búsqueda semántica. Utilizando una base de datos vectorial, se emplea un algoritmo KNN (k-Nearest Neighbors) para encontrar los k fragmentos de texto (chunks) más cercanos semánticamente a la consulta inicial, dentro del conjunto de documentos preseleccionado. Esta etapa refina la búsqueda al capturar el significado contextual de la consulta, incluso si las palabras exactas no coinciden. Por ejemplo, si un usuario pregunta por «problemas con el software», la búsqueda semántica puede encontrar documentos que hablen de «fallos de programación» o «errores del sistema».
  3. Re-ranking y Verificación: Los resultados obtenidos en los dos pasos anteriores se combinan y se someten a una fase de re-ranking. Se puede utilizar un modelo de lenguaje más pequeño y especializado para evaluar la relevancia de cada resultado en relación con el prompt original. Finalmente, se realiza una verificación final para asegurar que la respuesta generada por el LLM se base únicamente en el contenido de los documentos recuperados más relevantes. Este proceso reduce las alucinaciones al mínimo y garantiza la coherencia con los datos de origen.

Ejemplo: Un usuario pregunta: «Dame las especificaciones técnicas del modelo de router XJ-25 y cómo solucionar un fallo de conexión».

  • Paso 1 (BM25): Se buscan documentos que contengan «XJ-25», «router», «especificaciones técnicas» y «fallo de conexión».
  • Paso 2 (KNN): Se toman los resultados de BM25 y se buscan los chunks más cercanos a nivel semántico al prompt. El sistema podría encontrar un manual técnico sobre las especificaciones del modelo y un foro de soporte que habla de «reinicio de firmware» como solución a los problemas de conectividad.
  • Paso 3 (Re-ranking): Se descartan los documentos menos relevantes y se utilizan solo aquellos que tratan del modelo XJ-25 y sus problemas específicos. El LLM genera la respuesta combinando la información de los manuales y los foros, verificando que los datos concuerden con las fuentes recuperadas.
  • Datos Híbridos y de Grafos: Orquestación para Búsquedas Complejas

La orquestación se vuelve aún más crítica cuando los datos no se limitan a un solo tipo.

  • Búsquedas Híbridas (Texto y Vectorial): En bases de datos que almacenan información de diversos tipos, como texto, fechas o números, junto con datos vectoriales, la búsqueda híbrida es la solución más eficaz. El sistema RAG puede lanzar consultas que combinan la búsqueda literal (por ejemplo, buscar registros de ventas de un rango de fechas específico, como (ventas > 1000 AND fecha > ‘2025-01-01’)) con una búsqueda vectorial (por ejemplo, buscar productos que sean semánticamente similares a «accesorios de viaje»). Esto permite consultas de alta precisión y baja latencia, integrando la eficiencia de las bases de datos relacionales con el poder de la búsqueda semántica.
  • Búsquedas en Grafos: En los grafos, la información se basa en las relaciones. Antes de una búsqueda intensiva, se puede utilizar una base de datos relacional para limitar el universo de búsqueda. Ejemplo: Si queremos encontrar «los amigos de mis amigos que vivan en Barcelona», la consulta se podría orquestar en dos pasos:
    1. Paso 1 (Base de datos relacional): Se consulta una tabla de usuarios para obtener una lista de los amigos del usuario actual que residen en «Barcelona». Esta es una búsqueda literal y muy rápida.
    2. Paso 2 (Base de datos de grafos): Con esa lista de amigos, se lanza una consulta específica a la base de datos de grafos para encontrar los «amigos de esos amigos». Este enfoque evita una búsqueda completa en el grafo, que sería mucho más costosa y lenta, limitando el espacio de búsqueda a un subconjunto relevante. Este tipo de orquestación minimiza el coste y la latencia, mientras se maximiza la precisión en la recuperación de información relacional.

Como conclusión, el diseño de un sistema RAG efectivo y de alto rendimiento trasciende la mera elección de una técnica de acceso al dato. Desde la optimización del pre-proceso de datos según su estructura, pasando por el uso de técnicas de búsqueda vectorial e híbrida, hasta la orquestación avanzada de múltiples pasos, cada decisión impacta en la eficacia del sistema. La implementación final de un RAG es un arte que combina ciencia e ingeniería, en el que se requiere un ajuste fino (fine-tuning) a base de prueba y error para encontrar la combinación perfecta que ofrezca la baja latencia, la alta precisión y los costes razonables que cada caso de uso específico demanda. Es en este proceso de experimentación y optimización donde se descubre el verdadero potencial de la Generación Aumentada por Recuperación como pilar de la inteligencia artificial empresarial.

Compártelo en tus redes sociales

Data Analytics

Ver servicio

AI

Ver servicio

Últimas publicaciones

5 Revelaciones Críticas sobre el Futuro de la Gobernanza de la IA

Estamos asistiendo a un cambio de paradigma sin precedentes en la responsabilidad corporativa. La transición desde una IA Predictiva —basada en modelos estadísticos que asisten ...
Leer más →

Agenciar o no agenciar: ésta es la cuestión

En un artículo anterior, establecimos que si bien la Inteligencia Artificial Generativa (GenAI) es el drive espectacular que nos ofrece la «gloria», es la Inteligencia ...
Leer más →

Bienvenido a la Superproductividad

La Inteligencia Artificial Generativa ya no es una promesa futura; es una realidad presente que está remodelando nuestro mundo a una velocidad vertiginosa. Según analistas ...
Leer más →
Scroll al inicio