Guía de construcción de la Fundación de Principios y Prácticas de la Generación Aumentada de Recuperación (RAG) (Traducción)
Base de conocimientos de IAActualizado hace 10 meses Círculo de intercambio de inteligencia artificial 10.1K 00

A pesar de la continua aparición de modelos cada vez más grandes e inteligentes, los modelos generativos de gran tamaño (LLM) más avanzados siguen adoleciendo de un grave problema: su rendimiento es deficiente cuando se enfrentan a tareas que requieren conocimientos especializados. Esta falta de experiencia puede dar lugar a problemas como los fenómenos fantasma, en los que los modelos generan información inexacta o inventada.Generación de aumento de la recuperación (RAG)Esto se mitiga dando al modelo acceso en tiempo real a datos específicos del dominio procedentes de fuentes externas, lo que mejora su capacidad para ofrecer respuestas precisas y detalladas.
A pesar de estas limitaciones, los modelos generativos siguen siendo herramientas muy influyentes que pueden automatizar tareas cotidianas, asistirnos en nuestro trabajo diario y ayudarnos a interactuar con los datos de nuevas formas. Entonces, ¿cómo podemos aprovechar sus amplios conocimientos y, al mismo tiempo, ponerlos al servicio de nuestros escenarios de uso específicos? La respuesta está en proporcionar datos relevantes para la tarea a los modelos generativos.
En este artículo analizaremos en profundidad la Generación Aumentada por Recuperación (RAG), un marco que mejora las capacidades de los modelos al permitirles referirse a datos externos. Exploraremos las limitaciones de la modelización generativa que contribuyen a la RAG Explicaremos cómo funciona la GAR y analizaremos en detalle la arquitectura de la canalización de la GAR. Además, ofreceremos algunos casos prácticos de uso de la GAR, propondremos métodos específicos de implementación de la GAR, introduciremos algunas técnicas avanzadas de la GAR y debatiremos los métodos de evaluación de la GAR.
LLM es un término amplio para los modelos lingüísticos entrenados en grandes conjuntos de datos que son capaces de realizar una variedad de tareas relacionadas con el texto y el lenguaje. Los LLM generativos son modelos capaces de generar texto nuevo en respuesta a las indicaciones del usuario, como los que se utilizan en los chatbots, a menudo denominados...modelo generativo. Los LLM que codifican datos textuales en el espacio semántico se denominan entoncesModelos de incrustación. Por lo tanto, en este documento utilizamos los términos modelos generativos e incrustados para distinguir entre estos dos tipos de modelos.
Limitaciones de la modelización generativa
Los modelos generativos se entrenan para adquirir conocimientos generales a partir de un gran número de conjuntos de datos, como publicaciones en redes sociales, libros, artículos académicos y páginas web rastreadas. Como resultado, estos modelos pueden generar textos similares a los humanos, responder a una gran variedad de preguntas y ayudar en tareas como la respuesta, el resumen y la escritura creativa.
Sin embargo, los conjuntos de datos de entrenamiento para los modelos generativos son inevitablemente incompletos, ya que carecen de información sobre nichos temáticos y novedades posteriores a la fecha de corte del conjunto de datos. Los modelos generativos tampoco tienen acceso a datos propios en bases de datos o repositorios internos. Además, cuando estos modelos no conocen la respuesta a una pregunta, tienden a adivinar, y a veces esa adivinación es inexacta. Este fenómeno de generación de información incorrecta o ficticia se conoce como alucinación y puede provocar daños reales a la reputación en aplicaciones de IA orientadas al cliente.
La clave para mejorar el rendimiento de los modelos generativos en tareas especializadas y reducir las ilusiones es proporcionar información adicional no presente en los datos de entrenamiento. Aquí es donde entra en juego la GAR.
¿Qué es la Generación Aumentada de Recuperación (RAG)?
Generación de aumento de la recuperación (RAG) es una forma de recuperar datos adicionales relevantes para la tarea actual recuperándolos de una fuente de datos externa arefuerceUn marco para la modelización generativa en macrolenguaje del conocimiento generalista.
Las fuentes de datos externas pueden incluir bases de datos, archivos y repositorios internos, así como datos públicos como artículos de prensa, sitios web u otros contenidos en línea. El acceso a estos datos permite a los modelos ofrecer respuestas más basadas en hechos y citar fuentes en sus respuestas, evitando "conjeturas" cuando la información no puede encontrarse en el conjunto de datos de entrenamiento original del modelo.
Los casos de uso más comunes de la GAR incluyen la recuperación de información actualizada, el acceso a conocimientos especializados y la respuesta a preguntas complejas basadas en datos.
Arquitectura RAG
Los componentes básicos del conducto GAR pueden dividirse entres componentesfuentes de conocimiento externas, plantillas de avisos y modelos generativos. Con estos componentes, las grandes aplicaciones basadas en modelos lingüísticos pueden generar respuestas más precisas utilizando valiosos datos específicos de la tarea.

