E057_Caso_de_uso_RAG__Buscador_híbrido_con_Docling_y_MongoDB
Ep. 57

E057_Caso_de_uso_RAG__Buscador_híbrido_con_Docling_y_MongoDB

Episode description

Descubre el poder de la búsqueda híbrida: En este episodio de BIMPRAXIS, exploramos cómo combinar la búsqueda por palabras clave con la búsqueda semántica para crear un sistema de búsqueda personalizado y potente. Con la ayuda de tecnologías como DocLink y MongoDB, podemos crear un buscador que no solo encuentre información, sino que también entienda el significado y contexto de nuestros documentos. ¡Únete a nosotros para descubrir cómo esta estrategia híbrida puede revolucionar la forma en que interactuamos con nuestra información digital!

Download transcript (.srt)
0:10

Buenas, esto es BIMPRAXIS, el podcast donde el

0:15

BIM se encuentra con la inteligencia artificial.

0:20

Exploramos la ciencia, la tecnología y el futuro

0:23

desde el enfoque de la arquitectura, ingeniería y

0:26

construcción.

0:28

¡Empezamos!

0:37

Muy buenas.

0:38

Pues hoy seguimos explorando el mundo de los

0:41

RAG, que la verdad es que da para

0:42

mucho.

0:43

Sí, ya llevamos unos cuantos programas y parece

0:46

que no se acaba el tema.

0:47

Para nada.

0:48

Y hoy traemos un caso de uso que

0:50

a mí me parece, bueno, espectacular.

0:53

La idea de montar tu propio Google Personal

0:55

para todos tus documentos.

0:57

Un buscador para tu caos digital.

0:59

Exacto, para ese cementerio de información que tenemos

1:02

todos en el ordenador.

1:04

Carpetas llenas de PDFs, de documentos de Word,

1:07

notas… Y que cuando buscas algo no encuentras

1:10

nada.

1:11

O bueno, encuentras el nombre del archivo y

1:13

poco más.

1:14

Justo.

1:14

Por eso nos vamos a sumergir en un

1:16

sistema que desglosa el desarrollador Colemedin y que

1:19

se apoya en una tecnología de IBM Research

1:22

que se llama DocLink.

1:23

Y lo interesante es que el enfoque combina

1:25

dos mundos.

1:26

Por un lado, la búsqueda de toda la

1:28

vida, la de palabras clave.

1:30

La que ya conocemos.

1:31

Y por otro, la búsqueda semántica, que es

1:34

la que de verdad entiende el significado de

1:36

las cosas.

1:37

No solo encuentra el documento, sino que extrae

1:39

el conocimiento.

1:41

Vale, a ver, vamos a desgranar esto.

1:43

Búsqueda por palabras clave y búsqueda semántica.

1:47

A mí de primeras me suena un poco

1:48

a lo viejo contra lo nuevo.

1:50

Sí, parece eso.

1:52

Si la semántica es, se supone, mucho más

1:54

inteligente, ¿por qué nos molestamos en usar la

1:57

búsqueda de palabras de toda la vida?

1:59

¿No es un poco arcaico?

2:00

Es una pregunta muy lógica, porque la semántica

2:02

parece superior en todo.

2:04

Pero la búsqueda por palabras clave tiene una

2:06

superpotencia que es insustituible.

2:09

¿Cuál?

2:10

La precisión quirúrgica.

2:12

Hay momentos en los que no quieres que

2:13

el sistema interprete nada, quieres que encuentre una

2:16

cadena de texto exacta y punto.

2:18

Dame un ejemplo.

2:19

Pues piensa en algo legal.

2:20

Si buscas un estatuto, el artículo 15.3b, no

2:24

quieres que te dé el 15.3c porque se

2:26

parece.

2:26

Claro.

2:27

O un código de error, un 409.

2:29

O, como dice Cole Medín en el vídeo,

2:31

si buscas los ingresos de 2025, la búsqueda

2:34

semántica podría liarse y dártelos de 2024 o

2:38

2026, porque conceptualmente están cerca.

2:41

Ya entiendo.

2:42

Es la diferencia entre podrá y deberá.

2:46

Semánticamente se parecen, pero legalmente son la noche

2:49

y el día.

2:50

Exacto.

2:51

Ahí necesitas un bisturí, no una red de

2:53

pesca.

2:54

Y tiene otra pequeña ventaja, el fussy matching,

2:57

que te encuentra la palabra aunque haya un

2:58

pequeño error al teclear.

3:00

Vale, acepto la utilidad del bisturí.

3:02

Visto así, tiene todo el sentido.

3:04

Pero ahora háblame de la magia, de la

3:07

búsqueda semántica.

3:08

