¿Qué es la generación aumentada por recuperación?

La generación aumentada por recuperación, ampliamente conocida por sus siglas en inglés “RAG”, es un marco innovador de IA que mejora el rendimiento de los grandes modelos de lenguaje (LLM) al combinar sus capacidades generativas con sistemas externos de recuperación de información. Los LLM tradicionales se entrenan con grandes cantidades de datos textuales, lo que les permite generar respuestas similares a las humanas.

Sin embargo, su conocimiento está limitado a los datos disponibles durante su entrenamiento, lo que puede llevar a información desactualizada o inexacta. Esta limitación puede ser particularmente desafiante en un entorno corporativo, donde resulta difícil aprovechar bases de conocimiento internas como Confluence, Jira, documentos alojados en SharePoint o Google Drive o presentaciones. RAG mejora los LLM al conectarlos con repositorios de conocimiento externos y en tiempo real, como bases de datos, páginas web y fuentes especializadas. Esto permite que los modelos produzcan respuestas precisas, actuales y alineadas contextualmente con las necesidades del usuario o usuaria.

¿Cómo funciona?

El proceso de la generación aumentada por recuperación tiene varios pasos, como se muestran en el siguiente diagrama:

Ingesta de datos: documentos, preprocesado, embedding, chunks, base de datos vectorial. Consulta: base de datos vectorial, top k, llm, salida, usuario, prompt, embedding, base de datos vectorial.

Esencialmente, tiene dos flujos de trabajo: ingesta y consulta. Antes de que se pueda utilizar una herramienta impulsada por RAG, es necesario crear un pipeline de ingesta de información. En este proceso, los datos se extraen de donde estén alojados (SharePoint, Drive, Slack, Confluence, tickets de Jira, etc.) y se vectorizan a través de un modelo de embeddings, que descompone el documento en porciones más pequeñas, conocidas como "chunks". Estos "chunks" se almacenan en una base de datos vectorial, de donde el segundo flujo de la solución recuperará la información. Es importante repetir el proceso de vectorización periódicamente, reduciendo el tiempo entre las actualizaciones de la base de datos dependiendo de la frecuencia con que se modifique la información base. En Paradigma, proponemos actualizaciones semanales o incluso diarias.

El segundo flujo de trabajo ocurre cuando la persona actúa. Su prompt se envía a un sistema de IA que emplea RAG, y el LLM genera un prompt inicial basado en la entrada. Ilustremos este flujo de trabajo con un ejemplo sobre un empleado de una consultora de energía que necesita información sobre proyectos de energía eólica:

¿Qué proyectos hemos hecho en la empresa relacionados con energía eólica?

La consulta de este usuario se vectoriza para recuperar documentos o datos relevantes de fuentes externas, que generalmente se almacenan en una base de datos vectorial, un tipo de base de datos optimizada para la búsqueda y recuperación rápida de información semánticamente similar.

Documentos Contenido
Documento 1 Powair Tech. 2nd Aug 2017 Belfast, UKdom. The project/nconsisted on installing new air filtration systems for local industry/n factories. Pilot launch results varied and final adjustments not/nfinalized till Q4.
Documento 2 Techsol Ltd.. November 23rd,2018. New York,, USA. The project plan/initialy aimed at redesgining wind power infrastructures but /delays occured due to unexpected client site problems. end result was a mixed outcome.
Documento 3 Greentech Solutions/ 15Jan2019; Berlin/Germany; This project involved upgrading wind power technologies but suffered from/n frequent power outages and system incompatibilties; final delivery in summer of 2019.
Documento 4 InnoBuild Corp. July 7th 2020. Sydney//Australia. The development/nfocused on adve…d air power materials. Initally planned to finish/ by end 2020, but ixtended to …meed 2022 due to supply chain bottlencks.

Una vez que los documentos relevantes son recuperados, se preprocesan, se limpian y se transforman en un formato compatible con el LLM.

Documentos Contenido
Documento 1 Powair Tech. 2nd Aug 2017, Belfast, UK. The project consisted of installing new air filtration systems for local industry factories. Pilot launch results varied, and final adjustments were not finalized until Q4.
Documento 2 Techsol Ltd. November 23rd, 2018, New York, USA. The project plan initially aimed at redesigning wind power infrastructures, but delays occurred due to unexpected client site problems. The end result was a mixed outcome.
Documento 3 Greentech Solutions. 15th Jan 2019, Berlin, Germany. This project involved upgrading wind power technologies but suffered from frequent power outages and system incompatibilities. Final delivery was in the summer of 2019.
Documento 4 InnoBuild Corp. July 7th, 2020, Sydney, Australia. The development focused on advanced air power materials. Initially planned to finish by the end of 2020, but extended to mid-2022 due to supply chain bottlenecks.

Después, el LLM integra esta información obtenida con su propio conocimiento para producir una salida final. Por ejemplo, utilizando un framework de IA generativa como LangChain, el proceso en segundo plano (opaco para el usuario final) recupera proyectos específicos relacionados con la consulta desde una base de datos interna, y no lo incluye en un prompt interno junto al prompt original.

