Próximo seminario web: Seguridad empresarial para Claude Code | 21 de abril · 11:00 a. m. PST. Regístrese aquí →

Una guía completa para recuperar la generación aumentada 2024

Por TrueFoundry

Actualizado: May 22, 2024

Resumir con

Imagina preguntarle a una IA:»¿Cuál es el clima actual en Bangalore??» y responde,»No puedo proporcionar información en tiempo real.«Esta es una limitación típica de muchos modelos lingüísticos que se basan únicamente en datos previamente entrenados y carecen de la capacidad de obtener y utilizar información en tiempo real. De ahí viene el concepto de generación aumentada por recuperación, un enfoque innovador en materia de inteligencia artificial (IA) y procesamiento del lenguaje natural (PNL). Proporciona un método para que las máquinas se mantengan actualizadas y ofrezcan respuestas a consultas complejas.

Este es un ejemplo de respuesta de GPT-3.5

La generación aumentada por recuperación (RAG) aborda esta brecha al combinar las poderosas capacidades generativas de modelos como el GPT (transformador preentrenado generativo) con la recuperación dinámica de datos externos. El RAG permite a la IA acceder a información actualizada de varias fuentes en tiempo real, lo que la hace no solo más informativa sino también más precisa.

Por ejemplo, un sistema mejorado con RAG primero recuperaría los datos meteorológicos más recientes de una fuente confiable cuando se le preguntara sobre el clima, y luego usaría esta información para generar una respuesta actual y contextualmente precisa. Esta capacidad de aumentar la generación con una recuperación oportuna transforma la forma en que las IA interactúan con los usuarios, proporcionando respuestas que no solo son plausibles, sino también correctas desde el punto de vista fáctico y contextualmente ricas.

Esta fusión dinámica de recuperación y generación abre nuevos ámbitos de posibilidades para las aplicaciones de inteligencia artificial, desde bots de servicio al cliente mejorados y sistemas sofisticados de recuperación de información hasta herramientas más receptivas e interactivas para el análisis de datos y la toma de decisiones.

La generación aumentada por recuperación (RAG) fue presentada notablemente por un equipo de Facebook AI Research (FAIR) en su artículo de 2020. El método combinaba la recuperación de documentos relevantes para una consulta con un modelo generativo para mejorar el proceso de generación. Este avance tiene implicaciones significativas en varios campos, especialmente en el procesamiento del lenguaje natural (PNL).

En la PNL, la RAG ha transformado la forma en que los modelos gestionan las tareas que requieren un razonamiento complejo y acceso a conocimientos externos, como la respuesta a preguntas y la recuperación de información. Al aprovechar tanto un componente de recuperación para obtener información relevante como un componente generativo para sintetizar esta información en respuestas coherentes, los modelos RAG han podido proporcionar resultados más precisos y enriquecidos desde el punto de vista del contexto.

Más allá de la PNL, RAG también encuentra aplicaciones en campos como la atención al cliente, donde puede proporcionar respuestas dinámicas y basadas en el conocimiento, y en la generación de contenido, donde puede producir contenido más informativo y preciso mediante el acceso a información actualizada.

Componentes principales de RAG

Retrievers

Los recuperadores son cruciales en la arquitectura RAG, ya que actúan como el componente responsable de obtener información relevante de un conjunto de datos o una base de conocimientos. Su función principal es mejorar la capacidad de la IA para acceder y utilizar información externa y actualizada que no esté almacenada de forma inherente en el propio modelo. Hay dos tipos principales de perros perdigueros:

Retrievers dispersos: Se basan en métodos basados en palabras clave, como TF-IDF o BM25, para obtener los documentos pertinentes. Son eficaces para una amplia gama de conjuntos de datos y son menos intensivos desde el punto de vista computacional.

Retrievers densos: utilizan técnicas de aprendizaje profundo para comprender y recuperar documentos basándose en la similitud semántica en lugar de en la coincidencia de palabras clave. Son particularmente útiles para gestionar consultas complejas que requieren comprender significados matizados.

Plataformas como OpenAI y Hugging Face proporcionan herramientas y API que permiten la integración de estas técnicas de recuperación en varias aplicaciones, lo que permite capacidades de recuperación de información más sofisticadas.

