Creación de una base de conocimientos - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de una base de conocimientos

nota

No puede crear una base de conocimientos con un usuario root. Inicie sesión con un usuario de IAM antes de iniciar estos pasos.

Tras configurar la fuente de datos en Amazon S3 y el almacén vectorial de su elección, puede crear una base de conocimientos. Seleccione la pestaña correspondiente al método que prefiera y siga los pasos.

Console
Creación de una base de conocimientos
  1. Inicie sesión en la AWS Management Console consola Amazon Bedrock y ábrala en https://console.aws.amazon.com/bedrock/.

  2. En el panel de navegación izquierdo, seleccione Base de conocimientos.

  3. En la sección Bases de conocimiento, seleccione Crear base de conocimiento.

  4. En la página Proporcionar detalles de la base de conocimientos, configure las siguientes configuraciones:

    1. (Opcional) En la sección de detalles de la base de conocimientos, cambie el nombre predeterminado y proporcione una descripción de la base de conocimientos.

    2. En la sección de permisos de IAM, elija un rol AWS Identity and Access Management (IAM) que otorgue permiso a Amazon Bedrock para acceder a otros servicios. AWS Puede dejar que Amazon Bedrock cree el rol de servicio o elegir un rol personalizado que haya creado.

    3. (Opcional) Añada etiquetas a su base de conocimientos. Para obtener más información, consulte Etiquetar recursos.

    4. Seleccione Siguiente.

  5. En la página Configurar la fuente de datos, proporcione la información de la fuente de datos para utilizarla en la base de conocimientos:

    1. (Opcional) Cambie el nombre predeterminado de la fuente de datos.

    2. Seleccione Cuenta corriente u Otra cuenta para la ubicación de la fuente de datos

    3. Proporcione el URI de S3 del objeto que contiene los archivos de la fuente de datos que ha preparado. Si seleccionas Otra cuenta, es posible que tengas que actualizar la política de bucket de Amazon S3 de la otra cuenta, la política de claves de AWS KMS y el rol de Knowledge Base de la cuenta actual.

      nota

      Elija un bucket de Amazon S3 en la misma región que la base de conocimientos que va a crear. De lo contrario, la fuente de datos no se sincronizará.

    4. Si ha cifrado sus datos de Amazon S3 con una clave gestionada por el cliente, seleccione Añadir AWS KMS clave gestionada por el cliente para los datos de Amazon S3 y elija una clave de KMS para permitir que Amazon Bedrock los descifre. Para obtener más información, consulte Cifrado de la información transferida a Amazon OpenSearch Service.

    5. (Opcional) Para configurar los siguientes ajustes avanzados, amplíe la sección Configuración avanzada: opcional.

      1. Al convertir sus datos en incrustaciones, Amazon Bedrock los cifra con una clave que AWS posee y administra, de forma predeterminada. Para usar su propia clave KMS, expanda Configuración avanzada, seleccione Personalizar la configuración de cifrado (avanzada) y elija una clave. Para obtener más información, consulte Cifrado del almacenamiento de datos transitorios durante la ingesta de datos.

      2. Elija una de las siguientes opciones para la estrategia de fragmentación de su fuente de datos:

        • Fragmentación predeterminada: de forma predeterminada, Amazon Bedrock divide automáticamente los datos de origen en fragmentos, de modo que cada fragmento contiene, como máximo, 300 tokens. Si un documento contiene menos de 300 tokens, no se divide más.

        • Fragmentación de tamaño fijo: Amazon Bedrock divide los datos de origen en fragmentos del tamaño aproximado que haya establecido. Configure las siguientes opciones.

          • Máximo de tokens: Amazon Bedrock crea fragmentos que no superan la cantidad de tokens que usted elija.

          • Porcentaje de superposición entre fragmentos: cada bloque se superpone con fragmentos consecutivos según el porcentaje que usted elija.

        • Sin fragmentación: Amazon Bedrock trata cada archivo como un fragmento. Si elige esta opción, puede que desee realizar un procesamiento previo de sus documentos dividiéndolos en archivos independientes.

        nota

        No puede cambiar la estrategia de fragmentación después de crear el origen de datos.

      3. Elija una de las siguientes opciones para la política de eliminación de datos de su fuente de datos:

        • Eliminar: elimina todos los datos subyacentes que pertenecen a la fuente de datos del almacén vectorial al eliminar una base de conocimientos o un recurso de fuente de datos. Tenga en cuenta que el almacén de vectores en sí no se elimina, solo se eliminan los datos subyacentes. Este indicador se ignora si se elimina una AWS cuenta.

        • Conservar: conserva todos los datos subyacentes del almacén vectorial al eliminar una base de conocimientos o un recurso de fuente de datos.

    6. Seleccione Siguiente.

  6. En la sección del modelo de incrustaciones, elija un modelo de incrustaciones compatible para convertir los datos en incrustaciones vectoriales para la base de conocimientos.

  7. En la sección Base de datos vectorial, elija una de las siguientes opciones para almacenar las incrustaciones vectoriales para su base de conocimientos:

    • Cree rápidamente una nueva tienda de vectores: Amazon Bedrock crea una colección de búsquedas vectoriales de Amazon OpenSearch Serverless para usted. Con esta opción, se configuran automáticamente una colección pública de búsqueda vectorial y un índice vectorial con los campos y las configuraciones necesarios. Una vez creada la colección, puede administrarla en la consola de Amazon OpenSearch Serverless o mediante la AWS API. Para obtener más información, consulta Cómo trabajar con colecciones de búsquedas vectoriales en la Guía para desarrolladores de Amazon OpenSearch Service. Si seleccionas esta opción, también puedes habilitar los siguientes ajustes:

      1. Para habilitar las réplicas activas redundantes, de forma que la disponibilidad del almacén vectorial no se vea comprometida en caso de que se produzca un fallo en la infraestructura, seleccione Habilitar la redundancia (réplicas activas).

        nota

        Le recomendamos que deje esta opción desactivada mientras pone a prueba su base de conocimientos. Cuando esté listo para la implementación en producción, le recomendamos que habilite las réplicas activas redundantes. Para obtener información sobre los precios, consulte Precios de Serverless OpenSearch

      2. Para cifrar el almacén vectorial automatizado con una clave gestionada por el cliente, seleccione Añadir clave KMS gestionada por el cliente para Amazon OpenSearch Serverless vector (opcional) y elija la clave. Para obtener más información, consulte Cifrado de la información transferida a Amazon OpenSearch Service.

    • Seleccione un almacén vectorial que haya creado: seleccione el servicio que contiene una base de datos vectorial que ya haya creado. Rellene los campos para que Amazon Bedrock pueda asignar la información de la base de conocimientos a su base de datos, de modo que pueda almacenar, actualizar y adminstrar las incrustaciones. Para obtener más información sobre cómo se asignan estos campos a los campos que ha creado, consulteConfigura un índice vectorial para tu base de conocimientos en una tienda vectorial compatible.

      nota

      Si utiliza una base de datos en Amazon OpenSearch Serverless, Amazon Aurora o MongoDB Atlas, debe haber configurado previamente los campos de Field Mapping. Si usa una base de datos en Pinecone oRedis Enterprise Cloud, puede proporcionar nombres para estos campos aquí y Amazon Bedrock los creará dinámicamente en el almacén de vectores por usted.

  8. Seleccione Siguiente.

  9. En la página Revisar y crear, compruebe la configuración y los detalles de su base de conocimientos. Elija Editar en cualquier sección que necesite modificar. Cuando esté satisfecho, seleccione Crear base de conocimientos.

  10. El tiempo que tarda a crearse la base de conocimientos depende de la cantidad de datos que haya proporcionado. Cuando termine de crearse la base de conocimientos, el estado de la base de conocimientos cambiará a Listo.

