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.