Que é a arquitectura RAG? Definición completa con exemplos prácticos detallados

A arquitectura RAG é o conxunto de compoñentes que almacena, recupera e proporciona información externa a un LLM; esta guía analiza 10 tipos, desde a RAG básica e a híbrida ata a RAG axéntica e GraphRAG, con dous exemplos paso a paso.

Diagram of the types of RAG architecture branching from a central hub: basic, hybrid, adaptive, corrective (CRAG), self-RAG, multimodal, agentic, GraphRAG, HyDE, and branched.

A RAG, sigla en inglés de retrieval augmented generation (xeración aumentada por recuperación), é un proceso no que os LLM utilizan información externa para ampliar e mellorar as súas respostas. A arquitectura RAG é o conxunto de compoñentes e conexións que fai posible a RAG.

Existen varias categorías diferentes de RAG, e cada unha funciona sobre a súa propia arquitectura. En esencia, a arquitectura dun sistema RAG determina a forma particular en que a información se almacena, se recupera e se lle proporciona a un LLM.

Que é a arquitectura RAG?

A arquitectura RAG é a configuración subxacente de compoñentes (e das súas capacidades asociadas) que fai funcionar un sistema RAG determinado. Todas estas arquitecturas baséanse nun modelo fundamental, ao que se adoita chamar RAG “simple” ou “inxenua”.

Velaquí unha visión xeral da arquitectura RAG fundamental:

  • Fonte de información: é onde se almacena a información externa. Pode ser un índice de busca, unha base de datos vectorial que representa grandes cantidades de información ou un repositorio de documentos en bruto.
  • Compoñente de recuperación: é o mecanismo mediante o cal se consulta a fonte de información. Un sistema RAG pode, por exemplo, empregar unha simple busca por palabras clave para atopar fragmentos de texto relevantes ou consultas vectoriais máis complexas para realizar unha busca por similitude.
  • Compoñente de orquestración: esta capa é a parte da aplicación baseada en LLM que inicia a canalización RAG para o prompt dun usuario, xa sexa en conxunto co LLM ou de forma independente. Tamén compila a información recuperada nun prompt ampliado.

Os compoñentes da arquitectura RAG adoitan organizarse en dúas rutas. A ruta de inxestión toma os datos e organízaos nunha fonte de información na que se pode buscar. As bases de datos vectoriais, nas que grandes cantidades de texto se converten nun repositorio de embeddings vectoriais que se pode consultar, son unha das aplicacións máis empregadas.

A ruta de recuperación toma o prompt dun usuario e xera unha consulta coa que buscar na fonte de información. Despois, o orquestrador engade a información recuperada ao contexto de entrada do LLM. Nas arquitecturas RAG axénticas e híbridas pode haber varias rutas de recuperación.

Tipos de arquitectura RAG

É enganoso pensar na RAG en termos de arquitecturas completamente distintas. A maioría dos enxeñeiros adoptan un enfoque modular e implementan compoñentes separados que se adaptan a casos de uso específicos. Aínda que é posible trazar límites aproximados, cómpre ter en conta que hai unha superposición considerable entre os modelos de arquitectura.

1. RAG básica

A RAG básica, tamén chamada RAG “inxenua” ou “simple”, é o modelo arquitectónico do que parten os demais tipos de RAG.

O proceso subxacente é relativamente sinxelo: un usuario introduce un prompt, o orquestrador determina se se necesita información externa (de forma independente ou en conxunto co LLM) e, en consecuencia, formula e envía unha consulta de recuperación.

A fonte de información externa adoita ser unha base de datos vectorial, pero tamén pode ser unha base de datos SQL, unha API web, un grafo de coñecemento ou mesmo un repositorio de documentos “en bruto”. Esta información adicional engádese despois ao contexto de entrada do LLM.