API

Para crear una base de conocimientos, envíe una CreateKnowledgeBasesolicitud con un terminal de tiempo de compilación de Agents for Amazon Bedrock e indique el nombre, la descripción, las instrucciones sobre lo que debe hacer y el modelo básico con el que debe organizarse.

nota

Si prefieres dejar que Amazon Bedrock cree y gestione una tienda de vectores para ti en Amazon OpenSearch Service, usa la consola. Para obtener más información, consulte Creación de una base de conocimientos.

  • Proporcione al ARN permisos para crear una base de conocimientos en el campo roleArn.

  • Proporcione el modelo de incrustación que se utilizará en el campo embeddingModelArn del objeto knowledgeBaseConfiguration.

  • Proporcione la configuración de su almacén vectorial en el objeto storageConfiguration. Para obtener más información, consulte Configura un índice vectorial para tu base de conocimientos en una tienda vectorial compatible.

    • Para una base de datos de Amazon OpenSearch Service, usa el opensearchServerlessConfiguration objeto.

    • Para una Pinecone base de datos, usa el pineconeConfiguration objeto.

    • Para una Redis Enterprise Cloud base de datos, utilice el redisEnterpriseCloudConfiguration objeto.

    • Para una base de datos de Amazon Aurora, utilice el rdsConfiguration objeto.

    • Para una base de datos Atlas de MongoDB, utilice el objeto. mongodbConfiguration

