Este tutorial demuestra cómo implementar la generación aumentada por recuperación (RAG) localmente, sin necesidad de Claves API o créditos. Para obtener más información sobre RAG, consulte Recuperación-Generación Aumentada (RAG) con MongoDB.
En concreto, realizas las siguientes acciones:
Crea una implementación local de Atlas.
Configura el entorno.
Utilice un modelo de incrustación local para generar incrustaciones vectoriales.
Cree un índice de búsqueda vectorial MongoDB en sus datos.
Utilice un LLM local para responder preguntas sobre sus datos.
En este tutorial, creará una implementación local de Atlas mediante la CLI de Atlas. La CLI de Atlas es la interfaz de línea de comandos para MongoDB Atlas, y puede usarla para interactuar con Atlas desde la terminal para diversas tareas, incluida la creación de implementaciones locales de Atlas. Para obtener más información, consulte Administre implementaciones locales y en la nube desde la CLI de Atlas.
También puede utilizar un clúster MongoDB Community o Enterprise con Search y Vector Search instalados.
Nota
Las implementaciones locales de Atlas están destinadas únicamente para pruebas. Para entornos de producción, implementa un clúster.
Requisitos previos
Además de los requisitos previos comunes, este tutorial requiere lo siguiente:
Crear una implementación local
En esta sección, creará una implementación de Atlas local cargada con el conjunto de datos de listados de AirBnB de muestra para usar como base de datos vectorial.
Nota
Si ya tiene una implementación local existente o un clúster MongoDB Community o Enterprise con Search y Vector Search instalados, con el sample_airbnb.listingsAndReviews Una vez cargados los datos de muestra, puede omitir este paso.
Cree una implementación local mediante la CLI de Atlas.
Ejecute atlas deployments setup y siga las instrucciones para crear una implementación local.
Para obtener instrucciones detalladas, consulte Crear una implementación local de Atlas.
Cargue los datos de muestra en su implementación.
Ejecute el siguiente comando en su terminal para descargar los datos de muestra:
curl https://atlas-education.s3.amazonaws.com/sampledata.archive -o sampledata.archive Ejecute el siguiente comando para cargar los datos en su implementación, reemplazando
<port-number>con el puerto donde está alojando la implementación:mongorestore --archive=sampledata.archive --port=<port-number>
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 listingsAndReviews llamada.
Este código puede tardar varios minutos en ejecutarse. Una vez finalizado, puede ver sus 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, puede ejecutar operaciones de lectura en la sample_airbnb.listingsAndReviews colección.
Tip
Puede convertir las incrustaciones de los datos de muestra en vectores BSON para un almacenamiento y una ingesta de vectores eficientes en Atlas. Para obtener más información, consulte 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.