Fuentes externas de conocimiento
Sin el apoyo de conocimientos externos, los modelos generativos sólo pueden basarse en suConocimientos paramétricosgenerar respuestas, que se aprenden durante la fase de entrenamiento del modelo. Con RAG, podemos integrar en la canalización laFuentes externas de conocimientotambién conocido comoConocimientos no paramétricos.
Las fuentes de datos externas suelen ser específicas de una tarea y a menudo van más allá del alcance de los datos de entrenamiento originales del modelo o de sus conocimientos parametrizados. Además, suelen almacenarse en bases de datos vectoriales, que pueden variar en cuanto a temática y formato.
Las fuentes de datos externas más habituales son las bases de datos internas de las empresas, las leyes, reglamentos y documentos, la literatura médica y científica y las páginas web rastreadas. Los asistentes personales de IA, como Copilot de Microsoft, utilizan una amplia gama de fuentes de datos personales, como correos electrónicos, documentos y mensajes instantáneos, para ofrecer respuestas personalizadas y automatizar tareas de forma más eficiente.
Plantillas de consejos
Las peticiones son las herramientas que utilizamos para comunicar solicitudes al modelo de generación. Las peticiones pueden contener múltiples elementos, pero normalmente incluyen consultas, directivas y contexto para guiar al modelo en la generación de respuestas relevantes.
Plantillas de consejos Se proporciona una forma estructurada de generar indicaciones normalizadas en las que pueden insertarse diversas consultas y contextos. En el proceso RAG (Retrieval Augmented Generation), los datos pertinentes se recuperan de fuentes de datos externas y se insertan en las plantillas de sugerencias para aumentarlas. Básicamente, la plantilla de pistas actúa como puente entre los datos externos y el modelo, proporcionando información contextualmente relevante para que el modelo la utilice en su razonamiento y genere respuestas precisas.
prompt_template = "上下文信息如下。\n"
"---------------------\n"
"{context_str}\n"
"---------------------\n"
"根据上下文信息而不是先前的知识,回答问题。\n"
"问题: {query_str}\n"
"回答: "
Modelización Generativa de Grandes Lenguajes (LLM)
El último componente del GAR es el Large Language Model (LLM) generativo, también conocido como modelo generativo, que se utiliza para generar la respuesta final a la consulta del usuario. A continuación, se envían al modelo preguntas mejoradas, enriquecidas con información proporcionada por una base de conocimientos externa, que genera respuestas combinando conocimientos internos y datos recién recuperados.
Ahora que hemos discutido la arquitectura de RAG y sus componentes clave, veamos cómo encajan en un flujo de trabajo RAG.
¿Cómo funciona el GAR?
RAG es un marco de múltiples pasos con dos fases. En primer lugar, en la fase de ingestión, el conocimiento externo se procesa previamente y se prepara para su recuperación. A continuación, en la fase de inferencia, el modelo recupera los datos pertinentes de la base de conocimientos externa, los complementa con las preguntas del usuario y genera respuestas. Veamos cada fase con más detalle.
Fase 1: Ingestión
En primer lugar, hay que preparar las fuentes externas de conocimiento. En pocas palabras, hay que limpiar los datos externos y transformarlos en un formato que el modelo pueda entender. Esto se denomina fase de absorción. Durante el proceso de ingestión, los datos de texto o imagen pasan por un proceso denominado cuantitativo de su formato original a incrustación. Una vez generadas las incrustaciones, es necesario almacenarlas de forma que puedan recuperarse fácilmente con posterioridad. Por lo general, estas incrustaciones se almacenan en bases de datos vectoriales, de modo que la información pueda recuperarse rápida y eficazmente para tareas posteriores.