Tras crear una base de conocimientos, cree una fuente de datos a partir del depósito de S3 que contenga los archivos de la base de conocimientos. Para crear la fuente de datos, envíe una CreateDataSourcesolicitud.

  • Proporcione la información del depósito de S3 que contiene los archivos de la fuente de datos en el dataSourceConfiguration campo.

  • Especifique cómo dividir las fuentes de datos en el vectorIngestionConfiguration campo. Para obtener más información, consulte Configure una fuente de datos para su base de conocimientos.

    nota

    No puede cambiar la configuración de fragmentación después de crear la fuente de datos.

  • Proporcione la dataDeletionPolicy para su fuente de datos. Al eliminar una base de conocimientos o un recurso de fuente de datos, puede extraer DELETE todos los datos subyacentes que pertenecen a la fuente de datos del almacén de vectores. Tenga en cuenta que el almacén de vectores en sí no se elimina, solo se eliminan los datos subyacentes. Este indicador se ignora si se elimina una AWS cuenta. Al eliminar una base de conocimientos o un recurso de fuente de datos, puede eliminar RETAIN todos los datos subyacentes de su almacén vectorial.

  • (Opcional) Al convertir sus datos en incrustaciones, Amazon Bedrock los cifra con una clave que AWS posee y administra, de forma predeterminada. Para usar su propia clave KMS, inclúyala en el objeto. serverSideEncryptionConfiguration Para obtener más información, consulte Cifrado de recursos de bases de conocimientos.

Configure las configuraciones de seguridad para su base de conocimientos

Después de crear una base de conocimientos, es posible que tenga que configurar las siguientes configuraciones de seguridad:

Configure políticas de acceso a los datos para su base de conocimientos

Si utiliza un rol personalizado, configure las configuraciones de seguridad para la base de conocimientos recién creada. Si permites que Amazon Bedrock cree un rol de servicio para ti, puedes saltarte este paso. Siga los pasos de la pestaña correspondiente a la base de datos que configuró.

Amazon OpenSearch Serverless

Para restringir el acceso a la colección Amazon OpenSearch Serverless a la función de servicio de la base de conocimientos, cree una política de acceso a los datos. Puede hacerlo de las siguientes maneras:

Utilice la siguiente política de acceso a datos, especificando la recopilación de Amazon OpenSearch Serverless y su función de servicio:

[ { "Description": "${data access policy description}", "Rules": [ { "Resource": [ "index/${collection_name}/*" ], "Permission": [ "aoss:DescribeIndex", "aoss:ReadDocument", "aoss:WriteDocument" ], "ResourceType": "index" } ], "Principal": [ "arn:aws:iam::${account-id}:role/${kb-service-role}" ] } ]
Pinecone, Redis Enterprise Cloud or MongoDB Atlas