Á marxe das consultas SQL e das API, hai dous grandes tipos de métodos de recuperación:

  • Busca léxica (busca por palabras clave): é unha forma sinxela de RAG na que se extraen palabras clave da consulta dun usuario e se comparan con pasaxes de texto que conteñen esas palabras clave. Nas canalizacións modernas, o orquestrador pode facer para isto o que se denomina unha consulta de vector disperso, que non capta o significado.
  • Busca de vectores densos (busca semántica): os embeddings de vectores densos captan o significado. Un orquestrador pode consultar unha base de datos de vectores densos de forma que se capte o significado tanto do prompt do usuario como da información de orixe.

O uso da memoria tamén é unha parte importante da arquitectura RAG. Refírese a como un LLM utiliza o contexto de conversas anteriores para construír unha consulta de recuperación, de modo que a ancora no contexto máis amplo dunha conversa (ou de varias). A RAG conversacional é a norma na maioría dos chatbots, aínda que algúns casos de uso, como as respostas a incidencias de soporte, poden empregar RAG dunha soa pregunta.

2. Híbrida

A RAG híbrida combina dous tipos diferentes de recuperación, normalmente a recuperación por palabras clave e a semántica. A busca por palabras clave atopa termos coincidentes, e a busca vectorial atopa pasaxes cun significado relacionado.

Tamén se poden empregar outras formas de recuperación, como o percorrido de grafos de coñecemento ou as consultas a bases de datos SQL. O proceso adoita estar guiado por unha lóxica de enrutamento, xa sexa en forma de regras programadas ou da clasificación da pregunta por parte dun modelo (aínda que tamén se poden executar varias canalizacións simultaneamente).

O orquestrador combina os resultados e pode reordenalos antes de pasarllos ao LLM. A reordenación é o proceso de asignar puntuacións de relevancia aos fragmentos recuperados para que o LLM priorice a información máis pertinente.

3. RAG adaptativa

Na RAG adaptativa, un compoñente de enrutamento selecciona unha estratexia de recuperación en función dos requisitos do prompt do usuario e, a continuación, o orquestrador executa o fluxo de traballo seleccionado.

No marco orixinal (Adaptive-RAG), un modelo máis pequeno actuaba como clasificador e escollía entre non realizar ningunha recuperación, unha recuperación dun só paso ou unha recuperación en varios pasos. Hoxe algunhas arquitecturas empregan no seu lugar modelos xerativos ou heurísticas baseadas en regras.

É unha arquitectura popular porque asigna a capacidade de procesamento segundo a complexidade e os requisitos de cada prompt, o que reduce os pasos de recuperación innecesarios nos prompts máis sinxelos. É habitual en asistentes que xestionan varios tipos de preguntas.

4. RAG correctiva (CRAG)

A RAG correctiva avalía a información recuperada antes de engadila ao contexto de entrada do LLM. Un avaliador de recuperación determina se a información recuperada é relevante e útil. A característica arquitectónica distintiva é a fase explícita de avaliación e corrección previa á xeración da resposta.

Se se considera que a información está incompleta ou que non é aplicable ao prompt, lánzanse solicitudes adicionais. Estas poden incluír métodos de recuperación distintos dos empregados na solicitude orixinal, como a busca web ou o percorrido de grafos de coñecemento.

A RAG correctiva é habitual en ámbitos nos que a precisión é importante, como a medicina e o dereito. Porén, require unha fonte de información adicional que poida complementar as pasaxes recuperadas orixinalmente.

5. Self-RAG

Na Self-RAG, o modelo pode iniciar solicitudes despois de recibir o contexto de entrada inicial. As respostas xeradas avalíanse fronte ás evidencias recuperadas mediante tokens de reflexión, e envíanse novas solicitudes a través do orquestrador segundo sexa necesario. Pola contra, o LLM tamén pode decidir que non se precisa ningunha recuperación.

Diferénciase da RAG correctiva en que o LLM xulga os seus propios resultados, determina se é necesaria a recuperación e se o texto recuperado é útil, e supervisa as súas propias respostas, modificándoas segundo sexa necesario. A RAG correctiva, en cambio, avalía a calidade da información recuperada antes da xeración.