Etapa 2: Razonamiento
Una vez codificados y almacenados los datos externos en el inferencia etapa de recuperación, en la que el modelo genera respuestas o contesta preguntas. El razonamiento se divide en tres etapas: recuperación, mejora y generación.

recuperar (datos)
La fase de razonamiento comienza con la recuperación, en la que los datos se obtienen de una fuente de conocimiento externa en respuesta a una consulta del usuario. Los métodos de recuperación varían en formato y complejidad; sin embargo, en el modelo RAG simple, en el que el conocimiento externo se incrusta y almacena en una base de datos vectorial, laBúsqueda por similitud es la forma más sencilla de búsqueda.
Para realizar una búsqueda de similitud, primero es necesario incrustar la consulta del usuario en el mismo espacio multidimensional que los datos externos, de modo que la consulta pueda compararse directamente con los datos externos incrustados. En el Búsqueda por similitud en el que se calcula la distancia entre la consulta y los puntos de datos externos y se devuelve el punto con la distancia más corta, completando así el proceso de recuperación.
Aumento
Una vez recuperados los puntos de datos más relevantes de fuentes de datos externas, el proceso de mejora los integra insertando esta información externa en plantillas de avisos predefinidas.
Generación
Una vez inyectadas en la ventana contextual del modelo las indicaciones aumentadas, éste procede a generar la respuesta final a la entrada del usuario. En la fase de generación, el modelo combina su comprensión lingüística interna con los datos externos aumentados para generar respuestas coherentes y contextualizadas.
Esta etapa consiste en generar respuestas de forma fluida y natural, utilizando al mismo tiempo una gran cantidad de información para garantizar que el resultado sea preciso y pertinente para la consulta del usuario. El objetivo de la mejora es integrar hechos externos, mientras que la generación traduce este conocimiento combinado en un resultado bien estructurado, similar al humano, para una solicitud específica.
Ejemplos de aplicación del GAR
Ahora que ya hemos cubierto la definición de GAR, su funcionamiento y su arquitectura, exploraremos algunos escenarios de aplicación práctica para ver cómo puede utilizarse este marco en el mundo real. Al aumentar los modelos generativos de lenguaje con datos actualizados y específicos de cada tarea, se puede mejorar su precisión, relevancia y capacidad para gestionar tareas especializadas. Como resultado, RAG se utiliza ampliamente en la recuperación de información en tiempo real, los sistemas de recomendación de contenidos y la construcción de asistentes personales de IA.
Recuperación de información en tiempo real
Cuando los modelos generativos se utilizan solos, sólo pueden recuperar la información que existe en su conjunto de datos de entrenamiento. Sin embargo, en el marco del GAR, los modelos son capaces de recuperar datos e información de fuentes externas, lo que garantiza una respuesta más precisa y actualizada. Un ejemplo de ello es la capacidad de ChatGPT-4o para acceder y recuperar información directamente de páginas web en tiempo real. Se trata de un caso de uso de la GAR que recurre a fuentes de datos externas que no están integradas en una base de datos vectorial, y resulta especialmente útil para responder a las consultas de los usuarios sobre noticias u otros acontecimientos sensibles al tiempo, como cotizaciones bursátiles, consejos de viaje y actualizaciones meteorológicas.
Sistema de recomendación de contenidos
Los sistemas de recomendación de contenidos analizan los datos y preferencias de los usuarios para recomendarles productos o contenidos relevantes. Tradicionalmente, estos sistemas requieren complejos modelos de integración y grandes conjuntos de datos sobre las preferencias de los usuarios.RAG simplifica la construcción de sistemas de recomendación al integrar directamente datos externos y contextualmente relevantes de los usuarios con el conocimiento genérico del modelo, lo que les permite generar recomendaciones personalizadas.
Asistente personal de inteligencia artificial
Nuestros datos personales, incluidos documentos, correos electrónicos, mensajes de Slack y notas, son una importante fuente de datos para generar modelos. Al ejecutar RAG en datos personales, podemos interactuar con ellos de forma conversacional, aumentando la eficiencia y automatizando tareas mundanas. Con la ayuda de asistentes de IA como el de Microsoft Copiloto responder cantando Notion (Ask AI), podemos utilizar sencillas instrucciones para buscar documentos relevantes, redactar correos electrónicos personalizados, resumir documentos y actas, programar reuniones y mucho más.
Cómo aplicar el GAR
Ahora que ya sabemos cómo funciona RAG, veremos cómo construir una canalización RAG funcional. RAG puede implementarse a través de diferentes marcos que simplifican el proceso de construcción proporcionando herramientas y módulos preconfigurados que permiten la integración de componentes RAG individuales, así como servicios externos como bases de datos vectoriales, herramientas de generación de incrustaciones y otras API.
LangChain, LlamaIndex y DSPy son potentes bibliotecas de Python de código abierto con comunidades activas que proporcionan potentes herramientas e integraciones para construir y optimizar canalizaciones RAG y aplicaciones de grandes modelos lingüísticos (LLM).
- Cadena LangChain Proporciona bloques de construcción, componentes e integraciones de terceros para ayudar a desarrollar aplicaciones basadas en LLM. Puede utilizarse junto con LangGraph se utilizan conjuntamente para construir una tubería RAG de tipo proxy, y a través del LangSmith Realizar una evaluación RAG.
- LlamaIndex es un marco de trabajo que proporciona herramientas para crear aplicaciones LLM que integren fuentes de datos externas.LlamaIndex mantiene la base de datos LlamaHubSe trata de una rica biblioteca de cargadores de datos, proxies, conjuntos de datos y otros componentes que simplifican la creación de canalizaciones RAG.
- DSPy es un marco modular para optimizar los conductos LLM. LLM y RM (Retrieval Model) pueden configurarse en DSPy para optimizar sin fisuras los conductos de GAR.
Weaviate proporciona integrado (como en circuito integrado) responder cantando fórmulas Weaviate puede utilizarse con cada uno de estos frameworks. Para ejemplos específicos, echa un vistazo a nuestro cuaderno que muestra cómo utilizar Weaviate con el framework LlamaIndex responder cantando DSPy Construir la tubería RAG.
Si desea poner en marcha el GAR rápidamente, consulte la página VerbaVerba es una aplicación RAG de código abierto lista para usar con un brillante front-end pre-construido.Verba le permite explorar visualmente conjuntos de datos, extraer ideas, y construir tuberías RAG personalizables en unos sencillos pasos sin tener que aprender todo un nuevo framework.Verba es una herramienta versátil que se puede utilizar como un patio de recreo para probar y experimentar con tuberías RAG, así como para tareas personales, tales como ayudar a la investigación, el análisis de la documentación interna y la racionalización de diversas tareas relacionadas con RAG. Verba es una herramienta versátil que puede utilizarse como campo de juego para probar y experimentar con canalizaciones RAG, así como para tareas personales como ayudar en la investigación, analizar documentación interna y agilizar diversas tareas relacionadas con RAG.
Implantación de un GAR listo para usar con Verba
Tecnología RAG
Los flujos de trabajo RAG tradicionales suelen consistir en una fuente de datos externa incrustada en una base de datos vectorial que se recupera mediante búsquedas de similitud. Sin embargo, existen varias formas de mejorar el flujo de trabajo de la GAR para obtener resultados más precisos y sólidos, denominados colectivamente GAR avanzada.
La funcionalidad de la tubería RAG puede ampliarse aún más mediante la introducción de bases de datos de grafos y agentes que permitan un razonamiento más avanzado y la recuperación dinámica de datos. En las siguientes secciones, presentamos algunas técnicas avanzadas de GAR y ofrecemos una visión general de la GAR basada en agentes y la GAR gráfica.
RAG avanzado
Las técnicas avanzadas de GAR pueden desplegarse en todas las fases del proceso. Estrategias previas a la recuperación, como Filtrado de metadatos y texto trozo La eficacia y pertinencia de la búsqueda pueden mejorarse acotando la búsqueda y garantizando que sólo se tengan en cuenta las partes más relevantes de los datos. El uso de técnicas de búsqueda más avanzadas, como Búsqueda híbridaque combina las ventajas de la búsqueda por similitud y la búsqueda por palabras clave, también puede producir resultados de recuperación más sólidos. Por último, al utilizar un modelo de clasificación de los resultados de recuperación volver a pedir y generados mediante un Modelo de Lenguaje Amplio (LLM) afinado a partir de datos específicos del dominio pueden mejorar la calidad de los resultados generados.