El usuario ha hecho la siguiente pregunta sobre su empresa:

"¿Qué proyectos hemos realizado en el pasado relacionados con la energía eólica?"

Dado que esa es información privada a la que no tenemos acceso, he recuperado el siguiente contenido de nuestra base de datos interna:

1- Powair Tech. 2 de agosto de 2017, Belfast, Reino Unido. El proyecto consistió en la instalación de nuevos sistemas de filtración de aire para fábricas de la industria local. Los resultados del lanzamiento piloto variaron, y los ajustes finales no se completaron hasta el cuarto trimestre. 
2- Techsol Ltd. 23 de noviembre de 2018, Nueva York, EE. UU. El plan del proyecto inicialmente tenía como objetivo rediseñar infraestructuras de energía eólica, pero hubo retrasos debido a problemas imprevistos en el sitio del cliente. El resultado final fue mixto. 
3- Greentech Solutions. 15 de enero de 2019, Berlín, Alemania. Este proyecto implicó la mejora de tecnologías de energía eólica, pero sufrió frecuentes cortes de energía e incompatibilidades del sistema. La entrega final fue en el verano de 2019. 
4- InnoBuild Corp. 7 de julio de 2020, Sídney, Australia. El desarrollo se centró en materiales avanzados para energía eólica. Inicialmente estaba previsto finalizarlo a finales de 2020, pero se extendió hasta mediados de 2022 debido a cuellos de botella en la cadena de suministro.

Ahora responde a la pregunta del usuario...

Este prompt, creado por la herramienta, es enviado a un LLM que devuelve la respuesta final:

Aquí está la información relevante de proyectos pasados relacionados con la energía eólica:

1. Techsol Ltd. (23 de noviembre de 2018, Nueva York, EE. UU.): El proyecto tenía como objetivo inicial rediseñar las infraestructuras de energía eólica. Sin embargo, hubo retrasos debido a problemas imprevistos en el sitio del cliente, lo que resultó en un resultado mixto.

2. Greentech Solutions (15 de enero de 2019, Berlín, Alemania): Este proyecto se centró en la mejora de tecnologías de energía eólica, pero enfrentó desafíos, como frecuentes cortes de energía e incompatibilidades del sistema. La entrega final se realizó en el verano de 2019.

Estos dos proyectos están directamente relacionados con iniciativas de energía eólica.

Así utilizamos RAG en Paradigma

En Paradigma hemos aprovechado el poder de RAG para construir soluciones avanzadas de IA adaptadas a nuestras necesidades comerciales específicas y las de nuestros clientes. Nuestra experiencia muestra que esta técnica tiene una alta capacidad para recuperar información relevante y actual, y proporciona una alternativa rentable al costoso proceso de ajustar o reentrenar modelos completos. La disminución de los costos de las bases de datos vectoriales y los servicios de embeddings hace que RAG sea una opción cada vez más accesible para muchas empresas.

Otra ventaja clave de RAG es su capacidad para proporcionar respuestas contextualmente relevantes. Recupera información directamente relacionada con la consulta, minimizando las posibilidades de contenido irrelevante. Esto asegura que el contenido generado por IA sea coherente y esté alineado con los datos más recientes y específicos disponibles, reduciendo contradicciones e inconsistencias. Internamente, hemos utilizado esta capacidad para desarrollar soluciones especializadas para nuestros clientes en diferentes plataformas en la nube, cada una adaptada a sus necesidades específicas.

Para fines internos, aprovechamos las capacidades de la generación aumentada por recuperación de Google Cloud para desarrollar un chatbot impulsado por IA generativa. Este chatbot recupera eficientemente información de páginas web internas para responder a consultas comunes de recursos humanos y de sistemas, como preguntas sobre vacaciones, políticas de permisos y otros servicios. La solución reduce la carga de trabajo del personal ahorrándoles tiempo, demostrando cómo RAG puede optimizar los procesos internos. El siguiente diagrama ilustra los componentes clave de una arquitectura RAG basada en Google Cloud:

Ingesta: cloud storage, cloud run, gecko@003, chunks, cloud sql. Consulta: cloud sql, top k, gemini 1.5, salida, usuario, prompt, gecko@003, cloud sql.

Usando AWS, desarrollamos una herramienta basada en IA generativa específicamente diseñada para centros de contacto con el fin de mejorar las interacciones con los clientes. Esta herramienta permite a los agentes recuperar información en tiempo real sobre las ofertas actuales de los competidores durante las conversaciones con los clientes. Por ejemplo, cuando un cliente menciona una oferta promocional de otra compañía, la herramienta permite al agente verificar instantáneamente los detalles y veracidad de esa oferta. Este acceso inmediato permite a los agentes proponer contraofertas competitivas adaptadas a las necesidades del cliente, creando oportunidades para retener al cliente o incluso realizar ventas adicionales.