¿Qué es lo que la hace tan potente?

3:10

Pues aquí es donde damos el salto de

3:12

buscar palabras a buscar significados.

3:15

La búsqueda semántica o vectorial no se fija

3:18

en si las palabras coinciden, se fija en

3:20

si las ideas están relacionadas.

3:22

El ejemplo clásico de esto es el de

3:24

rey y reina, ¿no?

3:25

Ese es.

3:26

Buscas rey y te puede devolver documentos que

3:29

hablan de reina o de monarquía porque entiende

3:32

el concepto global de realeza.

3:34

¿Que eso ya es un salto cualitativo muy

3:37

importante?

3:38

Es un cambio de paradigma.

3:40

Otro ejemplo.

3:41

Buscas PC lento y el sistema te encuentra

3:43

un artículo que se titula ¿Cómo optimizar el

3:46

rendimiento de tu ordenador?

3:48

Aunque no ponga ni PC ni lento.

3:50

Exacto.

3:51

una búsqueda por palabra clave ahí se quedaría

3:53

en blanco.

3:54

En el vídeo de Medin pasa algo así,

3:56

de hecho.

3:57

Él pregunta por un cronograma o timeline del

4:00

lanzamiento de un producto.

4:01

Y el documento no tiene esa palabra.

4:03

No la tiene.

4:04

Pero tiene un plan de lanzamiento, un launch

4:07

plan, con fechas, y el sistema lo encuentra.

4:11

Esa conexión, esa es la verdadera inteligencia.

4:14

Ese es el núcleo de su poder.

4:16

Infiere tu intención y la conecta con el

4:19

significado del contenido.

4:21

Y por eso, la respuesta a tu pregunta

4:23

de antes de por qué no usar solo

4:25

la semántica, es que ninguna de las dos

4:27

es perfecta.

4:28

Claro, una se puede equivocar en los detalles

4:30

y la otra no entiende el contexto.

4:32

Justo.

4:32

Por eso la solución real, la que se

4:35

propone aquí, es un sistema híbrido.

4:38

Lanzas cada pregunta por las dos vías a

4:40

la vez.

4:41

Ah, claro.

4:42

Así tienes la precisión para los datos específicos

4:45

y la inteligencia para las ideas.

4:47

No se te escapa nada.

4:48

Consigues lo mejor de ambos mundos en cada

4:50

consulta.

4:51

Vale, la estrategia es brillante, lo veo.

4:54

Pero una cosa es la idea y otra

4:55

montarla.

4:56

¿Qué piezas hacen falta?

4:58

¿Cuál es el tech stack de todo esto?

5:00

Pues la base de todo es MongoDB.

5:02

Funciona como el gran almacén, pero no es

5:04

un almacén tonto, ¿eh?

5:05

¿En qué sentido?

5:06

En que está diseñado para hacer justo las

5:08

dos cosas que necesitamos.

5:10

Por un lado, es una base de datos

5:12

vectorial, que es el motor de la búsqueda

5:14

semántica.

5:15

Y por otro, tiene una búsqueda de texto

5:17

tradicional muy potente para las palabras clave.

5:20

O sea, es el contenedor que permite que

5:23

los dos mundos convivan.

5:25

Exacto.

5:25

Es como un bibliotecario que sabe organizar por

5:27

temas y a la vez encontrarte una frase

5:30

exacta en la página que le pidas.

5:32

Y luego está la otra pieza que me

5:33

llama mucho la atención, DocLink.

5:36

Que venga de IBM Research y esté en

5:39

la LFAI and Data Foundation, bueno, eso le

5:43

da mucho peso.

5:44

Totalmente.

5:46

Si MongoDB es el almacén, DocLink es el

5:49

equipo de catalogación.

5:50

Es el que coge nuestros documentos en bruto

5:52

y los convierte en algo inteligente.

5:54

¿Y te soluciona el problema del cajón desastre?

5:58

Sí, puedes echarle PDFs, facturas, actas en Word,

6:01

presentaciones… ¿Incluso audios?

6:03

Incluso audios.

6:05

Coge archivos WAV o MP3, aplica reconocimiento de

6:08

voz, extrae el texto y ya puedes buscar

6:10

en él.

6:11

Y con los PDFs hace virguerías.

6:14

No solo copia el texto.

6:15

¿Qué más hace?

6:16

Pues entiende la maquetación, el orden de lectura,

6:19

la estructura de las tablas, las fórmulas.

6:21

Extrae el conocimiento de forma estructurada.

6:24

Que eso es clave.

6:25

Cualquiera que haya intentado copiar una tabla de

6:28

un PDF sabe el desastre que puede ser.

6:30

Exacto.

