Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Comience con la integración de la base de conocimientos de Amazon Bedrock

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.

La integración de la Base de Conocimientos Amazon Bedrock con Atlas habilita los siguientes casos de uso:

Este tutorial demuestra cómo empezar a usar MongoDB Vector Search con Amazon Bedrock. Específicamente, realizas las siguientes acciones:

  1. Carga datos personalizados en un bucket de Amazon S3.

  2. De forma opcional, configure un servicio de endpoint utilizando AWS PrivateLink.

  3. Cree un índice de Búsqueda Vectorial de MongoDB en sus datos.

  4. Cree una base de conocimientos para almacenar datos en Atlas.

  5. Crea un agente que utilice MongoDB Vector Search para implementar RAG.

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.

Para completar este tutorial, debes tener lo siguiente:

  • Un clúster Atlas M10+ ejecutando MongoDB versión 6.0.11, 7.0.2, o posterior.

  • Una cuenta de AWS con un secreto que contenga las credenciales para tu clúster de Atlas.

  • Acceso a los siguientes modelos fundacionales utilizados en este tutorial:

  • El AWS CLI y npm deben de estar instalados si planeas configurar un servicio de endpoint AWS PrivateLink.

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:

1
  1. Navega a la Guía de mejores prácticas para MongoDB.

  2. Hacer clic en Read Whitepaper o Email me the PDF para acceder al PDF.

  3. Descargue y guarde el PDF localmente.

2
  1. Siga los pasos para crear un Bucket S3 . Asegúrese de utilizar un/a Bucket Name descriptivo/a.

  2. Siga estos pasos para cargar un archivo en su depósito. Selecciona el archivo que contiene el PDF que acaba de descargar.

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:

1

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.

2

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.

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.

Para crear un índice de búsqueda vectorial de MongoDB, debes tener Project Data Access Admin o un acceso superior al proyecto Atlas.

1
  1. 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.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. 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.

2
  1. Haga clic en el botón + Create Database.

  2. Para el Database name, introduce bedrock_db.

  3. Para el Collection name, introduce test.

  4. Haz clic en Create para crear la base de datos y su primera colección.

3

Puedes ir a la página de búsqueda de MongoDB desde la opción Search & Vector Search o desde el Data Explorer.

  1. 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.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. 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.

  1. 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.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Data Explorer en la sección Database.

  4. Expanda la base de datos y seleccione la colección.

  5. Haga clic en la pestaña Indexes para la colección.

  6. Haga clic en el enlace Search and Vector Search en el banner.

    Aparece la página de Búsqueda y Búsqueda Vectorial.

4
5

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:

  • Index Name: releasedAfter2000Index

  • Database and Collection:

    • sample_mflix
    • movies_ReleasedAfter2000

Configuration Method

Para una experiencia guiada,Visual Editor seleccione.

Para editar la definición del índice sin procesar,JSON 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.

6

Esta definición de índice de tipo vectorSearch índice los siguientes campos:

  • embedding campo como tipo de vector. El embedding **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 especifica 1024 dimensiones vectoriales y mide la similitud usando cosine.

  • bedrock_metadatalos campos bedrock_text_chunk y x-amz-bedrock-kb-document-page-number son 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:

  1. Selecciona Cosine del menú desplegable Similarity Method.

  2. En la sección Filter Field, especifique los campos bedrock_metadata, bedrock_text_chunk y x-amz-bedrock-kb-document-page-number para 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}
7
8

Atlas muestra una ventana modal para informar que se está creando el índice.

9
10

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.

En esta sección, creas una base de conocimientos para cargar datos personalizados en tu almacén vectorial.

1
  1. En la esquina superior izquierda, haga clic en el menú desplegable Services.

  2. Haga clic en Machine Learning y, a continuación, seleccione Amazon Bedrock.

2

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.

3
  1. En la barra de navegación izquierda de la consola de Amazon Bedrock, haz clic en Knowledge Bases.

  2. Haz clic en Create y luego selecciona Knowledge base with vector store.

  3. Especifica mongodb-atlas-knowledge-base como Knowledge Base name.

  4. Haga clic en Next.

Por defecto, Amazon Bedrock crea un nuevo rol IAM para acceder a la base de conocimiento.

4
  1. Especificar un nombre para la fuente de datos utilizada por la base de conocimiento.

  2. 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.

  3. 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.

  4. Seleccione el modelo Titan Embeddings G1 - Text.

5
  1. En la sección Vector database, seleccione Use an existing vector store.

  2. Seleccione MongoDB Atlas y configure las siguientes opciones:

    Captura de pantalla de la sección de configuración del almacén de vectores de Amazon Bedrock.
    • 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.

  3. 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:

    Captura de pantalla de la sección de configuración de mapeo de campos del almacén vectorial.
    • 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.

  4. Si configuró un servicio de punto final, ingrese PrivateLink Service Name su.

  5. Haga clic en Next.

6

Después de revisar los detalles de tu base de conocimientos, haz clic en Create knowledge base para finalizar su creación.

7

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.

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:

  1. Se conecta a tu base de conocimientos para acceder a los datos personalizados almacenados en Atlas.

  2. Utiliza la Búsqueda Vectorial de MongoDB para recuperar documentos relevantes de tu almacén vectorial según el mensaje dado.

  3. 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:

1
  1. En la navegación de la izquierda de Amazon Bedrock, haga clic en Agents.

  2. Haga clic en Create Agent.

  3. Especifica mongodb-rag-agent como Name y haz clic en Create.

2

Por defecto, Amazon Bedrock crea un nuevo rol IAM para acceder al agente. En la sección Agent details, especifica lo siguiente:

  1. 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.

  2. 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.
  3. Haga clic en Save.

3

Para conectar el agente a la base de conocimientos que has creado:

  1. En la sección Knowledge Bases, haga clic en Add.

  2. Selecciona mongodb-atlas-knowledge-base del menú desplegable.

  3. 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.
  4. Haz clic en Add y después en Save.

4
  1. Haga clic en el botón Prepare.

  2. 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.

  3. 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.

5

Para solucionar problemas, consulta Solución de problemas de la integración con Amazon Bedrock Base de Conocimiento.