Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock - Amazon Bedrock

Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock

Al crear una base de conocimiento conectándola a un origen de datos, debe configurar o especificar lo siguiente:

  • Información general que define e identifica la base de conocimiento

  • El rol de servicio con permisos para acceder a la base de conocimiento.

  • Configuraciones para la base de conocimiento, incluido el modelo de incrustaciones que se utilizará al convertir los datos del origen de datos, las configuraciones de almacenamiento del servicio en el que se almacenarán las incrustaciones y, opcionalmente, una ubicación de S3 para almacenar los datos multimodales

nota

No puede crear una base de conocimientos con un usuario raíz. Inicie sesión con un usuario de IAM antes de realizar estos pasos.

Amplíe la sección que se corresponda con su caso de uso:

Cómo configurar una base de conocimiento
  1. Inicie sesión en la Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola de Amazon Bedrock. A continuación, abra la consola de Amazon Bedrock en https://console.aws.amazon.com/bedrock/.

  2. En el panel de navegación izquierdo, elija Bases de conocimientos.

  3. En la sección Bases de conocimientos, elija el botón Crear y, a continuación, elija una base de conocimiento con un almacén de vectores.

  4. (Opcional) Cambie el nombre predeterminado y proporcione una descripción para la base de conocimiento.

  5. Elija un rol de AWS Identity and Access Management (IAM) que otorgue permiso a Amazon Bedrock para acceder a otros servicios de AWS necesarios. Puede dejar que Amazon Bedrock cree el rol de servicio por usted o puede elegir usar el rol personalizado que creó para Análisis por Amazon Neptune.

  6. Elija el origen de datos al que desea conectar la base de conocimiento.

  7. (Opcional) Añada etiquetas a la base de conocimientos. Para obtener más información, consulte Etiquetado de los recursos de Amazon Bedrock.

  8. (Opcional) Configure los servicios para entregar registros de actividad para su base de conocimiento.

  9. Vaya a la siguiente sección y siga los pasos que se indican en Conexión de un origen de datos a la base de conocimiento para configurar un origen de datos.

  10. En la sección Modelo de inscrustaciones, proceda de la forma siguiente:

    1. Elija un modelo de incrustaciones para convertir los datos en incrustaciones vectoriales.

    2. (Opcional) Expanda la sección Configuraciones adicionales para ver las siguientes opciones de configuración (no todos los modelos admiten todas las configuraciones):

      • Tipo de incrustaciones: si desea convertir los datos en incrustaciones vectoriales de punto flotante (float32) (más precisas, pero más costosas) o incrustaciones vectoriales binarias (menos precisas, pero menos costosas). Para obtener información sobre qué modelos de incrustaciones admiten vectores binarios, consulte los modelos de incrustaciones compatibles.

      • Dimensiones vectoriales: los valores más altos mejoran la precisión, pero aumentan el costo y la latencia.

  11. En la sección Base de datos vectorial, proceda de la forma siguiente:

    1. Elija un almacén de vectores para almacenar las incrustaciones de vectores que se utilizarán en la consulta. Dispone de las opciones siguientes:

      • Cree rápidamente un nuevo almacén de vectores: elija uno de los almacenes de vectores disponibles para que Amazon Bedrock lo cree. Si lo desea, también puede configurar el cifrado de claves de AWS KMS para su almacén de vectores.

        nota

        Al utilizar esta opción, Amazon Bedrock gestiona automáticamente la ubicación de los metadatos de cada almacén de vectores.

        • Amazon OpenSearch sin servidor: Bases de conocimiento de Amazon Bedrock crea un índice y una colección de búsqueda vectorial de Amazon OpenSearch sin servidor y los configura automáticamente con los campos obligatorios.

        • Amazon Aurora PostgreSQL sin servidor: Amazon Bedrock configura un almacén de vectores de Amazon Aurora PostgreSQL sin servidor. Este proceso toma datos de texto no estructurados de un bucket de Amazon S3, los transforma en fragmentos de texto y vectores y, a continuación, los almacena en una base de datos de PostgreSQL. Para obtener más información, consulte Creación rápida de una base de conocimiento de Amazon Bedrock para Aurora PostgreSQL.

        • Análisis por Amazon Neptune: Amazon Bedrock utiliza técnicas de generación aumentada por recuperación (RAG) combinadas con gráficos para mejorar las aplicaciones de IA generativa, de modo que los usuarios finales puedan obtener respuestas más precisas y completas.

        • Amazon S3 Vectors: Bases de conocimiento de Amazon Bedrock crea un bucket de vectores de S3 y un índice vectorial que almacenarán las incrustaciones generadas a partir de sus orígenes de datos.

          importante

          La integración de Amazon S3 Vectors con Bases de conocimiento de Amazon Bedrock se encuentra en versión preliminar y está sujeta a cambios.

          Puede crear una base de conocimiento de Amazon S3 Vectors en todas las Región de AWS en las que estén disponibles Amazon Bedrock y Amazon S3 Vectors. Para obtener más información, consulte Amazon S3 Vectors en la Guía del usuario de Amazon S3.

          nota

          Cuando Bases de conocimiento de Amazon Bedrock crea un índice vectorial para usted, puede adjuntar hasta un máximo de 40 KB de metadatos para cada vector. Dentro de estos 40 KB, se puede utilizar hasta un máximo de 2 KB como metadatos filtrables.

          Amazon Bedrock almacenará el texto en el espacio no filtrable como la clave AMAZON_BEDROCK_TEXT. Los metadatos que añade Amazon Bedrock se almacenan en el espacio de metadatos filtrable. Para obtener más información sobre las limitaciones de los metadatos de los buckets de vectores de S3, consulte Requisitos previos para usar Amazon S3 Vectors con Bases de conocimiento de Amazon Bedrock.

      • Elija un almacén de vectores que haya creado: seleccione un almacén de vectores compatible e identifique los nombres de los campos de vectores y los nombres de los campos de metadatos en el índice vectorial. Para obtener más información, consulte Requisitos previos para usar un almacén de vectores que haya creado para una base de conocimiento.

        nota

        Si el origen de datos es una instancia de Confluence, Microsoft SharePoint o Salesforce, el único servicio de almacén de vectores compatible es Amazon OpenSearch sin servidor.

    2. (Opcional) Amplíe la sección Configuraciones adicionales y modifique las configuraciones que correspondan.

  12. Si su origen de datos contiene imágenes, especifique el URI de Amazon S3 en el que desee almacenar las imágenes que el analizador extraerá de los datos en el destino de almacenamiento multimodal. Las imágenes se pueden devolver durante la consulta. También puede optar por elegir una clave administrada por el cliente en lugar de la Clave administrada de AWS predeterminada para cifrar los datos.

    nota

    Los datos multimodales solo se admiten con Amazon S3 y orígenes de datos personalizados.

  13. Seleccione Siguiente y revise los detalles de la base de conocimiento. Puede editar cualquier sección antes de continuar con la creación de la base de conocimientos.

    nota

    El tiempo que tarde en crearse la base de conocimientos dependerá de las configuraciones específicas. Una vez finalizada la creación de la base de conocimientos, su estado cambiará a Lista o Disponible.

    Cuando la base de conocimientos esté lista y disponible, sincronice el origen de datos por primera vez y siempre que desee mantener el contenido actualizado. Seleccione la base de conocimientos en la consola y Sincronizar en la sección de información general del origen de datos.

