Este tutorial demuestra cómo implementar la generación de recuperación aumentada (RAG) localmente, sin necesidad de llaves o créditos de API. Para obtener más información sobre RAG, consulte generación de recuperación aumentada (RAG) con MongoDB.
En concreto, realizas las siguientes acciones:
Crea una implementación local de Atlas.
Configura el entorno.
Utiliza un modelo de embedding local para generar embebidos vectoriales.
Cree un índice de Búsqueda Vectorial de MongoDB en sus datos.
Utilice un LLM local para responder preguntas sobre sus datos.
En este tutorial, crearás una implementación local de Atlas usando Python y Docker mediante la biblioteca atlas-local-lib-py. Esta biblioteca simplifica la gestión de implementaciones al manejar automáticamente los contenedores Docker y proporcionar acceso programático a las cadenas de conexión. Para obtener más información, consulta el repositorio atlas-local-lib-py.
También puedes utilizar un clúster de Community o empresarial de MongoDB con Búsqueda y búsqueda vectorial instalado.
Nota
Las implementaciones locales de Atlas están destinadas únicamente a pruebas. Para entornos de producción, implemente un clúster.
Requisitos previos
Además de los requisitos previos comunes, este tutorial requiere lo siguiente:
Crear una implementación local
Configurar el entorno
Generar incrustaciones con un modelo local
En esta sección, cargará un modelo de incrustación localmente y generará incrustaciones vectoriales utilizando datos de la base de datos sample_airbnb, que contiene una colección llamada listingsAndReviews.
Este código puede tardar varios minutos en ejecutarse. Una vez finalizado, podrá visualizar las incrustaciones vectoriales conectándose a su implementación local desde mongosh o a su aplicación mediante la cadena de conexión de su implementación. A continuación, podrá realizar operaciones de lectura en la colección sample_airbnb.listingsAndReviews.
Tip
Puedes convertir las incrustaciones en los datos de muestra en vectores BSON para un almacenamiento eficiente y la ingesta de vectores en Atlas. Para aprender más, consulta cómo convertir incrustaciones nativas en vectores BSON.
Cree el índice de búsqueda vectorial de MongoDB
Para habilitar la búsqueda vectorial en la colección sample_airbnb.listingsAndReviews, cree un índice de Búsqueda Vectorial en MongoDB.