En el mundo de la inteligencia artificial (IA), la recuperación de información es un componente crucial para cualquier sistema que busque proporcionar respuestas precisas y relevantes a las preguntas de los usuarios. Uno de los enfoques más populares para lograr esto es la Recuperación Aumentada de Generación (RAG, por sus siglas en inglés), que combina la recuperación de información con modelos generativos para proporcionar respuestas más precisas.
Sin embargo, en los últimos tiempos, algunos expertos han cuestionado la eficacia de RAG, argumentando que ha alcanzado su límite. Pero Anthropic, una empresa líder en IA, ha presentado una nueva aproximación que podría cambiar el juego: la recuperación contextual.
¿Qué es la Recuperación Contextual?
La recuperación contextual es una técnica que mejora la precisión de la recuperación de información en sistemas RAG. La idea es simple: en lugar de tratar de arreglar el mecanismo de recuperación, se mejora la información que se está recuperando. Anthropic sugiere agregar información contextual relevante a cada fragmento de información antes de almacenarlo.
Por ejemplo, si tenemos un documento que contiene informes financieros de diferentes empresas, la recuperación contextual permitiría agregar información sobre la empresa y el período de tiempo al que se refiere cada fragmento de información. De esta manera, cuando se busca información sobre la empresa «Acme» y su crecimiento en el segundo trimestre de 2023, el sistema puede proporcionar una respuesta precisa.
¿Cómo Funciona la Recuperación Contextual?
La implementación de la recuperación contextual es relativamente sencilla. Anthropic sugiere utilizar un modelo de lenguaje grande (LLM, por sus siglas en inglés) para generar automáticamente la información contextual para cada fragmento de información. El proceso es el siguiente:
- Se divide el documento en fragmentos.
- Para cada fragmento, se envía tanto el documento completo como el fragmento específico a un LLM.
- Se utiliza una solicitud que instruye al LLM para generar una declaración contextual concisa.
- Se agrega esta información contextual al fragmento original.
- Se generan embeddings y se actualiza el índice de búsqueda.
Beneficios y Resultados
Anthropic ha reportado resultados impresionantes con la recuperación contextual. En sus pruebas, lograron una reducción del 35% en la tasa de errores de recuperación con embeddings contextualizados. Cuando se combinó con búsqueda contextual, la mejora aumentó al 49%.
Además, cuando se agregó un re-ordenador en la parte superior, la tasa de errores de recuperación promedio cayó del 5,7% a apenas el 1,9%. Esto es un avance significativo para lo que básicamente es un paso de preprocesamiento y una ingeniosa ingeniería de solicitudes.
Desafíos y Limitaciones
Aunque la recuperación contextual es prometedora, no está exenta de desafíos. Agregar contexto significa:
- Fragmentos más grandes: cada fragmento crece en 50-100 tokens, lo que reduce ligeramente la cantidad que se puede ajustar en la ventana de contexto del LLM.
- Costos de procesamiento: se necesita ejecutar una llamada LLM para cada fragmento durante la indexación.
- Sobrecarga de almacenamiento: la base de datos de vectores y los índices de búsqueda crecen.
Anthropic estima que el costo de procesamiento único es de aproximadamente $1.02 por millón de tokens. Si bien esto puede parecer pequeño, se suma cuando se trata de millones de documentos.
En resumen
La recuperación contextual es un avance significativo en la recuperación de información. Al asegurarse de que cada fragmento lleve su propio contexto, no estamos luchando contra las limitaciones de los modelos de embeddings o la búsqueda por palabras clave; estamos trabajando con ellos.
Para los desarrolladores que construyen sistemas RAG, esta técnica ofrece una forma relativamente sencilla de mejorar significativamente la precisión de la recuperación. Sí, hay costos y compensaciones, pero para aplicaciones donde la precisión importa, la inversión probablemente vale la pena.
La próxima vez que su sistema RAG devuelva una respuesta vagamente frustrante, recuerde: podría simplemente necesitar ayuda para recordar dónde puso sus claves. La recuperación contextual asegura que cada fragmento venga con su propio mapa de regreso a casa.