Configuración de búsqueda vectorial con MongoDB y Jupyter Notebook
Clase 8 de 13 • Curso para Crear Agentes de AI con MongoDB
Resumen
Aprende a configurar un flujo completo de búsqueda vectorial con MongoDB, desde la importación de datos en JSON hasta la creación de un índice vectorial con similitud coseno y 384 dimensiones, ejecutado paso a paso en un Jupyter Notebook dentro de Visual Studio Code. Verás cómo un agente de AI consulta con aggregation pipeline y devuelve un score de 0 a 1 para medir la similaridad, todo en un entorno práctico y directo.
¿Cómo se prepara el entorno de laboratorio en Visual Studio Code?
Este entorno corre en una máquina virtual de Instruct y reúne tres piezas clave: el código en Jupyter Notebook con Python, una base de datos MongoDB lista para búsqueda vectorial y un panel con instrucciones paso a paso. Se trabaja sobre el laboratorio de agentes; los de RAG y Vector Search se recomiendan para después por tiempo.
¿Qué componentes incluye el entorno?
- Jupyter Notebook con celdas ejecutables y verificación con check verde.
- Servidor MongoDB embebido para persistencia y vector search.
- Instrucciones con bloques de código que completan celdas incompletas.
¿Cómo ejecutar celdas en Jupyter Notebook?
- Selecciona el kernel de Python en “entorno global”.
- Ejecuta cada celda con el botón play: verás el check en verde al finalizar.
- Si falta código, copia el bloque indicado en las instrucciones y reemplaza la celda.
¿Qué habilidades técnicas se practican?
- Configurar variables de entorno y dependencias en Python.
- Usar MongoDB como API: conectar con comando de ping y validar respuesta OK.
- Seguir un guion de laboratorio y completar celdas con fragmentos provistos.
¿Cómo se importan datos JSON y se almacenan embeddings en MongoDB?
Se define la conexión, se validan variables globales y se importan documentos desde archivos JSON a MongoDB. Al ejecutar la inserción, el sistema reporta que 107 documentos fueron guardados y se crea una colección llamada “Documentos con Embeddings”. Además, se insertan 20 documentos fuente adicionales para el agente.
¿Qué es un embedding dentro del documento?
- Es un arreglo de números asociado al documento.
- Se almacena como campo “embedding” en el mismo objeto.
- Permite la búsqueda vectorial sin repositorios externos.
¿Por qué guardar vectores y datos juntos?
- Simplifica la sincronización: siempre están “pegados” al objeto.
- Al consultar por vectores, se obtiene el documento completo.
- Aprovecha el modelo de documento de MongoDB para lecturas eficientes.
¿Qué verificaciones conviene hacer?
- Abrir la vista de MongoDB en la barra izquierda y refrescar.
- Confirmar base y colección creadas tras la importación.
- Inspeccionar un documento para ver el campo “embedding”.
¿Cómo crear el índice vectorial y consultar con aggregation pipeline?
El índice vectorial se define vía API de MongoDB indicando la métrica y el tamaño de los vectores. Aquí se especifica coseno como métrica y 384 como número de dimensiones. La creación del índice puede tardar según el volumen de datos, pero con 107 documentos es prácticamente instantánea.
¿Cómo se define y valida el índice vectorial?
- Indicar métrica: coseno.
- Fijar dimensiones: 384.
- Ejecutar la creación del índice y luego verificar estado.
¿Cómo funciona la aggregation pipeline para vector search?
- Se arma una cadena de operaciones donde primero se ejecuta la búsqueda vectorial.
- Luego se proyecta lo necesario: contenido y score de similaridad.
- El score indica confianza del resultado en rango 0 a 1.
¿Cómo interpretar el score de similaridad?
- Resultados muy parecidos: valores cercanos a 0.99.
- Resultados poco parecidos: valores cercanos a 0.7 o menores.
- Aplicable a textos o imágenes: si consultas por “gato” y comparas con otra imagen de “gato”, el score será alto; con una “moto”, bajará.
¿Te quedó alguna duda sobre la configuración del kernel, la inserción de JSON, la métrica coseno o la aggregation pipeline? Comparte tu pregunta y cuéntanos qué parte quieres profundizar a continuación.