Si quiere profundizar en este tema, consulte nuestro artículo sobre Tecnología RAG avanzada La entrada del blog.
Proxy RAG
Agente de IA son sistemas autónomos capaces de interpretar la información, elaborar planes y tomar decisiones. Cuando se añaden a un proceso de GAR, los agentes pueden reformular las consultas de los usuarios y recuperar información más pertinente cuando los resultados iniciales son inexactos o irrelevantes. Los GAR basados en agentes también pueden gestionar consultas más complejas que requieran un razonamiento en varios pasos, como la comparación de información entre varios documentos, la formulación de preguntas de seguimiento y el ajuste iterativo de las estrategias de recuperación y generación.
Si desea profundizar en una canalización RAG que incluya proxies y aproveche técnicas avanzadas como la fragmentación y reordenación de texto, consulte esta entrada del blog de LlamaIndex escritos a juego cuadernos.
Gráficos RAG
La GAR tradicional es excelente para resolver tareas de preguntas y respuestas a través de una simple recuperación, pero no puede responder a preguntas que necesitan ser contestadas desde eltotalEl problema de extraer conclusiones a partir de una base de conocimientos externa. La GAR gráfica pretende resolver este problema utilizando un modelo generativo para crear un grafo de conocimiento que extraiga y almacene las relaciones entre entidades clave, que luego se añaden como fuentes de datos al proceso de GAR. Esto permite al sistema RAG responder a consultas que necesitan comparar y resumir múltiples documentos y fuentes de datos.
Para obtener más información sobre el proceso de creación de un RAG gráfico, consulte GraphRAG de Microsoft paquete de softwareresponder cantandoArchivo (informático).
Cómo evaluar los GAR
El GAR es un marco de varias fases y pasos que requiere un enfoque global y detallado.valoración. Este método de evaluación garantiza la fiabilidad de los componentes y la precisión general. En esta sección, exploramos estos dos métodos de evaluación y presentamos RAGAS, un popular marco de evaluación.