Para crear una base de conocimiento, envíe una solicitud CreateKnowledgeBase con un punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock.

nota

Si prefiere dejar que Amazon Bedrock cree y administre un almacén de vectores por usted, utilice la consola. Para obtener más información, amplíe la sección Uso de la consola de este tema.

Los siguientes campos son obligatorios:

Campo Descripción básica
nombre Un nombre para la base de conocimiento
roleArn El ARN de un rol de servicio para Bases de conocimiento de Amazon Bedrock
knowledgeBaseConfiguration Contiene configuraciones para la base de conocimiento. Consulte los detalles que se indican a continuación.
storageConfiguration (Solo es necesario si se conecta a un origen de datos no estructurados). Contiene las configuraciones para el servicio de origen de datos que elija.

Los siguientes campos son opcionales:

Campo Caso de uso
description Una descripción de la base de conocimiento.
clientToken Para garantizar que la solicitud de la API se complete solo una vez. Para obtener más información, consulte Ensuring idempotency.
etiquetas Para asociar etiquetas con el flujo. Para obtener más información, consulte Etiquetado de los recursos de Amazon Bedrock.

En el campo knowledgeBaseConfiguration, que se asigna a un objeto KnowledgeBaseConfiguration, especifique VECTOR en el campo type e incluya un objeto VectorKnowledgeBaseConfiguration. En el objeto, incluya los siguientes campos:

En el campo storageConfiguration, que se asigna a un objeto StorageConfiguration, especifique el almacén de vectores al que se va a conectar en el campo type e incluya el campo que corresponda a ese almacén de vectores. Consulte cada tipo de configuración de almacén de vectores en StorageConfiguration para obtener detalles sobre la información que debe proporcionar.

A continuación, se muestra un ejemplo de solicitud para crear una base de conocimiento conectada a una colección de Amazon OpenSearch sin servidor. Los datos de los orígenes de datos conectados se convertirán en incrustaciones vectoriales binarias con Amazon Titan Text Embeddings V2 y los datos multimodales extraídos por el analizador se configurarán para almacenarse en un bucket llamado MyBucket.

PUT /knowledgebases/ HTTP/1.1 Content-type: application/json { "name": "MyKB", "description": "My knowledge base", "roleArn": "arn:aws:iam::111122223333:role/service-role/AmazonBedrockExecutionRoleForKnowledgeBase_123", "knowledgeBaseConfiguration": { "type": "VECTOR", "vectorKnowledgeBaseConfiguration": { "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0", "embeddingModelConfiguration": { "bedrockEmbeddingModelConfiguration": { "dimensions": 1024, "embeddingDataType": "BINARY" } }, "supplementalDataStorageConfiguration": { "storageLocations": [ { "s3Location": { "uri": "arn:aws:s3:::MyBucket" }, "type": "S3" } ] } } }, "storageConfiguration": { "opensearchServerlessConfiguration": { "collectionArn": "arn:aws:aoss:us-east-1:111122223333:collection/abcdefghij1234567890", "fieldMapping": { "metadataField": "metadata", "textField": "text", "vectorField": "vector" }, "vectorIndexName": "MyVectorIndex" } } }