Generadores

Los generadores del marco RAG convierten los datos recuperados en texto coherente y similar al de un humano. Una vez que se recupera la información relevante, se procesa e integra en un modelo generativo, por lo general un modelo lingüístico extenso como GPT o BERT. El componente generativo utiliza esta información para producir respuestas que no solo son relevantes desde el punto de vista del contexto, sino que también reflejan los matices y las características específicas de la consulta de entrada. Esta síntesis permite obtener resultados con gran cantidad de información, precisos y adaptados a la solicitud del usuario, lo que mejora significativamente la calidad de la interacción en comparación con los modelos tradicionales que generan respuestas basándose únicamente en datos previamente aprendidos.

Juntos, estos componentes forman la columna vertebral del sistema RAG, lo que le permite realizar tareas que requieren tanto la recuperación de datos en tiempo real como la generación sofisticada de texto, reduciendo así la brecha entre los modelos estáticos de IA y las aplicaciones dinámicas del mundo real.

Funcionamiento de RAG Systems

Una instancia representativa del proceso RAG aplicada a la respuesta a las preguntas ( https://arxiv.org/pdf/2312.10997 )

Paso 1: Entrada de consulta

El usuario introduce una consulta en el sistema.

Paso 2: Indexación

Los documentos se procesan previamente y se dividen en partes.

Luego, estos fragmentos se codifican en vectores y se almacenan en una base de datos vectorial para una recuperación rápida.

Paso 3: Recuperación

El sistema recupera los k fragmentos principales que son más relevantes para la consulta del usuario en función de la similitud semántica. Esto se hace comparando la representación vectorial de la consulta con los vectores del documento.

Paso 4: Combinación de contextos

Los fragmentos recuperados se combinan con la consulta original para formar una entrada rica en contexto.

Paso 5: Generación

Esta entrada enriquecida se introduce en un modelo de lenguaje grande (LLM).

El LLM genera una respuesta al integrar la información recuperada y el conocimiento interno codificado en el modelo.

Paso 6: Entrega de salida

La respuesta generada se entrega al usuario, lo que idealmente proporciona una respuesta completa y contextualmente relevante a la consulta.

RAG nativo, RAG avanzado y RAG modular

1. RAG ingenuo

Naive RAG procesa sistemáticamente los documentos al indexarlos, incrustarlos y almacenarlos como vectores para su recuperación. Cuando se introduce una consulta, se transforma en un vector utilizando el mismo modelo y se compara con la base de datos para obtener los fragmentos relevantes. A continuación, se integran con la pregunta del usuario para generar una respuesta. Este proceso garantiza que la respuesta esté basada en datos, lo que minimiza el riesgo de generar contenido irrelevante o inexacto al aprovechar el conocimiento indexado y específico del dominio.

2. RAG avanzado

Advanced RAG mejora el RAG ingenuo al abordar la alineación semántica entre las consultas y los documentos. Incluye la optimización de la indexación de datos mediante la mejora de la calidad y la estructuración de los datos, el empleo de métodos de recuperación sofisticados, como el ajuste preciso de los modelos de incrustación con datos de dominios específicos, y el uso de métricas de similitud avanzadas. Las estrategias posteriores a la recuperación, como el cambio de clasificación y la compresión rápida, refinan la calidad del contexto y garantizan que el modelo lingüístico genere las respuestas más relevantes y precisas.

3. RAG modular

El RAG modular incorpora varias estrategias avanzadas para mejorar el proceso de generación aumentada por recuperación. Integra módulos de búsqueda adicionales que extraen datos de diversas fuentes y emplea un módulo de memoria para utilizar pares históricos de consultas y respuestas. Las técnicas avanzadas de fusión para búsquedas vectoriales paralelas y la reclasificación inteligente optimizan los resultados de la recuperación, mientras que los mecanismos de enrutamiento adaptan la respuesta del sistema a los tipos de consultas específicos, lo que mejora la relevancia y la precisión.

Implementación de RAG

Este código configura una implementación básica de RAG en la que el sistema recupera la información relacionada con la pregunta de entrada y genera respuestas. Deberás adaptar las rutas y, posiblemente, personalizar los componentes en función de tus datos y casos de uso específicos.

1. Instale las bibliotecas necesarias: En primer lugar, debe instalar las bibliotecas de Python necesarias. Puedes hacerlo a través de pip:


!pip install transformers
!pip install datasets

2. Cargue un modelo RAG previamente entrenado: Importe y cargue el modelo RAG desde la biblioteca Transformers. En este caso, usaremos RagToken para Generation y Codificador de preguntas DPR para la codificación de la pregunta.


from transformers import RagTokenForGeneration, DPRQuestionEncoder
question_encoder = DPRQuestionEncoder.from_pretrained('facebook/dpr-question_encoder-single-nq-base')
rag_token = RagTokenForGeneration.from_pretrained('facebook/rag-token-nq')

3. Inicializar RAG: Combine el codificador de preguntas con RAG utilizando el codificador de contexto DPR y un generador.


from transformers import DPRContextEncoder, DPRContextEncoderTokenizer, RagTokenizer, RagRetriever


context_encoder = DPRContextEncoder.from_pretrained('facebook/dpr-ctx_encoder-single-nq-base')
context_tokenizer = DPRContextEncoderTokenizer.from_pretrained('facebook/dpr-ctx_encoder-single-nq-base')
question_encoder_tokenizer = DPRContextEncoderTokenizer.from_pretrained('facebook/dpr-question_encoder-single-nq-base')
rag_tokenizer = RagTokenizer.from_pretrained('facebook/rag-token-nq', retriever=rag_retriever)


rag_retriever = RagRetriever(
    rag_tokenizer.question_encoder_tokenizer,
    rag_tokenizer.generator_tokenizer,
    'datasets/wikipedia/20200501.en',
    index_name="compressed",
    passages_path='my_knowledge_dataset'
)

4. Genera respuestas: Cree una función para pasar preguntas al modelo y generar respuestas


def ask_question(question):
    inputs = rag_tokenizer(question, return_tensors="pt")
    with torch.no_grad():
        outputs = rag_token.generate(inputs['input_ids'])
    return rag_tokenizer.batch_decode(outputs, skip_special_tokens=True)


# Example query
print(ask_question("What is the capital of France?"))

Aplicación del sistema RAG

La generación aumentada por recuperación (RAG) mejora significativamente varios sectores al integrar datos actualizados con respuestas generadas por IA. Esta es una exploración detallada de sus aplicaciones:

Asistencia sanitaria: RAG mejora la toma de decisiones en la atención médica al acceder a las últimas investigaciones y directrices médicas. Ayuda a las herramientas de diagnóstico, ya que ofrece consejos médicos más precisos y actuales, mejorando así la calidad de la atención al paciente.

Finanzas: En finanzas, RAG analiza los datos actuales del mercado y los informes financieros, proporcionando asesoramiento personalizado y evaluaciones de riesgos. Esto permite una planificación financiera y estrategias de inversión más precisas al incorporar información económica en tiempo real.

Servicio al cliente: RAG aumenta la precisión de la atención al cliente al recuperar información actualizada sobre los productos y los datos de los usuarios, lo que reduce los errores de respuesta y mejora la calidad de la interacción con los clientes.

Generación de contenido: Más allá de las aplicaciones rutinarias, RAG se destaca en la generación de contenido para correos electrónicos, publicaciones en redes sociales e incluso redacción técnica, lo que garantiza que el contenido no solo sea gramaticalmente correcto sino también enriquecido contextualmente.

Herramientas educativas: Al transformar la educación, RAG ofrece experiencias de aprendizaje personalizadas al generar contenido y explicaciones personalizados, lo que mejora la participación y la eficacia de la educación.

Jurídico e investigación: RAG agiliza la investigación legal y la redacción de documentos. Al recuperar los precedentes legales y la literatura pertinentes, ayuda a preparar documentos y análisis legales más informados.

Sistemas de recomendación: En las plataformas de medios digitales, RAG mejora los motores de recomendación de contenido al comprender las preferencias de los usuarios y generar sugerencias de contenido personalizadas, lo que mejora la participación y la satisfacción.

Puntos de falla en los sistemas RAG

A pesar de los avances que aportan los sistemas RAG (Retrieval-Augmented Generation) en las aplicaciones de IA, se enfrentan a varios desafíos. Estos son algunos puntos de falla en los sistemas RAG:

  1. Brechas de contenido: Los sistemas RAG pueden fallar cuando la información requerida no se encuentra en las fuentes de datos a las que tiene acceso. Si el sistema no puede encontrar información relevante, puede generar por defecto una respuesta genérica o sin compromiso o, lo que es peor, hacer inferencias incorrectas.
  2. Problemas de clasificación y recuperación: Incluso si los documentos pertinentes están presentes, es posible que no ocupen un lugar lo suficientemente alto como para seleccionarlos para generar respuestas. Esto puede provocar que el sistema RAG pase por alto información crucial, lo que compromete la calidad del resultado.
  3. Desalineación contextual: En ocasiones, se recuperan los documentos necesarios, pero no se incorporan de manera efectiva al contexto para generar respuestas. Esto hace que las respuestas estén fuera de contexto o incompletas, lo que reduce la confiabilidad del sistema.
  4. Fallos de extracción: Hay casos en los que la respuesta correcta está dentro del contexto proporcionado al modelo generativo, pero el modelo no extrae ni utiliza correctamente esta información. Esto puede deberse a la complejidad de la consulta o a contradicciones en los datos de entrada.
  5. Formato incorrecto: Los sistemas RAG pueden tener dificultades para generar respuestas en el formato específico solicitado por el usuario, como listas o tablas, lo que puede afectar a la usabilidad del resultado.
  6. Especificidad inadecuada: Es posible que las respuestas generadas no respondan adecuadamente a las necesidades del usuario, ya sea por ser demasiado vagas o demasiado detalladas. Esto suele deberse a una falta de alineación entre las expectativas del usuario y los resultados del sistema.
  7. Respuestas incompletas: Incluso cuando se proporciona información parcialmente correcta, el sistema puede no ofrecer una respuesta completa y omitir algunos detalles que son cruciales para cumplir plenamente con la consulta del usuario.

Conclusión

A medida que miramos hacia el futuro, el potencial de la generación aumentada de recuperación (RAG) para revolucionar las tecnologías basadas en datos sigue aumentando. Los avances previstos en la inteligencia artificial y el aprendizaje automático podrían introducir nuevas y sofisticadas funciones y capacidades en los sistemas RAG, lo que podría mejorar su eficiencia y alcance. Es posible que veamos mejoras que permitan una integración más fluida con las fuentes de datos en tiempo real, un manejo más sólido de consultas complejas e incluso una mayor precisión en el contenido generado. El horizonte es prometedor y promete reducir aún más la brecha entre las bases de conocimiento estáticas y las aplicaciones dinámicas del mundo real, haciendo de la RAG una tecnología fundamental para los futuros sistemas de IA.

La forma más rápida de crear, gobernar y escalar su IA

Inscríbase
Tabla de contenido

Controle, implemente y rastree la IA en su propia infraestructura

Reserva 30 minutos con nuestro Experto en IA

Reserve una demostración

La forma más rápida de crear, gobernar y escalar su IA

Demo del libro

Descubra más

May 23, 2024
|
5 minutos de lectura

¿Qué son las incrustaciones vectoriales? — Una guía completa para 2024

May 22, 2024
|
5 minutos de lectura

¿Qué es la indexación vectorial? - Una guía completa para 2024

May 22, 2024
|
5 minutos de lectura

LLM Embeddings 101: una guía completa 2024

April 22, 2026
|
5 minutos de lectura

Mercados de agentes de IA: el futuro de la automatización de nivel empresarial

No se ha encontrado ningún artículo.
Detailed Guide to What is an AI Gateway?
April 22, 2026
|
5 minutos de lectura

¿Qué es AI Gateway? Conceptos básicos y guía

No se ha encontrado ningún artículo.
April 22, 2026
|
5 minutos de lectura

Aprovechar la puerta de enlace de IA de TrueFoundry para el cumplimiento de FIPS

No se ha encontrado ningún artículo.
April 22, 2026
|
5 minutos de lectura

Integración de GraySwan con TrueFoundry

No se ha encontrado ningún artículo.
No se ha encontrado ningún artículo.

Blogs recientes

Realice un recorrido rápido por el producto
Comience el recorrido por el producto
Visita guiada por el producto