AgentsforBedrock / Client / update_knowledge_base

update_knowledge_base#

AgentsforBedrock.Client.update_knowledge_base(**kwargs)#

Updates the configuration of a knowledge base with the fields that you specify. Because all fields will be overwritten, you must include the same values for fields that you want to keep the same.

You can change the following fields:

  • name

  • description

  • roleArn

You can’t change the knowledgeBaseConfiguration or storageConfiguration fields, so you must specify the same configurations as when you created the knowledge base. You can send a GetKnowledgeBase request and copy the same configurations.

See also: AWS API Documentation

Request Syntax

response = client.update_knowledge_base(
    description='string',
    knowledgeBaseConfiguration={
        'type': 'VECTOR',
        'vectorKnowledgeBaseConfiguration': {
            'embeddingModelArn': 'string',
            'embeddingModelConfiguration': {
                'bedrockEmbeddingModelConfiguration': {
                    'dimensions': 123
                }
            }
        }
    },
    knowledgeBaseId='string',
    name='string',
    roleArn='string',
    storageConfiguration={
        'mongoDbAtlasConfiguration': {
            'collectionName': 'string',
            'credentialsSecretArn': 'string',
            'databaseName': 'string',
            'endpoint': 'string',
            'endpointServiceName': 'string',
            'fieldMapping': {
                'metadataField': 'string',
                'textField': 'string',
                'vectorField': 'string'
            },
            'vectorIndexName': 'string'
        },
        'opensearchServerlessConfiguration': {
            'collectionArn': 'string',
            'fieldMapping': {
                'metadataField': 'string',
                'textField': 'string',
                'vectorField': 'string'
            },
            'vectorIndexName': 'string'
        },
        'pineconeConfiguration': {
            'connectionString': 'string',
            'credentialsSecretArn': 'string',
            'fieldMapping': {
                'metadataField': 'string',
                'textField': 'string'
            },
            'namespace': 'string'
        },
        'rdsConfiguration': {
            'credentialsSecretArn': 'string',
            'databaseName': 'string',
            'fieldMapping': {
                'metadataField': 'string',
                'primaryKeyField': 'string',
                'textField': 'string',
                'vectorField': 'string'
            },
            'resourceArn': 'string',
            'tableName': 'string'
        },
        'redisEnterpriseCloudConfiguration': {
            'credentialsSecretArn': 'string',
            'endpoint': 'string',
            'fieldMapping': {
                'metadataField': 'string',
                'textField': 'string',
                'vectorField': 'string'
            },
            'vectorIndexName': 'string'
        },
        'type': 'OPENSEARCH_SERVERLESS'|'PINECONE'|'REDIS_ENTERPRISE_CLOUD'|'RDS'|'MONGO_DB_ATLAS'
    }
)
Parameters:
  • description (string) – Specifies a new description for the knowledge base.

  • knowledgeBaseConfiguration (dict) –

    [REQUIRED]

    Specifies the configuration for the embeddings model used for the knowledge base. You must use the same configuration as when the knowledge base was created.

    • type (string) – [REQUIRED]

      The type of data that the data source is converted into for the knowledge base.

    • vectorKnowledgeBaseConfiguration (dict) –

      Contains details about the model that’s used to convert the data source into vector embeddings.

      • embeddingModelArn (string) – [REQUIRED]

        The Amazon Resource Name (ARN) of the model or inference profile used to create vector embeddings for the knowledge base.

      • embeddingModelConfiguration (dict) –

        The embeddings model configuration details for the vector model used in Knowledge Base.

        • bedrockEmbeddingModelConfiguration (dict) –

          The vector configuration details on the Bedrock embeddings model.

          • dimensions (integer) –

            The dimensions details for the vector configuration used on the Bedrock embeddings model.

  • knowledgeBaseId (string) –

    [REQUIRED]

    The unique identifier of the knowledge base to update.

  • name (string) –

    [REQUIRED]

    Specifies a new name for the knowledge base.

  • roleArn (string) –

    [REQUIRED]

    Specifies a different Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base.

  • storageConfiguration (dict) –

    [REQUIRED]

    Specifies the configuration for the vector store used for the knowledge base. You must use the same configuration as when the knowledge base was created.

    • mongoDbAtlasConfiguration (dict) –

      Contains the storage configuration of the knowledge base in MongoDB Atlas.

      • collectionName (string) – [REQUIRED]

        The collection name of the knowledge base in MongoDB Atlas.

      • credentialsSecretArn (string) – [REQUIRED]

        The Amazon Resource Name (ARN) of the secret that you created in Secrets Manager that contains user credentials for your MongoDB Atlas cluster.

      • databaseName (string) – [REQUIRED]

        The database name in your MongoDB Atlas cluster for your knowledge base.

      • endpoint (string) – [REQUIRED]

        The endpoint URL of your MongoDB Atlas cluster for your knowledge base.

      • endpointServiceName (string) –

        The name of the VPC endpoint service in your account that is connected to your MongoDB Atlas cluster.

      • fieldMapping (dict) – [REQUIRED]

        Contains the names of the fields to which to map information about the vector store.

        • metadataField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores metadata about the vector store.

        • textField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.

        • vectorField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.

      • vectorIndexName (string) – [REQUIRED]

        The name of the MongoDB Atlas vector search index.

    • opensearchServerlessConfiguration (dict) –

      Contains the storage configuration of the knowledge base in Amazon OpenSearch Service.

      • collectionArn (string) – [REQUIRED]

        The Amazon Resource Name (ARN) of the OpenSearch Service vector store.

      • fieldMapping (dict) – [REQUIRED]

        Contains the names of the fields to which to map information about the vector store.

        • metadataField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores metadata about the vector store.

        • textField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.

        • vectorField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.

      • vectorIndexName (string) – [REQUIRED]

        The name of the vector store.

    • pineconeConfiguration (dict) –

      Contains the storage configuration of the knowledge base in Pinecone.

      • connectionString (string) – [REQUIRED]

        The endpoint URL for your index management page.

      • credentialsSecretArn (string) – [REQUIRED]

        The Amazon Resource Name (ARN) of the secret that you created in Secrets Manager that is linked to your Pinecone API key.

      • fieldMapping (dict) – [REQUIRED]

        Contains the names of the fields to which to map information about the vector store.

        • metadataField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores metadata about the vector store.

        • textField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.

      • namespace (string) –

        The namespace to be used to write new data to your database.

    • rdsConfiguration (dict) –

      Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS.

      • credentialsSecretArn (string) – [REQUIRED]

        The Amazon Resource Name (ARN) of the secret that you created in Secrets Manager that is linked to your Amazon RDS database.

      • databaseName (string) – [REQUIRED]

        The name of your Amazon RDS database.

      • fieldMapping (dict) – [REQUIRED]

        Contains the names of the fields to which to map information about the vector store.

        • metadataField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores metadata about the vector store.

        • primaryKeyField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores the ID for each entry.

        • textField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.

        • vectorField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.

      • resourceArn (string) – [REQUIRED]

        The Amazon Resource Name (ARN) of the vector store.

      • tableName (string) – [REQUIRED]

        The name of the table in the database.

    • redisEnterpriseCloudConfiguration (dict) –

      Contains the storage configuration of the knowledge base in Redis Enterprise Cloud.

      • credentialsSecretArn (string) – [REQUIRED]

        The Amazon Resource Name (ARN) of the secret that you created in Secrets Manager that is linked to your Redis Enterprise Cloud database.

      • endpoint (string) – [REQUIRED]

        The endpoint URL of the Redis Enterprise Cloud database.

      • fieldMapping (dict) – [REQUIRED]

        Contains the names of the fields to which to map information about the vector store.

        • metadataField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores metadata about the vector store.

        • textField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.

        • vectorField (string) – [REQUIRED]

          The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.

      • vectorIndexName (string) – [REQUIRED]

        The name of the vector index.

    • type (string) – [REQUIRED]

      The vector store service in which the knowledge base is stored.

