• Saltar a la navegación principal
  • Saltar al contenido principal
Logo Codificando Bits

Codificando Bits

  • Academia
    • Rutas
    • Cursos
    • Proyectos
    • Tutoriales
  • Acceder
  • Suscribirse

5 – Búsqueda semántica con bases de datos vectoriales

Lección 5 del curso Búsqueda Semántica con LLMs.

En la lección anterior vimos cómo implementar de forma práctica diferentes estrategias de fragmentación del texto (o chunking) que resultan muy útiles al momento de desarrollar sistemas de Búsqueda Semántica.

En esta lección veremos otro elemento esencial en cualquier sistema de Búsqueda Semántica: las bases de datos vectoriales. Entonces vamos a entender qué es una base de datos vectorial, por qué es necesario usarla en la Búsqueda Semántica y cómo implementar un sistema de búsqueda con este tipo de bases de datos haciendo uso de Python y de la librería ChromaDB.

Comencemos entonces entendiendo qué es una base datos vectorial y por qué es esencial en cualquier sistema de Búsqueda Semántica:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

En esencia, una base datos vectorial es una base de datos }»enriquecida». Esto quiere decir que contiene la estructura necesaria para buscar documentos con base en su significado y de manera eficiente a partir de un «query» (o consulta). Además de esto, por cada registro se almacenan los documentos originales y sus correspondientes embeddings así como algunos metadatos.

Y el uso de este tipo de bases de datos evita el re-cálculo de los embeddings de los documentos cada vez que queremos reutilizar el código o realizar alguna consulta, así como la búsqueda rápida de coincidencias con los documentos.

Así que teniendo claro qué es y para qué sirve una base de datos vectorial, veamos ahora sí de forma práctica cómo implementar un sistema dense retrieval con este tipo de bases de datos y haciendo uso de la librería ChromaDB de Python:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

Como acabamos de ver la creación de una base de datos vectorial usando ChromaDB es realmente muy simple. Y después de crear la base de datos podemos guardarla localmente o en algún servicio en la nube y acceder a ella para implementar nuestro sistema de Búsqueda Semántica sin necesidad de recalcular los embeddings de los documentos.

Así que con esto acabamos de añadir otro elemento que siempre resultará clave en los sistemas de Búsqueda Semántica (y más adelante en los sistemas RAG que veremos en otro curso).

Entonces, en la próxima lección veremos otro elemento clave en estos sistemas: el re-ranking, una estrategia que nos permite (como su nombre lo indica) mejorar el ranking o la organización de los documentos entregados por la búsqueda dense retrieval de acuerdo a su nivel de relación con la consulta introducida por el usuario.

Todas las lecciones del curso Búsqueda Semántica con LLMs

© Codificando Bits, LLC | Blog | Contacto | Servicios | Acerca de | Políticas

¿Has olvidado la contraseña?
¿Has perdido tu contraseña? Por favor, introduce tu nombre de usuario o dirección de correo electrónico. Recibirás por correo electrónico un enlace para crear una nueva contraseña.
body::-webkit-scrollbar { width: 7px; } body::-webkit-scrollbar-track { border-radius: 10px; background: #f0f0f0; } body::-webkit-scrollbar-thumb { border-radius: 50px; background: #dfdbdb }