4 puntos por finnchoi 2024-07-19 | Aún no hay comentarios. | Compartir por WhatsApp

Problema

  • Para la búsqueda semántica/en lenguaje natural y RAG, es necesario hacer embeddings vectoriales
  • La mayoría de los modelos de embedding tienen un límite de longitud de entrada
    • Ajustar una longitud de entrada adecuada está directamente relacionado con la calidad de la búsqueda
    • Debido a ese límite, en la mayoría de los casos se terminan separando y almacenando los párrafos
  • Al almacenar el texto original por partes, un solo documento termina dividido en varios documentos
    • La mayoría de los documentos no están compuestos solo por un único bloque de texto; también incluyen metadatos y otros campos extensos
    • Para guardar los datos divididos, es necesario duplicar el texto separado y la información adicional, o bien almacenarlos en colecciones (o tablas) separadas
      • La duplicación provoca ineficiencia por el aumento en el espacio de almacenamiento, y las colecciones separadas incrementan la complejidad del proceso de búsqueda con joins, cálculo de puntajes, conteo de documentos, etc.
    • Este es un problema que aparece con frecuencia al usar la mayoría de los almacenes vectoriales

Solución

  • Se buscó una forma distinta de no dividir el texto original
  • Se modificaron la base de datos y las librerías relacionadas para que el campo donde se almacenan los datos de embedding pueda recibir datos bidimensionales
    • Esto permite almacenar datos vectoriales de longitud variable por documento, divididos en una o más partes, sin que el texto original se separe
    • Con este método, el texto original y los datos vectoriales separados pueden coexistir sin dividir la colección, lo que simplifica la gestión de datos y las consultas

Aún no hay comentarios.

Aún no hay comentarios.