Return type:

dict

Returns:

Response Syntax

{
    'knowledgeBase': {
        'createdAt': datetime(2015, 1, 1),
        'description': 'string',
        'failureReasons': [
            'string',
        ],
        'knowledgeBaseArn': 'string',
        'knowledgeBaseConfiguration': {
            'type': 'VECTOR',
            'vectorKnowledgeBaseConfiguration': {
                'embeddingModelArn': 'string',
                'embeddingModelConfiguration': {
                    'bedrockEmbeddingModelConfiguration': {
                        'dimensions': 123
                    }
                }
            }
        },
        'knowledgeBaseId': 'string',
        'name': 'string',
        'roleArn': 'string',
        'status': 'CREATING'|'ACTIVE'|'DELETING'|'UPDATING'|'FAILED'|'DELETE_UNSUCCESSFUL',
        'storageConfiguration': {
            'mongoDbAtlasConfiguration': {
                'collectionName': 'string',
                'credentialsSecretArn': 'string',
                'databaseName': 'string',
                'endpoint': 'string',
                'endpointServiceName': 'string',
                'fieldMapping': {
                    'metadataField': 'string',
                    'textField': 'string',
                    'vectorField': 'string'
                },
                'vectorIndexName': 'string'
            },
            'opensearchServerlessConfiguration': {
                'collectionArn': 'string',
                'fieldMapping': {
                    'metadataField': 'string',
                    'textField': 'string',
                    'vectorField': 'string'
                },
                'vectorIndexName': 'string'
            },
            'pineconeConfiguration': {
                'connectionString': 'string',
                'credentialsSecretArn': 'string',
                'fieldMapping': {
                    'metadataField': 'string',
                    'textField': 'string'
                },
                'namespace': 'string'
            },
            'rdsConfiguration': {
                'credentialsSecretArn': 'string',
                'databaseName': 'string',
                'fieldMapping': {
                    'metadataField': 'string',
                    'primaryKeyField': 'string',
                    'textField': 'string',
                    'vectorField': 'string'
                },
                'resourceArn': 'string',
                'tableName': 'string'
            },
            'redisEnterpriseCloudConfiguration': {
                'credentialsSecretArn': 'string',
                'endpoint': 'string',
                'fieldMapping': {
                    'metadataField': 'string',
                    'textField': 'string',
                    'vectorField': 'string'
                },
                'vectorIndexName': 'string'
            },
            'type': 'OPENSEARCH_SERVERLESS'|'PINECONE'|'REDIS_ENTERPRISE_CLOUD'|'RDS'|'MONGO_DB_ATLAS'
        },
        'updatedAt': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) –

    • knowledgeBase (dict) –

      Contains details about the knowledge base.

      • createdAt (datetime) –

        The time the knowledge base was created.

      • description (string) –

        The description of the knowledge base.

      • failureReasons (list) –

        A list of reasons that the API operation on the knowledge base failed.

        • (string) –

      • knowledgeBaseArn (string) –

        The Amazon Resource Name (ARN) of the knowledge base.

      • knowledgeBaseConfiguration (dict) –

        Contains details about the embeddings configuration of the knowledge base.

        • type (string) –

          The type of data that the data source is converted into for the knowledge base.

        • vectorKnowledgeBaseConfiguration (dict) –

          Contains details about the model that’s used to convert the data source into vector embeddings.

          • embeddingModelArn (string) –

            The Amazon Resource Name (ARN) of the model or inference profile used to create vector embeddings for the knowledge base.

          • embeddingModelConfiguration (dict) –

            The embeddings model configuration details for the vector model used in Knowledge Base.

            • bedrockEmbeddingModelConfiguration (dict) –

              The vector configuration details on the Bedrock embeddings model.

              • dimensions (integer) –

                The dimensions details for the vector configuration used on the Bedrock embeddings model.

      • knowledgeBaseId (string) –

        The unique identifier of the knowledge base.

      • name (string) –

        The name of the knowledge base.

      • roleArn (string) –

        The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base.

      • status (string) –

        The status of the knowledge base. The following statuses are possible:

        • CREATING – The knowledge base is being created.

        • ACTIVE – The knowledge base is ready to be queried.

        • DELETING – The knowledge base is being deleted.

        • UPDATING – The knowledge base is being updated.

        • FAILED – The knowledge base API operation failed.

      • storageConfiguration (dict) –

        Contains details about the storage configuration of the knowledge base.

        • mongoDbAtlasConfiguration (dict) –

          Contains the storage configuration of the knowledge base in MongoDB Atlas.

          • collectionName (string) –

            The collection name of the knowledge base in MongoDB Atlas.

          • credentialsSecretArn (string) –

            The Amazon Resource Name (ARN) of the secret that you created in Secrets Manager that contains user credentials for your MongoDB Atlas cluster.

          • databaseName (string) –

            The database name in your MongoDB Atlas cluster for your knowledge base.

          • endpoint (string) –

            The endpoint URL of your MongoDB Atlas cluster for your knowledge base.

          • endpointServiceName (string) –

            The name of the VPC endpoint service in your account that is connected to your MongoDB Atlas cluster.

          • fieldMapping (dict) –

            Contains the names of the fields to which to map information about the vector store.

            • metadataField (string) –

              The name of the field in which Amazon Bedrock stores metadata about the vector store.

            • textField (string) –

              The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.

            • vectorField (string) –

              The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.

          • vectorIndexName (string) –

            The name of the MongoDB Atlas vector search index.

        • opensearchServerlessConfiguration (dict) –

          Contains the storage configuration of the knowledge base in Amazon OpenSearch Service.

          • collectionArn (string) –

            The Amazon Resource Name (ARN) of the OpenSearch Service vector store.

          • fieldMapping (dict) –

            Contains the names of the fields to which to map information about the vector store.

            • metadataField (string) –

              The name of the field in which Amazon Bedrock stores metadata about the vector store.

            • textField (string) –

              The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.

            • vectorField (string) –

              The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.

          • vectorIndexName (string) –

            The name of the vector store.

        • pineconeConfiguration (dict) –

          Contains the storage configuration of the knowledge base in Pinecone.

          • connectionString (string) –

            The endpoint URL for your index management page.

          • credentialsSecretArn (string) –

            The Amazon Resource Name (ARN) of the secret that you created in Secrets Manager that is linked to your Pinecone API key.

          • fieldMapping (dict) –

            Contains the names of the fields to which to map information about the vector store.

            • metadataField (string) –

              The name of the field in which Amazon Bedrock stores metadata about the vector store.

            • textField (string) –

              The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.

          • namespace (string) –

            The namespace to be used to write new data to your database.

        • rdsConfiguration (dict) –

          Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS.

          • credentialsSecretArn (string) –

            The Amazon Resource Name (ARN) of the secret that you created in Secrets Manager that is linked to your Amazon RDS database.

          • databaseName (string) –

            The name of your Amazon RDS database.

          • fieldMapping (dict) –

            Contains the names of the fields to which to map information about the vector store.

            • metadataField (string) –

              The name of the field in which Amazon Bedrock stores metadata about the vector store.

            • primaryKeyField (string) –

              The name of the field in which Amazon Bedrock stores the ID for each entry.

            • textField (string) –

              The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.

            • vectorField (string) –

              The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.

          • resourceArn (string) –

            The Amazon Resource Name (ARN) of the vector store.

          • tableName (string) –

            The name of the table in the database.

        • redisEnterpriseCloudConfiguration (dict) –

          Contains the storage configuration of the knowledge base in Redis Enterprise Cloud.

          • credentialsSecretArn (string) –

            The Amazon Resource Name (ARN) of the secret that you created in Secrets Manager that is linked to your Redis Enterprise Cloud database.

          • endpoint (string) –

            The endpoint URL of the Redis Enterprise Cloud database.

          • fieldMapping (dict) –

            Contains the names of the fields to which to map information about the vector store.

            • metadataField (string) –

              The name of the field in which Amazon Bedrock stores metadata about the vector store.

            • textField (string) –

              The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.

            • vectorField (string) –

              The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.

          • vectorIndexName (string) –

            The name of the vector index.

        • type (string) –

          The vector store service in which the knowledge base is stored.

      • updatedAt (datetime) –

        The time the knowledge base was last updated.

Exceptions