En el ámbito de la inteligencia artificial generativa, la Técnica de Recuperación Aumentada de Generación (RAG) se ha convertido en una herramienta poderosa al permitir que los modelos explotadores de texto utilicen fuentes de conocimiento externas para generar respuestas más precisas y contextualmente relevantes. Entre las innovaciones destacadas, Amazon Bedrock se posiciona como un servicio de gestión integral que ofrece acceso a modelos de alto rendimiento desarrollados por empresas líderes en IA, como AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI y la propia Amazon.
Amazon Bedrock sobresale al facilitar todo el flujo de trabajo de RAG, abarcando desde la ingestión de datos hasta la recuperación y ampliación de los prompts. Esto es posible sin la necesidad de crear integraciones personalizadas para acceder a diversas fuentes de datos y manejar flujos informativos complejos. Sin embargo, la técnica RAG enfrenta dificultades cuando se aplica al análisis numérico, especialmente si la información se encuentra en tablas anidadas y complejas. Las últimas innovaciones dentro de Amazon Bedrock Knowledge Bases han desarrollado soluciones efectivas para superar estos obstáculos.
RAG introduce un componente de recuperación de información que emplea las entradas del usuario para extraer datos pertinentes de una fuente. La consulta del usuario, junto con la información relevada, se suministra a un modelo de lenguaje grande (LLM), que utiliza esta información adicional, además de sus datos de entrenamiento originales, para producir respuestas mejoradas.
A pesar del gran potencial de este método para documentos textuales, el reto aumenta con datos en formato de tablas. La estructura de una tabla puede ser difícil de interpretar al trabajar directamente con documentos PDF o Word, por lo cual es necesario transformar estos datos en formatos como texto plano, markdown o HTML. La búsqueda, recuperación y segmentación de documentos con tablas también presenta problemas, ya que transformar una tabla en texto para convertirla en un vector puede resultar en una representación que no capture todas las relaciones tabulares. Esto puede llevar a respuestas inexactas del LLM.
Amazon Bedrock Knowledge Bases proporciona tres capacidades para resolver estos problemas:
Búsqueda híbrida: Permite recuperar información basada en el significado semántico a través de representaciones vectoriales y mediante palabras clave, asegurando que se pueda acceder a campos clave que de otro modo se perderían con una búsqueda puramente semántica.
Fragmentación de datos en tamaños fijos: Define tamaños fijos para los datos que se transforman en vectores, mejorando la precisión de las representaciones y la recuperación de datos relevantes.
- Recuperación de un gran número de fragmentos de los resultados de búsqueda: Incrementa el contexto disponible para el LLM al proporcionar más fragmentos de los resultados de la búsqueda, lo cual mejora la capacidad de respuesta.
La combinación de estas características puede optimizar significativamente el análisis numérico en documentos con datos tabulados. Este enfoque metodológico se ilustra utilizando un conjunto de documentos de ganancias de Amazon.
Visión General de la Solución
El diagrama sobre la arquitectura de esta solución muestra cómo se pueden analizar documentos numéricos de manera efectiva. A continuación, se detallan los pasos del flujo de trabajo del usuario:
- El usuario carga uno o más documentos, iniciando el análisis.
- Una aplicación desarrollada en Streamlit toma estos documentos y los almacena en un bucket de Amazon S3.
- Al almacenarse en S3, se desencadena automáticamente una función AWS Lambda.
- Lambda llama a la API de Amazon Bedrock Knowledge Bases para extraer embeddings, creando representaciones esenciales de los datos.
- Con los documentos procesados, el usuario puede interactuar con la aplicación, formulando preguntas en lenguaje natural.
- La aplicación convierte la pregunta en embeddings de consulta para recuperar el contexto adecuado de la base de conocimientos.
- La API Retrieve busca en la base de conocimientos y, junto a RetrieveAndGenerate, aumenta el prompt del modelo básico para generar una respuesta.
- La búsqueda híbrida asegura la recuperación de información precisa y útil mediante técnicas semánticas y basadas en palabras clave.
- El módulo LLM finalmente procesa la consulta y el contexto para generar una respuesta.
- La respuesta se entrega al usuario a través de la interfaz, completando el ciclo de interacción.
En las siguientes secciones se detallan los pasos para crear un bucket S3, una base de conocimiento, desplegar la aplicación Streamlit con AWS CloudFormation y probar la solución en un contexto práctico.