AgentsforBedrock / Client / create_knowledge_base
create_knowledge_base#
- AgentsforBedrock.Client.create_knowledge_base(**kwargs)#
Creates a knowledge base that contains data sources from which information can be queried and used by LLMs. To create a knowledge base, you must first set up your data sources and configure a supported vector store. For more information, see Set up your data for ingestion.
Note
If you prefer to let Amazon Bedrock create and manage a vector store for you in Amazon OpenSearch Service, use the console. For more information, see Create a knowledge base.
Provide the
name
and an optionaldescription
.Provide the Amazon Resource Name (ARN) with permissions to create a knowledge base in the
roleArn
field.Provide the embedding model to use in the
embeddingModelArn
field in theknowledgeBaseConfiguration
object.Provide the configuration for your vector store in the
storageConfiguration
object.For an Amazon OpenSearch Service database, use the
opensearchServerlessConfiguration
object. For more information, see Create a vector store in Amazon OpenSearch Service.For an Amazon Aurora database, use the
RdsConfiguration
object. For more information, see Create a vector store in Amazon Aurora.For a Pinecone database, use the
pineconeConfiguration
object. For more information, see Create a vector store in Pinecone.For a Redis Enterprise Cloud database, use the
redisEnterpriseCloudConfiguration
object. For more information, see Create a vector store in Redis Enterprise Cloud.
See also: AWS API Documentation
Request Syntax
response = client.create_knowledge_base( clientToken='string', description='string', knowledgeBaseConfiguration={ 'type': 'VECTOR', 'vectorKnowledgeBaseConfiguration': { 'embeddingModelArn': 'string' } }, name='string', roleArn='string', storageConfiguration={ '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' }, tags={ 'string': 'string' } )
- Parameters:
clientToken (string) –
A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.
This field is autopopulated if not provided.
description (string) – A description of the knowledge base.
knowledgeBaseConfiguration (dict) –
[REQUIRED]
Contains details about the embeddings model used for the knowledge base.
type (string) – [REQUIRED]
The type of data that the data source is converted into for the knowledge base.
vectorKnowledgeBaseConfiguration (dict) –
Contains details about the embeddings model that’sused to convert the data source.
embeddingModelArn (string) – [REQUIRED]
The Amazon Resource Name (ARN) of the model used to create vector embeddings for the knowledge base.
name (string) –
[REQUIRED]
A name for the knowledge base.
roleArn (string) –
[REQUIRED]
The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base.
storageConfiguration (dict) –
[REQUIRED]
Contains details about the configuration of the vector database used for the knowledge base.
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.
tags (dict) –
Specify the key-value pairs for the tags that you want to attach to your knowledge base in this object.
(string) –
(string) –
- Return type:
dict
- Returns:
Response Syntax
{ 'knowledgeBase': { 'createdAt': datetime(2015, 1, 1), 'description': 'string', 'failureReasons': [ 'string', ], 'knowledgeBaseArn': 'string', 'knowledgeBaseConfiguration': { 'type': 'VECTOR', 'vectorKnowledgeBaseConfiguration': { 'embeddingModelArn': 'string' } }, 'knowledgeBaseId': 'string', 'name': 'string', 'roleArn': 'string', 'status': 'CREATING'|'ACTIVE'|'DELETING'|'UPDATING'|'FAILED'|'DELETE_UNSUCCESSFUL', 'storageConfiguration': { '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' }, 'updatedAt': datetime(2015, 1, 1) } }
Response Structure
(dict) –
knowledgeBase (dict) –
Contains details about the knowledge base.
createdAt (datetime) –
The time at which 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 embeddings model that’sused to convert the data source.
embeddingModelArn (string) –
The Amazon Resource Name (ARN) of the model used to create vector embeddings for the knowledge base.
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.
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 at which the knowledge base was last updated.
Exceptions
AgentsforBedrock.Client.exceptions.ThrottlingException
AgentsforBedrock.Client.exceptions.AccessDeniedException
AgentsforBedrock.Client.exceptions.ValidationException
AgentsforBedrock.Client.exceptions.InternalServerException
AgentsforBedrock.Client.exceptions.ConflictException
AgentsforBedrock.Client.exceptions.ServiceQuotaExceededException