Esta arquitectura é especialmente útil para prompts complexos ao estilo da investigación profunda. Como integra avaliacións da relevancia (da información recuperada) na xeración de respostas, é unha boa opción para prompts que requiren respostas baseadas en evidencias.

6. RAG axéntica

A RAG axéntica refírese a calquera forma de RAG que se executa no contexto dunha plataforma axéntica. O modelo utiliza as súas capacidades de razoamento para determinar o tipo de información necesaria e escolle entre as opcións de recuperación dispoñibles.

A recuperación pode activarse tantas veces como sexa necesario, e o modelo ten a opción de asignar axentes para as consultas máis complexas. Por exemplo, un LLM podería solicitar unha consulta nunha base de datos para identificar un provedor, lanzar unha busca de documentos para atopar contratos relevantes e rematar cunha busca web para verificar os datos de contacto mediante fontes públicas.

A RAG axéntica é a principal implementación arquitectónica nos chatbots máis populares, como Perplexity, ChatGPT, Claude, etc. Como estas plataformas dan ao modelo principal acceso a varias ferramentas e canalizacións RAG, este pode seleccionar a forma de recuperación máis axeitada para cada prompt.

7. RAG multimodal

A RAG multimodal recupera contexto de distintos tipos de medios. É unha forma importante de RAG porque pon á disposición dos LLM información que doutro xeito sería inaccesible, como gráficos e gravacións de audio.

A arquitectura subxacente é a mesma que en calquera outro sistema. Por exemplo, unha canalización de indexación pode preparar imaxes para a busca converténdoas en embeddings directos. Despois, un sistema RAG axéntico podería recuperar estas imaxes xunto con texto semanticamente relevante e envialas a un modelo de visión e linguaxe para un procesamento dual.

8. GraphRAG

GraphRAG utiliza grafos de coñecemento xunto coa busca vectorial para recuperar información sobre entidades. Normalmente, o orquestrador atopa as entidades de partida relevantes, tamén chamadas nodos, mediante a extracción de palabras clave ou, ás veces, mediante unha busca vectorial preliminar. Un recuperador de grafos percorre un grafo de coñecemento para construír un contexto máis amplo.

Por exemplo, en resposta a unha solicitude dunha análise detallada dunha categoría de produtos, un LLM pode lanzar unha busca vectorial para identificar entidades específicas (produtos). A continuación, o orquestrador lanzará unha busca no grafo de coñecemento para atopar entidades relacionadas, como provedores, puntos de venda, opinións, etc.

9. RAG ramificada

Mentres que unha arquitectura RAG híbrida ten a capacidade de empregar diferentes métodos de recuperación, a RAG ramificada refírese ao proceso de executar varias consultas, chamadas ramas, ao mesmo tempo. Cada rama pode consultar unha fonte de información distinta, ou varias ramas poden consultar a mesma fonte en paralelo con diferentes consultas ou filtros. A arquitectura RAG axéntica adoita empregar RAG ramificada.

10. HyDE (Hypothetical Document Embeddings)

HyDE é unha forma innovadora de RAG na que un LLM crea un documento de texto hipotético que reflicte como podería ser unha resposta óptima. Este “documento hipotético” utilízase despois para crear unha consulta que permita unha recuperación máis precisa. Aínda que o coñecemento relevante non estea representado nos parámetros do LLM, a lóxica é que unha pasaxe con forma de resposta pode coincidir mellor cos documentos relevantes ca unha pregunta curta ou un prompt ambiguo.

Exemplo de arquitectura RAG simple: base de datos vectorial

A RAG básica serve de base para tipos de arquitectura máis complexos. No caso dun sistema RAG simple que utiliza unha base de datos vectorial, a documentación de orixe divídese en partes máis pequenas (fragmentos) que se converten en embeddings densos. Cando un usuario introduce un prompt, o orquestrador xera unha consulta, codifícaa e consulta a base de datos para atopar pasaxes relevantes.

