Este tutorial demuestra cómo implementar la generación de recuperación aumentada (RAG) localmente, sin la 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 de 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 Gestiona las implementaciones locales y en la nube desde la Atlas CLI.
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 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 tienes una implementación local existente o un clúster de MongoDB Community o Enterprise con Búsqueda y Búsqueda Vectorial instalado, con el sample_airbnb.listingsAndReviews datos de muestra cargados, puede omitir este paso.
Crea una implementación local usando el Atlas CLI.
Ejecute atlas deployments setup y siga las indicaciones 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
Es posible convertir los embebidos de los datos de muestra en vectores BSON para el almacenamiento eficiente y la ingestión de vectores en Atlas. Para obtener más información, consulta cómo convertir incrustaciones nativas a 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.