Para integrar un Pinecone índice vectorial de MongoDB Atlas, adjunte la siguiente política basada en la identidad a su rol de servicio de la base de conocimientos para permitirle acceder al secreto AWS Secrets Manager del índice vectorial. Redis Enterprise Cloud

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "bedrock:AssociateThirdPartyKnowledgeBase" ], "Resource": "*", "Condition": { "StringEquals": { "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:iam::${region}:${account-id}:secret:${secret-id}" } } }] }

Configure políticas de acceso a la red para su base de conocimiento de Amazon OpenSearch Serverless

Si utiliza una colección privada de Amazon OpenSearch Serverless para su base de conocimientos, solo podrá acceder a ella a través de un punto de enlace de AWS PrivateLink VPC. Puede crear una colección privada de Amazon OpenSearch Serverless al configurar su colección vectorial de Amazon OpenSearch Serverless o puede hacer que una colección Amazon OpenSearch Serverless existente (incluida una que la consola de Amazon Bedrock haya creado para usted) sea privada al configurar su política de acceso a la red.

Los siguientes recursos de la Guía para desarrolladores de Amazon OpenSearch Service le ayudarán a comprender la configuración necesaria para las colecciones privadas de Amazon OpenSearch Serverless:

Para permitir que una base de conocimiento de Amazon Bedrock acceda a una colección privada de Amazon OpenSearch Serverless, debe editar la política de acceso a la red de la colección Amazon OpenSearch Serverless para permitir que Amazon Bedrock sea un servicio de origen. Seleccione la pestaña correspondiente al método que prefiera y siga los pasos.

Console
  1. Abre la consola OpenSearch de Amazon Service en https://console.aws.amazon.com/aos/.

  2. En el panel de navegación izquierdo, selecciona Colecciones. A continuación, elige tu colección.

  3. En la sección Red, selecciona la Política asociada.

  4. Elija Editar.

  5. Para seleccionar el método de definición de políticas, realice una de las siguientes acciones:

    • Deje Seleccione el método de definición de políticas como editor visual y configure los siguientes ajustes en la sección Regla 1:

      1. (Opcional) En el campo Nombre de la regla, introduzca un nombre para la regla de acceso a la red.

      2. En Acceder a las colecciones desde, selecciona Privado (recomendado).

      3. Selecciona el AWS servicio de acceso privado. En el cuadro de texto, ingresabedrock.amazonaws.com.

      4. Anule la selección de Habilitar el acceso a los OpenSearch paneles de control.

    • Elija JSON y pegue la siguiente política en el editor de JSON.

      [ { "AllowFromPublic": false, "Description":"${network access policy description}", "Rules":[ { "ResourceType": "collection", "Resource":[ "collection/${collection-id}" ] }, ], "SourceServices":[ "bedrock.amazonaws.com" ] } ]
  6. Elija Actualizar.

API

Para editar la política de acceso a la red de su colección de Amazon OpenSearch Serverless, haga lo siguiente:

  1. Envíe una GetSecurityPolicysolicitud con un punto final OpenSearch sin servidor. Especifique name la política y especifique el type asnetwork. Tenga en cuenta los policyVersion en la respuesta.

  2. Envíe una UpdateSecurityPolicysolicitud con un punto final OpenSearch sin servidor. Como mínimo, especifique los siguientes campos:

    Campo Descripción
    name (nombre) El nombre de la política
    Versión de la política Lo que se le policyVersion devolvió de la GetSecurityPolicy respuesta.
    type El tipo de política de seguridad. Especifique network.
    política La política a utilizar. Especifique el siguiente objeto JSON
    [ { "AllowFromPublic": false, "Description":"${network access policy description}", "Rules":[ { "ResourceType": "collection", "Resource":[ "collection/${collection-id}" ] }, ], "SourceServices":[ "bedrock.amazonaws.com" ] } ]

Para ver un AWS CLI ejemplo, consulte Creación de políticas de acceso a datos (AWS CLI).

  • Usa la consola de Amazon OpenSearch Service siguiendo los pasos que se indican en Creación de políticas de red (consola). En lugar de crear una política de red, anota la política asociada en la subsección Red de los detalles de la colección.