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

Codificando Bits

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

3 – Implementando un sistema de recuperación densa

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

En la lección anterior vimos qué es la recuperación densa (o dense retrieval) el primer esquema de Búsqueda Semántica basado en Grandes Modelos de Lenguaje (LLMs).

Así que en esta lección veremos de forma práctica cómo usar Python y librerías como «sentence transformers» y FAISS para implementar nuestro primer sistema de búsqueda semántica.

Comencemos entonces viendo las librerías a usar, el set de datos y el LLM a usar en esta práctica:

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 este caso implementaremos un sencillo sistema de Búsqueda Semántica que retornará documentos con respuestas asociadas a la película Interestelar.

Para ello usaremos como documentos los primeros párrafos extraídos de la entrada de Wikipedia de esta película, así como uno de los modelos Qwen-Embedding disponibles de forma gratuita en Hugging Face.

Veamos entonces cómo implementar este sistema de recuperación densa:

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, al momento de implementar un sistema dense retrieval podemos usar la similitud del coseno o la distancia euclidiana como métricas para comparar los embeddings de la consulta y de los documentos, siendo la similitud del coseno la métrica más recomendada en estos casos.

Además, vimos cómo usar el modelo pre-entrenado (Qwen-Embeddings-0.6B) y la librería «faiss» para construir nuestro sistema. Esta librería permite construir un índice que contendrá los embeddings de los documentos y que permitirá realizar la búsqueda eficiente de documentos más relevantes usando precisamente la similitud del coseno.

Al final vimos cómo el sistema funciona adecuadamente, pues los documentos retornados realmente resultan relevantes para las consultas planteadas.

De igual forma, vimos que si la respuesta a dicha consulta no está en ningún documento, en todo caso el sistema arroja posibles candidatos. Más adelante veremos cómo usar los modelos de re-ranking para fácilmente establecer un umbral sobre los niveles de relevancia y de esta manera controlar si se retornan o no documentos candidatos en estos casos.

Por otra parte, la calidad de los resultados dependerá de la extensión de cada fragmento de texto presentado al modelo. Así que en la próxima lección veremos en detalle las principales estrategias de «chunking» (o fragmentación de texto) que podemos usar al implementar un sistema de Búsqueda Semántica y cómo estas estrategias afectan los resultados obtenidos.

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 }