Velaquí o proceso paso a paso:

  1. Grandes cantidades de texto convértense en vectores mediante unha canalización de inxestión automatizada e un modelo de embeddings como BERT.
  2. A aplicación de base de datos organiza, indexa e almacena os vectores para permitir buscas rápidas.
  3. O usuario introduce un prompt nun chatbot (como Perplexity).
  4. O orquestrador da aplicación codifica o prompt (mediante un modelo de embeddings) para recuperar información relevante da base de datos vectorial.
  5. A base de datos vectorial devolve os fragmentos relevantes, e o orquestrador engádeos ao contexto de entrada (o “prompt amplo”) e envíallo ao LLM.
  6. O LLM utiliza o contexto adicional para xerar unha resposta empregando o seu coñecemento interno (almacenado nos seus pesos paramétricos).

Exemplo de arquitectura RAG avanzada: RAG axéntica

A RAG axéntica refírese á arquitectura subxacente dos sistemas RAG dentro dunha plataforma axéntica. Os fluxos de RAG axéntica tenden a ser complexos porque os axentes de IA poden invocar diferentes ferramentas e canalizacións segundo a natureza de cada prompt e despregar varios axentes se é necesario.

Velaquí un exemplo práctico do proceso:

  1. Un usuario introduce unha pregunta complexa que require unha investigación profunda sobre un tema. Para este exemplo, supoñamos que o prompt é “Fai unha previsión dos beneficios da empresa para os próximos seis meses á luz dos principais acontecementos xeopolíticos”.
  2. O LLM razoa que será necesaria unha combinación de consultas RAG en diferentes tipos de contido.
  3. Despréganse tres axentes diferentes para (a) a busca vectorial, (b) a fundamentación na web e (c) a busca de imaxes (multimodal).
  4. Os axentes buscan información relevante, como noticias e datos financeiros internos, a través do orquestrador mediante as ferramentas de recuperación dispoñibles.
  5. O LLM compara os resultados recuperados coa pregunta de investigación de cada axente e ordénaos por relevancia.
  6. O LLM avalía a información e lanza buscas adicionais a través de axentes individuais cando falta información.
  7. Unha vez recuperada suficiente información, o LLM xera previsións para distintos escenarios baseadas nas cifras financeiras existentes (recuperadas da documentación interna) e chama a unha ferramenta de cálculo para proxectar os beneficios en cada un deles.
  8. O LLM xera unha resposta final a partir da información recuperada e dos cálculos, e cita as fontes cando é necesario.

Que futuro ten a RAG?

As innovacións actuais céntranse en dotar as arquitecturas RAG existentes de maior profundidade e velocidade, mellorar a precisión da recuperación multimedia e construír sistemas deseñados para tratar información actualizada ao minuto.

Estas son tres tendencias que están a marcar actualmente a dirección da investigación:

  • Investigación profunda en múltiples fontes: trátase dunha arquitectura RAG capaz de planificar buscas, executar varias ramas en fontes dispares, avaliar as evidencias recuperadas e optimizar por si mesma as respostas xeradas. A RAG axéntica capaz de executar todas estas tarefas é cada vez máis rápida e rendible.
  • Aplicacións multimodais: as canalizacións de recuperación están a mellorar no traballo con imaxes e vídeo. Cada vez son máis capaces de localizar tipos específicos de información en datos multimodais complexos, como vídeos de longa duración e diagramas avanzados.
  • Fundamentar as respostas en información en constante cambio: as aplicacións baseadas en LLM poden recorrer a fontes de información en directo (como transmisións de vídeo e sensores) para proporcionar contexto de entrada. Os sistemas tamén poden xerar redes de información multifacéticas, como ocorre con GraphRAG, para interpretar estes datos.

A RAG é fundamental para o funcionamento das aplicacións baseadas en LLM. Permite que unha gran variedade de usuarios, desde consumidores comúns ata empresas que traballan en ámbitos especializados, superen problemas relacionados coas alucinacións, os datos de adestramento incompletos e a falta de acceso a coñecemento interno especializado.

Por iso os sistemas RAG e a súa arquitectura subxacente representan unha das áreas da investigación en IA que máis rápido avanzan e máis entusiasmo espertan.