Al proporcionar recuperación en tiempo real de la información de los competidores, la herramienta reduce los tiempos de respuesta y mejora la calidad del servicio al asegurar que los agentes estén bien informados y seguros en sus respuestas. Como resultado, los centros de contacto pueden lograr aumentos significativos en la satisfacción del cliente y las tasas de retención. Además, la herramienta respalda la toma de decisiones basada en datos, permitiendo a los agentes ofrecer propuestas más personalizadas y relevantes, lo que finalmente lleva a mayores tasas de conversión y una posición competitiva más sólida en el mercado.

Aunque el siguiente diagrama ilustra algunos servicios de AWS que probablemente se utilicen en una arquitectura RAG, AWS también ofrece productos especializados, como Kendra, que pueden simplificar algunos de los pasos mostrados.

Ingesta de datos: l3, lambda, bedrock titan, chunks, open search. Consulta: opensearch, top k, bedrock titan text, salida, usuario, prompt, bedrock titan, opensearch.

Para soluciones basadas en Azure, creamos una herramienta avanzada para un importante retailer que vectoriza sus API existentes, lo que permite la creación automática de nuevas API que siguen el mismo formato y estructura que las anteriores. Esta automatización reduce enormemente el tiempo y el esfuerzo necesarios para el desarrollo de API, permitiendo al minorista escalar sus servicios digitales de manera eficiente y mantener la consistencia en todas sus API. La herramienta no solo acelera el proceso de desarrollo, sino que también minimiza los errores humanos, asegurando que todas las nuevas API cumplan con los estándares y mejores prácticas de la compañía.

Además, aprovechamos las capacidades de Azure para mejorar los sistemas internos de gestión del conocimiento, vectorizando contenido de páginas de Confluence y resolviendo incidencias de Jira. Esta solución permite al grueso de los empleados y empleadas resolver de manera independiente problemas comunes con sus dispositivos y softwares, accediendo a información relevante sin la necesidad de involucrar al personal de sistemas para la resolución de problemas repetitivos. Como resultado, los equipos de sistemas pueden concentrarse en problemas más complejos o que requieran de sus permisos de administrador, lo que conduce a una mejora en la productividad general y la eficiencia operativa. Este enfoque genera ahorros significativos de tiempo y costes, además de aumentar la satisfacción de los empleados y empleadas al agilizar los flujos de trabajo y reducir la dependencia del soporte de IT para cuestiones rutinarias.

Ingesta de datos: azure data lake storage, azure functions, text-embedding-3, chunks, cosmosDB o Azure AI Search. Consulta: cosmosDB o Azure AI Search, top k, GPT-4o / o1, salida, usuario, prompt, text-embedding.3, cosmosDB o Azure AI Search.

En esta arquitectura, Azure Data Lake Storage alojará los scripts para el preprocesamiento de los documentos, mientras que Azure OpenAI Service utilizará sus modelos de embeddings para vectorizarlos. Estos documentos vectorizados se almacenarán en Azure Cosmos DB para PostgreSQL; alternativamente, se podría utilizar Azure AI Search, aunque es más costoso. En el flujo de consulta, se utilizará el mismo modelo de embeddings, junto con uno de los últimos modelos de OpenAI como LLM.

Existe una tendencia creciente entre los proveedores de nube, como Azure, de ofrecer alternativas de bajo código para crear soluciones de IA generativa. Azure AI Studio es un excelente ejemplo de esto: una plataforma integral diseñada para simplificar el desarrollo, la implementación y la gestión de aplicaciones de IA generativa utilizando herramientas no-code y low-code. Ofrece una variedad de modelos preconstruidos y personalizables, servicios API y flujos de trabajo visuales interactivos, lo que permite a los usuarios y usuarias construir, ajustar y desplegar soluciones de IA a escala sin necesidad de tener conocimientos profundos en programación.

Más allá de los componentes ilustrados en los diagramas anteriores, hay varios elementos no obligatorios pero altamente recomendados que se encuentran comúnmente en soluciones RAG. Estos incluyen la memoria, para retener el contexto de las conversaciones; el trazado, para monitorear el rendimiento de cada llamada del LLM y cada paso del proceso; y el versionado de prompts, para gestionar y promover los prompts en diferentes entornos.

Conclusión

Estos ejemplos demuestran cómo la tecnología RAG ya se está aplicando en diversas plataformas y servicios de IA. Proveedores como Google Cloud, AWS o Azure ofrecen frameworks robustos para implementar RAG, permitiendo a las empresas crear aplicaciones de IA personalizadas que aprovechan tanto las bases de conocimiento internas como vastos repositorios de datos externos. Estas plataformas permiten desarrollar herramientas de IA altamente especializadas adaptadas a sus necesidades específicas, lo que destaca aún más la versatilidad y adaptabilidad de RAG.

La generación aumentada por recuperación representa un avance importante en la IA al superar las limitaciones de los LLM tradicionales. Al combinar las capacidades generativas de la IA con la recuperación de datos confiables en tiempo real, RAG garantiza que las respuestas sean tanto precisas como relevantes. A medida que Paradigma continúa aprovechando RAG, las posibles aplicaciones para la IA generativa se están expandiendo rápidamente, ofreciendo soluciones más eficientes, adaptables e innovadoras en diversos sectores.

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete