Fragmentación de documentos en bases de datos vectoriales

Clase 4 de 21Curso de RAG

Resumen

¿Qué diferencia el manejo de información en sistemas web y aplicaciones distribuidas?

Cuando subes documentos completos, como PDF o Word, a un sistema web tradicional, estos se almacenan y descargan de manera íntegra. Sin embargo, en sistemas avanzados como los utilizados por RAG, ocurre un cambio radical en cómo se procesa y almacena esta información.

¿En qué consiste la fragmentación o rebanado de documentos?

El rebanado o fragmentación implica dividir cada archivo, sea texto, PDF o imagen, en pequeños segmentos llamados chunks. Esta división ocurre sin un patrón específico; un solo término podría partirse en diferentes fragmentos sin afectar esencialmente el almacenamiento.

La ventaja radica en que estos chunks permiten almacenar los documentos de manera eficiente en bases de datos especializadas, conocidas como bases de datos vectoriales.

¿Qué son los embeddings y cómo funcionan en bases de datos vectoriales?

Los embeddings representan la manera concreta en que los fragmentos almacenados están organizados dentro de una base de datos vectorial. Estos permiten realizar consultas precisas, recuperando el fragmento exacto de información que mejor responda a una pregunta del usuario.

¿Cómo interactúan las consultas con la base de datos y los LLM?

Al realizar preguntas a la base de datos, esta recupera el fragmento más acorde a la consulta mediante los embeddings ya almacenados. Luego, esos fragmentos escogidos formarán un prompt para que un modelo de lenguaje large (LLM por sus siglas en inglés) presente una respuesta clara y directa al usuario.

Es importante reconocer que esta metodología permite a los LLM ofrecer respuestas comprensibles, incluso si la información inicial está fragmentada o incompleta, gracias a su capacidad de análisis.

¿Qué rol juega la indexación de datos?

Otro aspecto fundamental, mencionado brevemente en la clase, es la indexación de datos. Aunque este tema se explorará más profundamente en clases futuras, es crucial para optimizar la recuperación de fragmentos correctos durante una búsqueda en tales bases vectoriales.

Invito tu participación y comentarios sobre este tema para continuar profundizando juntos en el manejo avanzado de datos.