6:30

Pero quizás su función más crítica para este

6:32

sistema, RAG, es el chunking.

6:35

El troceado de los documentos.

6:36

Eso es.

6:37

Los modelos de lenguaje no pueden leerse un

6:39

manual de 300 páginas de golpe.

6:41

Se ahogan en información.

6:42

Se pierden, claro.

6:43

Pues DocLink lo que hace es dividir esos

6:46

documentos en fragmentos, en chunks coherentes.

6:49

Y usa una estrategia híbrida muy buena para

6:51

que esos trozos tengan sentido por sí mismos.

6:54

Es como darle al modelo resúmenes de cada

6:56

capítulo.

6:57

Sin un buen chunking, el sistema se viene

6:59

abajo.

7:00

Vale, entonces tenemos Almacén, MongoDB, y el preparador,

7:04

DocLink.

7:05

Falta el cerebro que dirige todo.

7:07

Ahí entra Paidanti Keyai, ¿no?

7:09

Sí, Paidanti Keyai sería el director de orquesta.

7:12

Es un framework que simplifica mucho la construcción

7:15

de estos agentes.

7:16

Recibe tu pregunta y decide.

7:18

Vale, para esto lanzo una búsqueda semántica y

7:21

una por palabra clave a MongoDB.

7:23

Te da los bloques para que la gente

7:24

razone y actúe.

7:25

De acuerdo, el tech stack tiene sentido.

7:29

MongoDB almacela y busca, DocLink prepara y trocea

7:32

todo.

7:33

Pero ahora me surge una duda que me

7:35

parece fundamental.

7:37

Si lanzamos dos búsquedas a la vez, sacamos

7:40

dos listas de resultados.

7:42

¿Cómo las juntamos?

7:43

¿Cómo sabes qué resultado es más importante?

7:46

Es el problema del millón, sí.

7:48

Y es que no puedes simplemente mezclarlos.

7:51

¿Por qué no?

7:51

Porque cada búsqueda mide la calidad de sus

7:53

resultados con una vara de medir completamente distinta.

7:57

La búsqueda semántica te da una puntuación, digamos,

7:59

entre 0 y 1.

8:00

Te dice, esto se parece a tu pregunta,

8:02

en un 0.85.

8:04

¿Y la de palabra clave te da?

8:05

Otro número, sí, pero basado en otras cosas,

8:08

como la frecuencia de la palabra.

8:10

Podría ser un 15 un 32.

8:12

No tienen relación.

8:13

Comparar un 0,85 con un 15 es comparar

8:17

peras con manzanas.

8:18

Imposible saber qué es mejor.

8:20

Si los intentas mezclar a la fuerza, el

8:22

resultado es malísimo.

8:23

Entonces, ¿cómo se soluciona este lío?

8:26

Con un algoritmo muy, muy elegante que se

8:28

llama Reciprocal Rank Fusion o RRF.

8:32

A ver.

8:33

La idea es brillante porque ignora por completo

8:35

esas puntuaciones que no podemos comparar.

8:38

En su lugar se fija en algo que

8:39

sí es comparable, la posición en el ranking

8:42

de cada resultado.

8:44

Explícame eso un poco mejor.

8:45

Imagina que buscas un restaurante.

8:47

Una app de reseñas, la semántica, te da

8:50

1 con 4,8 estrellas.

8:52

Otra app de popularidad, la de palabra clave,

8:54

te dice que es el número 15 más

8:56

visitado.

8:57

¿Qué es mejor?

8:58

Ni idea.

8:59

Exacto.

8:59

Pero si las dos apps lo ponen en

9:01

su top 3, entonces sabes que es una

9:03

apuesta segura.

9:05

RRF hace eso.

9:06

Confía en el consenso.

9:08

Le da más peso a los resultados que

9:09

aparecen arriba en ambas listas sin importar sus

9:12

puntuaciones raras.

9:13

Ah, qué bueno.

9:14

O sea, que se fía de los resultados

9:16

en los que los dos métodos están de

9:18

acuerdo.

9:19

Es una forma de encontrar un consenso entre

9:21

dos expertos que hablan idiomas distintos.

9:24

Es una solución súper robusta.

9:27

Fíjate si es efectiva, que el propio Cole

9:29

Medin menciona que MongoDB está trabajando para integrar

9:32

RRF directamente en su plataforma.

9:35

Eso te da una idea de su importancia.

9:37

Vale, creo que ya tengo todas las piezas.

9:40

Pongámoslo todo junto.

9:41

Vamos a seguir el viaje de una pregunta

9:43

desde que la hago hasta que me llega

9:45

la respuesta.

9:46

¿Qué pasa por detrás?

9:48

