Nota
Atlas está actualmente disponible como una base de conocimiento en AWS solo en regiones ubicadas en los Estados Unidos.
Puede usar MongoDB Atlas como una Base de Conocimiento para Amazon Bedrock para compilar aplicaciones de IA generativa, implementar generación de recuperación aumentada (RAG) y compilar agentes.
Overview
La integración de la Base de Conocimientos Amazon Bedrock con Atlas habilita los siguientes casos de uso:
Utilice modelos básicos con MongoDB Vector Search para crear aplicaciones de IA e implementar RAG. Para empezar,consulte "Comenzar".
Habilite la búsqueda híbrida con MongoDB Vector Search y MongoDB Search para su base de conocimientos. Para obtener más información, consulte Búsqueda híbrida con Amazon Bedrock y Atlas.
Empezar
Este tutorial demuestra cómo empezar a usar MongoDB Vector Search con Amazon Bedrock. Específicamente, realizas las siguientes acciones:
Carga datos personalizados en un bucket de Amazon S3.
De forma opcional, configure un servicio de endpoint utilizando AWS PrivateLink.
Cree un índice de Búsqueda Vectorial de MongoDB en sus datos.
Cree una base de conocimientos para almacenar datos en Atlas.
Crea un agente que utilice MongoDB Vector Search para implementar RAG.
Segundo plano
Amazon Bedrock es un servicio totalmente gestionado para crear aplicaciones de IA generativa. Le permite aprovechar modelos fundacionales (FM) de varias empresas de IA como una sola API.
Puedes usar la Búsqueda Vectorial de MongoDB como base de conocimientos para Amazon Bedrock para almacenar datos personalizados en Atlas y crear un agente para implementar RAG y responder preguntas sobre tus datos. Para obtener más información sobre RAG, consulta generación de recuperación aumentada (RAG) con MongoDB.
Requisitos previos
Para completar este tutorial, debes tener lo siguiente:
Cargar datos personalizados
Si aún no hay un bucket de Amazon S3 que contenga datos de texto, se debe crear un nuevo bucket y cargar el siguiente PDF de acceso público sobre las mejores prácticas de MongoDB:
Descargue el PDF.
Navega a la Guía de mejores prácticas para MongoDB.
Hacer clic en Read Whitepaper o Email me the PDF para acceder al PDF.
Descargue y guarde el PDF localmente.
Sube el PDF a un bucket de Amazon S3.
Siga los pasos para crear un Bucket S3 . Asegúrese de utilizar un/a Bucket Name descriptivo/a.
Siga estos pasos para cargar un archivo en su depósito. Selecciona el archivo que contiene el PDF que acaba de descargar.
Configurar un Servicio de Punto Final
Por defecto, Amazon Bedrock se conecta a tu base de conocimientos a través de Internet pública. Para asegurar aún más tu conexión, MongoDB Vector Search admite la conexión a tu Base de Conocimiento a través de una red virtual mediante un AWS PrivateLink servicio de endpoint.
Opcionalmente, completa los siguientes pasos para habilitar un servicio de endpoint que se conecte a unos nodos privados de AWS PrivateLink para tu clúster de Atlas:
Configura un nodo privado en Atlas.
Sigue los pasos para configurar un nodo privado de AWS PrivateLink para tu clúster de Atlas. Asegúrate de usar un VPC ID descriptivo para identificar tu endpoint privado.
Para obtener más información, consulte Más información sobre los nodos privados en Atlas.
Configura el servicio de endpoint.
MongoDB y los partners proporcionan un Kit de Desarrollo en la Nube (CDK) que usted puede usar para configurar un servicio de endpoint respaldado por un balanceador de carga de red que reenvía el tráfico a tu endpoint privado.
Siga los pasos especificados en el Repositorio de CDK en GitHub para preparar y ejecutar el script CDK.
Cree el índice de búsqueda vectorial de MongoDB
En esta sección, configuras Atlas como una base de datos vectorial, también llamada almacén de vectores, al crear un índice de MongoDB Vector Search en tu colección.
Acceso requerido
Para crear un índice de búsqueda vectorial de MongoDB, debes tener Project Data Access Admin o un acceso superior al proyecto Atlas.
Procedimiento
En Atlas, ve a la página Data Explorer de tu proyecto.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Data Explorer en la sección Database.
El Data Explorer se muestra.
IMPORTANTE: También puede hacer clic en el nombre de un grupo para abrir la barra Cluster lateral y luego hacer clic Data Explorer en debajo del Shortcuts encabezado.
En Atlas, vaya a la página Search & Vector Search de su clúster.
Puedes ir a la página de búsqueda de MongoDB desde la opción Search & Vector Search o desde el Data Explorer.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Search & Vector Search en la sección Database.
Si no tienes clústeres, haz clic en Create cluster para crear uno. Para obtener más información, consulta Crear un clúster.
Si el proyecto tiene varios clústeres, se debe seleccionar el clúster que se desea usar en el menú desplegable Select cluster y luego se debe hacer clic en Go to Search.
Aparece la página de Búsqueda y Búsqueda Vectorial.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Data Explorer en la sección Database.
Expanda la base de datos y seleccione la colección.
Haga clic en la pestaña Indexes para la colección.
Haga clic en el enlace Search and Vector Search en el banner.
Aparece la página de Búsqueda y Búsqueda Vectorial.
Haz clic Create Search Indexen.
Se debe iniciar la configuración del índice.
Realiza las siguientes selecciones en la página y luego haz clic en Next.
Search Type | Seleccione el tipo de índice MongoDB Search. |
Index Name and Data Source | Especifique la siguiente información:
|
Configuration Method | Para una experiencia guiada,Visual Editor seleccione. |
IMPORTANTE: Tu índice |fts| se llama ``autoembed_index` por defecto. Si estás creando varios índices, te recomendamos que mantengas una convención de nombres coherente y descriptiva en todos tus índices.
Defina el índice de búsqueda vectorial de MongoDB.
Esta definición de índice de tipo vectorSearch índice los siguientes campos:
embeddingcampo como tipo de vector. Elembedding**campo** contiene las incrustaciones vectoriales creadas con el modelo de incrustación que especifiques al configurar la **Base de Conocimiento**. La definición del índice especifica1024dimensiones vectoriales y mide la similitud usandocosine.bedrock_metadatalos camposbedrock_text_chunkyx-amz-bedrock-kb-document-page-numberson el tipo de filtro para prefiltrar tus datos. También debes especificar estos campos en Amazon Bedrock cuando configures la base de conocimientos.
Nota
Si anteriormente creaste un índice con el campo de filtro page_number, debes actualizar la definición del índice para usar en su lugar el nuevo nombre del campo de filtro x-amz-bedrock-kb-document-page-number. Amazon Bedrock ha actualizado el nombre del campo, y los índices que usan el nombre del campo anterior ya no funcionan correctamente con las bases de conocimiento de Amazon Bedrock.
Especifique embedding como campo a indexar y especifique 1024 dimensiones.
Para configurar el índice, haga lo siguiente:
Selecciona Cosine del menú desplegable Similarity Method.
En la sección Filter Field, especifique los campos
bedrock_metadata,bedrock_text_chunkyx-amz-bedrock-kb-document-page-numberpara filtrar los datos.
Pegue la siguiente definición de índice en el editor JSON:
1 { 2 "fields": [ 3 { 4 "numDimensions": 1024, 5 "path": "embedding", 6 "similarity": "cosine", 7 "type": "vector" 8 }, 9 { 10 "path": "bedrock_metadata", 11 "type": "filter" 12 }, 13 { 14 "path": "bedrock_text_chunk", 15 "type": "filter" 16 }, 17 { 18 "path": "x-amz-bedrock-kb-document-page-number", 19 "type": "filter" 20 } 21 ] 22 }
Haz clic Create Vector Search Indexen.
Atlas muestra una ventana modal para informar que se está creando el índice.
Verifique el estado.
El nuevo índice creado se muestra en la página Search & Vector Search. Mientras se construye el índice, el campo Status indica Pending. Cuando el índice termina de construirse, el campo Status lee Ready.
Nota
Las colecciones más grandes tardan más en indexarse. Se recibirá una notificación por correo electrónico cuando el índice haya terminado de construirse.
Crear una base de conocimientos
En esta sección, creas una base de conocimientos para cargar datos personalizados en tu almacén vectorial.
Gestiona el acceso al modelo.
Amazon Bedrock no concede automáticamente acceso a los modelos fundacionales. Si aún no lo has hecho, sigue los pasos para agregar acceso al modelo para Titan Embeddings G1 - Text y Anthropic Claude V2.1 modelos.
Crea la base de conocimientos.
En la barra de navegación izquierda de la consola de Amazon Bedrock, haz clic en Knowledge Bases.
Haz clic en Create y luego selecciona Knowledge base with vector store.
Especifica
mongodb-atlas-knowledge-basecomo Knowledge Base name.Haga clic en Next.
Por defecto, Amazon Bedrock crea un nuevo rol IAM para acceder a la base de conocimiento.
Agregar una fuente de datos.
Especificar un nombre para la fuente de datos utilizada por la base de conocimiento.
Introduce la URI para el bucket S3 que contiene tu fuente de datos. O haz clic en Browse S3 y busca el bucket S3 que contiene tu fuente de datos en la lista.
Haga clic en Next.
Amazon Bedrock muestra los modelos de embedding disponibles que puedes utilizar para convertir los datos de texto de tu fuente de datos en embedding de vectores.
Seleccione el modelo Titan Embeddings G1 - Text.
Conecta Atlas a la base de conocimientos.
En la sección Vector database, seleccione Use an existing vector store.
Seleccione MongoDB Atlas y configure las siguientes opciones:

Para el Hostname, introduzca la URL de su clúster de Atlas ubicada en su cadena de conexión. El nombre del host utiliza el siguiente formato:
<clusterName>.mongodb.net Para el Database name, introduce
bedrock_db.Para el Collection name, introduce
test.Para el Credentials secret ARN, ingrese el ARN del secreto que contiene las credenciales de su clúster Atlas. Para obtener más información, consulte Conceptos de AWS Secrets Manager.
En la sección Metadata field mapping, configura las siguientes opciones para determinar el MongoDB búsqueda vectorial índice y los nombres de campo que Atlas utiliza para incorporar y almacenar tu fuente de datos:

Para el Vector search index name, introduce
vector_index.Para el Vector embedding field path, introduce
embedding.Para el Text field path, introduce
bedrock_text_chunk.Para el Metadata field path, introduce
bedrock_metadata.
Nota
De forma opcional, puedes especificar el campo Text search index name para configurar la búsqueda híbrida. Para obtener más información, consulta Búsqueda híbrida con Amazon Bedrock y Atlas.
Si configuró un servicio de punto final, ingrese PrivateLink Service Name su.
Haga clic en Next.
Sincroniza la fuente de datos.
Después de que Amazon Bedrock cree la base de conocimientos, le pedirá que sincronice sus datos. En la sección Data source, selecciona tu fuente de datos y haz clic en Sync para sincronizar los datos del almacenamiento S3 y cargarlos en Atlas.
Cuando se complete la sincronización, si usas Atlas, puedes verificar tus embeddings vectoriales navegando al namespace bedrock_db.test en la interfaz de usuario de Atlas.
Compila un agente
En esta sección, debes desplegar un agente que utilice MongoDB Vector Search para implementar RAG y responder preguntas sobre tus datos. Cuando animas a este agente a actuar, realiza lo siguiente:
Se conecta a tu base de conocimientos para acceder a los datos personalizados almacenados en Atlas.
Utiliza la Búsqueda Vectorial de MongoDB para recuperar documentos relevantes de tu almacén vectorial según el mensaje dado.
Aprovecha un modelo de chat de IA para generar una respuesta contextual basada en estos documentos.
Completa los siguientes pasos para crear y probar el agente RAG:
Selecciona un modelo y proporciona un aviso.
Por defecto, Amazon Bedrock crea un nuevo rol IAM para acceder al agente. En la sección Agent details, especifica lo siguiente:
En los menús desplegables, selecciona Anthropic y Claude V2.1 como proveedor y modelo de IA utilizado para responder preguntas sobre tus datos.
Nota
Amazon Bedrock no otorga acceso a los MF automáticamente. Si aún no lo ha hecho, siga los pasos para agregar acceso al modelo para Anthropic Claude V2.1 modelo.
Proporcione instrucciones para que el agente sepa cómo completar la tarea.
Por ejemplo, si está utilizando los datos de muestra, pegue las siguientes instrucciones:
You are a friendly AI chatbot that answers questions about working with MongoDB. Haga clic en Save.
Agregar la base de conocimientos.
Para conectar el agente a la base de conocimientos que has creado:
En la sección Knowledge Bases, haga clic en Add.
Selecciona mongodb-atlas-knowledge-base del menú desplegable.
Describa la base de conocimientos para determinar cómo debe interactuar el agente con la fuente de datos.
Si utilizas los datos de muestra, pega las siguientes instrucciones:
This knowledge base describes best practices when working with MongoDB. Haz clic en Add y después en Save.
Pruebe el agente.
Haga clic en el botón Prepare.
Haz clic en Test. Amazon Bedrock muestra una ventana de pruebas a la derecha de los detalles del agente si aún no está mostrada.
En la ventana de prueba, introduce un mensaje. El agente pregunta al modelo, usa MongoDB Vector Search para recuperar documentos relevantes y luego genera una respuesta basada en los documentos.
Si usaste los datos de muestra, introduce el siguiente mensaje. La respuesta generada puede variar.
What's the best practice to reduce network utilization with MongoDB? The best practice to reduce network utilization with MongoDB is to issue updates only on fields that have changed rather than retrieving the entire documents in your application, updating fields, and then saving the document back to the database. [1] Tip
Haz clic en la anotación de la respuesta del agente para ver el fragmento de texto que recuperó MongoDB Vector Search.
Otros recursos
Para solucionar problemas, consulta Solución de problemas de la integración con Amazon Bedrock Base de Conocimiento.