Dominio de datos simplificado: explorando la magia de las bases de datos vectoriales en Jupyter Notebooks
Anthropic lanzó recientemente una versión de 100k tokens de Claude. Google lanzó recientemente PaLM 2. Y, por supuesto, a estas alturas todos conocemos bien GPT y ChatGPT de OpenAI. Los modelos de lenguaje grandes (LLMs) han acelerado la adopción de la IA, impulsando junto con ella la demanda de bases de datos vectoriales.
¿Por qué? Porque las bases de datos vectoriales pueden ayudar a resolver uno de los mayores problemas que enfrentan los LLMs: la falta de conocimiento de dominio y de datos actualizados. Fuera de los LLMs, las bases de datos vectoriales también demuestran su utilidad al impulsar aplicaciones de búsqueda por similitud. Además, son necesarias para trabajar en recomendaciones de productos, búsqueda inversa de imágenes y búsqueda semántica de texto.
¿Cómo puedes empezar con una base de datos vectorial en tu Jupyter Notebook? Este tutorial cubre:
- ¿Qué es una base de datos vectorial?
- Cómo usar una base de datos vectorial en tu Jupyter Notebook
- ¿Qué es Milvus (Lite)?
- Resumen de una base de datos vectorial en tu Jupyter Notebook
Esto se aplica igualmente a los notebooks de CoLab. Aquí tienes dos para ti: un notebook de CoLab para búsqueda inversa de imágenes, y un notebook de CoLab para búsqueda semántica de texto.
¿Qué es una base de datos vectorial?
Antes de entrar en el tutorial, entendamos de forma básica las bases de datos vectoriales. Una base de datos vectorial está diseñada para almacenar, indexar y consultar datos vectoriales. Se utilizan principalmente para trabajar con datos no estructurados, como imágenes, texto o video. Primero, pasas tus datos por una red neuronal existente para obtener las incrustaciones vectoriales, normalmente extraídas de la penúltima capa.
Esas incrustaciones vectoriales se almacenan luego en una base de datos vectorial. Una vez que tus incrustaciones vectoriales están almacenadas, puedes consultar la base de datos vectorial para obtener las top k entradas de datos más similares mediante incrustaciones vectoriales, como se muestra en los notebooks de CoLab anteriores. Algunas de las herramientas que las bases de datos vectoriales abstraen por ti incluyen:
- Índices vectoriales que de otro modo tendrías que incluir.
- Algoritmos de búsqueda vectorial como HNSW.
- Una forma de comunicarse con una capa de almacenamiento persistente.
¿Qué es Milvus (Lite)?
Milvus es una base de datos vectorial con un backend nativo de sistema distribuido. Está diseñada específicamente para gestionar la indexación, el almacenamiento y la consulta de datos vectoriales a escala de miles de millones. Milvus utiliza múltiples capas y tipos de nodos de trabajo para un diseño fácilmente escalable. Además de usar múltiples nodos de propósito único, Milvus también utiliza datos segmentados para una indexación más eficiente. Milvus utiliza segmentos de datos de 512MB que no se modifican después de llenarse y los consulta en paralelo para ofrecer la latencia más baja de la industria.
Arquitectura de alto nivel de la base de datos vectorial Milvus
Normalmente, usarías Docker Compose, Helm, o el Milvus Operator para lanzar una instancia de Milvus. Sin embargo, Milvus Lite te permite lanzar una instancia de Milvus directamente desde tu Jupyter Notebook o script de Python. Funciona de la misma manera que Milvus y guarda todos tus datos localmente.
Cómo usar una base de datos vectorial en tu Jupyter Notebook
Puedes empezar con una base de datos vectorial como Milvus Lite directamente en tu notebook mediante una instalación con pip. En la primera línea de tu Jupyter Notebook, ejecuta ! pip install pymilvus milvus. Una vez que tengas pymilvus y milvus instalados, puedes iniciar la base de datos vectorial y conectarte a ella dentro de un notebook de iPython.
El módulo milvus proporciona Milvus Lite y el módulo pymilvus proporciona una interfaz de Python para conectarse a Milvus. Para empezar, importamos tres módulos. Primero, default_server de milvus. Segundo,connections de pymilvus, y tercero, utility de pymilvus. Usamos la función start() de default_server para iniciar el servidor. Una vez iniciado el servidor, nos conectamos usando connect de connections y pasando el host, localhost o 127.0.0.1, y el puerto, obtenido del servidor predeterminado.
from milvus import default_server
from pymilvus import connections, utility
default_server.start()
connections.connect(host="127.0.0.1", port=default_server.listen_port)
Una vez que te hayas conectado a Milvus, puedes usar utility para comprobar tu base de datos. Por ejemplo, llama a get_server_version() para asegurarte de tener la versión más reciente, que puedes verificar en el Blog de Milvus. También puedes usar utility para comprobar las collections, tablas separadas en Milvus. Si quieres empezar de nuevo, puedes comprobar si una colección con el nombre que quieres usar ya está en uso y eliminarla con drop_collection, o elegir un nuevo nombre.
utility.get_server_version()
if utility.has_collection(COLLECTION_NAME):
utility.drop_collection(COLLECTION_NAME)
¿Quieres ir aún más lejos y usar una base de datos vectorial en producción o para un proyecto más grande? Considera Zilliz Cloud o Milvus Standalone.
Resumen de cómo usar una base de datos vectorial en tu Jupyter Notebook
En esta publicación, aprendimos que las bases de datos vectoriales son útiles siempre que necesites hacer cualquier cosa que implique una búsqueda por similitud. Ayudan a indexar, almacenar y consultar representaciones de incrustaciones vectoriales de datos no estructurados como imágenes, videos o texto. Luego vemos un ejemplo de uso de una base de datos vectorial en tu Jupyter Notebook mediante Milvus Lite.
Finalmente, echamos un vistazo bajo el capó de Milvus para ver el backend del sistema distribuido. También proporcionamos recursos para entender cómo empezar a usar una base de datos vectorial mediante ejemplos en notebooks de CoLab. Para quienes quieran usar una instancia independiente de base de datos vectorial, también proporcionamos ejemplos sobre cómo configurar Milvus Standalone.
Sigue leyendo

Vector Lakebase: End the AI Data Silo
Learn how Vector Lakebase unifies vector search, data lakes, and AI data operations so teams can serve RAG and agents without copy-and-sync pipelines.

Why Context Engineering Is Becoming the Full Stack of AI Agents
Discover how context engineering unifies prompts, RAG, and tools to build smarter, production-ready AI agents powered by Milvus.

The Real Bottlenecks in Autonomous Driving — And How AI Infrastructure Can Solve Them
Autonomous driving faces a data bottleneck. Learn how AI-native vector databases like Zilliz solve scale, cost, and insight challenges across AV pipelines.