Perfecto.

9:49

Empezamos con tu pregunta.

9:50

¿Cuál es el cronograma para el lanzamiento del

9:53

nuevo producto?

9:54

Hecho.

9:54

Pregunta lanzada.

9:55

En ese mismo instante, el agente entra en

9:57

acción.

9:58

Lanza la consulta por dos caminos a la

10:00

vez.

10:00

Dos tuberías en paralelo hacia MongoDB.

10:03

Una semántica y otra de palabra clave.

10:05

Y cada tubería me devolverá una lista de

10:08

chunks, de trocitos de texto, ordenada según su

10:11

propio criterio.

10:12

Correcto.

10:12

Pero antes de fusionarlas, pasa algo crucial.

10:16

El enriquecimiento.

10:18

El sistema no solo recupera los fragmentos, sino

10:20

que va al documento original y les añade

10:22

los metadatos.

10:24

El nombre del archivo, la fecha, el autor...

10:27

El número de página.

10:28

Todo.

10:29

Y por eso es posible hacer la pregunta

10:31

de seguimiento del vídeo.

10:33

Cuando el usuario pregunta ¿de dónde has sacado

10:35

esa información?

10:36

Claro.

10:37

Y el sistema responde de las notas de

10:39

la reunión del 8 de enero, página 3.

10:42

Eso es gracias a los metadatos.

10:44

Sin ellos estaría perdido.

10:46

Exacto.

10:47

Solo tendrías texto anónimo, sin fuente ni contexto.

10:50

Y una vez que tienes las dos listas

10:51

enriquecidas y ordenadas, llega la fusión con RRF.

10:56

El algoritmo mira los rankings.

10:58

Y crea una única lista final, unificada y

11:00

ordenada por la relevancia combinada.

11:02

Y esa lista final ya depurada es el

11:05

material de primera que se le entrega al

11:06

modelo de lenguaje.

11:07

Justo.

11:08

Se le pasa esa lista de los fragmentos

11:10

más pertinentes y se le dice, con esto

11:13

y solo con esto genera una respuesta coherente

11:15

y el modelo redacta la respuesta para la

11:18

usuaria.

11:19

Y lo más alucinante es que en la

11:20

demo todo este viaje, las dos búsquedas, el

11:23

enriquecimiento, la fusión, la generación, ocurre en menos

11:27

de un segundo.

11:28

Es que la arquitectura está muy bien diseñada

11:30

y plataformas como MongoDB están súper optimizadas para

11:34

esto.

11:35

Entonces, resumiendo, la clave es esta estrategia híbrida

11:38

que une la precisión de la vieja escuela

11:40

con la inteligencia de lo nuevo.

11:43

Necesitamos herramientas como DocLink para preparar bien los

11:46

datos y un método como RFRF para fusionar

11:49

los resultados de forma elegante.

11:51

Hemos construido nuestro buscador personal.

11:54

Pero, me pregunto, ¿y si esto es solo

11:57

el principio?

11:57

Es que esto plantea una pregunta muy importante.

12:01

Todo este sistema que hemos descrito es reactivo.

12:04

Le pregunto, me contesta.

12:06

Exacto.

12:06

Lo usamos para tirar de la información que

12:09

necesitamos.

12:10

Pero, ¿y si la gente pudiera empujar la

12:13

información hacia nosotros, de forma proactiva?

12:17

¿A qué te refieres?

12:18

¿Que me dé respuestas a preguntas que no

12:20

he hecho?

12:20

Algo así.

12:21

Imagina una gente que no solo busca, sino

12:24

que lee y conecta tus notas por sí

12:26

mismo.

12:27

Que coge las notas de la reunión de

12:28

esta mañana, las cruza con un informe de

12:31

ventas de la semana pasada y te dice,

12:33

oye, he detectado una inconsistencia en las proyecciones

12:35

de ventas del producto X.

12:37

Ostras, estaríamos pasando de un buscador a un

12:41

asistente de conocimiento, casi un socio estratégico.

12:45

Exactamente.

12:46

Estaríamos dando el salto de la búsqueda de

12:48

información a la síntesis de conocimiento.

12:51

El sistema no sólo encontraría datos, sino que

12:54

generaría nuevos insights, nuevas ideas.

12:57

Que te hiciera un resumen de los puntos

12:59

clave de un proyecto cada mañana sin que

13:01

se lo pidas.

13:02

Ese, sin duda, es el siguiente horizonte.

13:16

Y hasta aquí el episodio de hoy.

13:18

Muchas gracias por tu atención.

13:30

Esto es BIMPRAXIS.

13:32

Nos escuchamos en el próximo episodio.

13:56

SUSCRÍBETE 🙏