Evaluación de los componentes
A nivel de componentes, las evaluaciones GAR suelen centrarse en valorar la calidad de los recuperadores y generadores, ya que desempeñan un papel fundamental a la hora de generar respuestas precisas y pertinentes.
La evaluación de los buscadores se centra principalmente en la precisión y la pertinencia. En este contexto, laprecisión mide la precisión con la que el recuperador selecciona la información que responde directamente a la consulta, y la pertinencia A continuación, evalúa hasta qué punto los datos recuperados se ajustan a las necesidades específicas y al contexto de la consulta.
Por otro lado, la evaluación del generador tiene que ver con la veracidad y la corrección.validez Evaluar si la respuesta generada por el modelo refleja fielmente la información de los documentos pertinentes y comprobar la coherencia de la respuesta con la fuente original.corrección A continuación, se evalúa la respuesta generada para ver si es auténtica y coherente con la situación real o la respuesta esperada en el contexto de la consulta.
Evaluación de principio a fin
Aunque el Recuperador y el Generador son dos componentes separados, se apoyan el uno en el otro para generar respuestas coherentes a las consultas de los usuarios.
El cálculo de la similitud semántica de las respuestas es un método sencillo y eficaz para evaluar la eficacia del trabajo conjunto de recuperadores y generadores.Respuesta similitud semántica Se calcula la similitud semántica entre la respuesta generada y la muestra de respuesta real. Una similitud elevada entre la respuesta generada y las muestras de respuesta reales indica que el proceso es capaz de recuperar información relevante y generar respuestas adecuadas al contexto.
El Marco de Evaluación RAG proporciona una metodología, herramienta o plataforma estructurada para evaluar los procesos RAG.RAGAS(Retrieval Enhanced Generation Evaluation) es un marco especialmente popular que proporciona un conjunto de métricas para evaluar la relevancia de la recuperación, la calidad de la generación y la autenticidad sin necesidad de anotar manualmente los datos. Escuche este podcast de Weaviate para aprender directamente del RAGAS Funcionamiento de las RAGAS del creador y técnicas avanzadas para optimizar las puntuaciones de las RAGAS.
RAG frente a ajuste fino
La GAR es una de las formas de ampliar las capacidades y mitigar las limitaciones de los grandes modelos generativos del lenguaje. El ajuste fino de los grandes modelos lingüísticos es una técnica especialmente popular que permite a los modelos realizar tareas muy especializadas entrenándolos con datos específicos del dominio. Aunque el ajuste fino puede ser adecuado para determinados casos de uso específicos, como entrenar un modelo de biglang para que adopte un tono o un estilo de escritura concretos, la GAR suele ser la forma más directa de mejorar la precisión del modelo, reducir las ilusiones y personalizar un modelo de biglang para una tarea específica.
La ventaja de la GAR es que elimina la necesidad de actualizar las ponderaciones del modelo generativo subyacente, lo que suele ser un proceso costoso y lento.La GAR permite al modelo acceder dinámicamente a datos externos, mejorando así la precisión sin necesidad de un costoso reentrenamiento. Esto lo convierte en una solución práctica para aplicaciones que requieren información en tiempo real. En la siguiente sección, profundizaremos en la arquitectura de RAG y en cómo sus componentes trabajan juntos para crear un potente sistema de mejora de la recuperación.
resúmenes
En este artículo, le presentamos RAG como un marco que aprovecha el conocimiento externo específico de la tarea para mejorar el rendimiento de las aplicaciones basadas en modelos generativos. Hemos aprendido acerca de los diferentes componentes del proceso RAG, incluidas las fuentes de conocimiento externo, las plantillas de sugerencias y los modelos generativos, y cómo trabajan juntos para permitir la recuperación, la mejora y la generación. También analizamos algunos casos de uso y marcos de implementación populares para la GAR, como LangChain, LlamaIndex y DSPy.Por último, mencionamos algunas de las técnicas especializadas para la GAR, incluidos los métodos de GAR de alto nivel, la GAR basada en agentes y la GAR gráfica, así como métodos para evaluar los procesos de GAR.
Como mínimo, cada sección de este artículo podría constituir por sí sola una entrada de blog o incluso un capítulo de un libro. Por lo tanto, hemos elaborado una guía de recursos con artículos académicos, entradas de blog, vídeos de YouTube, tutoriales, cuadernos y recetas para ayudarle a aprender más sobre los temas, marcos y métodos presentados en este artículo.
Guía de recursos
📄 Generación mejorada para tareas de PNL intensivas en conocimiento (Documento original RAG)
👩🍳 Primeros pasos con RAG en DSPy(Formulación)
👩🍳 RAG simple en LlamaIndex(Formulación)
📝 Tecnología RAG avanzada(entrada del blog)
📒 GAR basado en agentes con múltiples agentes documentales(Cuaderno)
📝 Resumen de la evaluación RAG(entrada del blog)
📄 Evaluación de la generación de mejoras en la recuperación: visión general(Documentos académicos)
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...