Skip to content

Create Knowledge Base

bedrockagent_create_knowledge_base R Documentation

Creates a knowledge base

Description

Creates a knowledge base. A knowledge base contains your data sources so that Large Language Models (LLMs) can use your data. 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 a knowledge base.

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 optional description.

  • 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 the knowledgeBaseConfiguration 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.

Usage

bedrockagent_create_knowledge_base(clientToken, name, description,
  roleArn, knowledgeBaseConfiguration, storageConfiguration, tags)

Arguments

clientToken

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.

name

[required] A name for the knowledge base.

description

A description of the knowledge base.

roleArn

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

knowledgeBaseConfiguration

[required] Contains details about the embeddings model used for the knowledge base.

storageConfiguration

Contains details about the configuration of the vector database used for the knowledge base.

tags

Specify the key-value pairs for the tags that you want to attach to your knowledge base in this object.

Value

A list with the following syntax:

list(
  knowledgeBase = list(
    knowledgeBaseId = "string",
    name = "string",
    knowledgeBaseArn = "string",
    description = "string",
    roleArn = "string",
    knowledgeBaseConfiguration = list(
      type = "VECTOR"|"KENDRA"|"SQL",
      vectorKnowledgeBaseConfiguration = list(
        embeddingModelArn = "string",
        embeddingModelConfiguration = list(
          bedrockEmbeddingModelConfiguration = list(
            dimensions = 123,
            embeddingDataType = "FLOAT32"|"BINARY",
            audio = list(
              list(
                segmentationConfiguration = list(
                  fixedLengthDuration = 123
                )
              )
            ),
            video = list(
              list(
                segmentationConfiguration = list(
                  fixedLengthDuration = 123
                )
              )
            )
          )
        ),
        supplementalDataStorageConfiguration = list(
          storageLocations = list(
            list(
              type = "S3",
              s3Location = list(
                uri = "string"
              )
            )
          )
        )
      ),
      kendraKnowledgeBaseConfiguration = list(
        kendraIndexArn = "string"
      ),
      sqlKnowledgeBaseConfiguration = list(
        type = "REDSHIFT",
        redshiftConfiguration = list(
          storageConfigurations = list(
            list(
              type = "REDSHIFT"|"AWS_DATA_CATALOG",
              awsDataCatalogConfiguration = list(
                tableNames = list(
                  "string"
                )
              ),
              redshiftConfiguration = list(
                databaseName = "string"
              )
            )
          ),
          queryEngineConfiguration = list(
            type = "SERVERLESS"|"PROVISIONED",
            serverlessConfiguration = list(
              workgroupArn = "string",
              authConfiguration = list(
                type = "IAM"|"USERNAME_PASSWORD",
                usernamePasswordSecretArn = "string"
              )
            ),
            provisionedConfiguration = list(
              clusterIdentifier = "string",
              authConfiguration = list(
                type = "IAM"|"USERNAME_PASSWORD"|"USERNAME",
                databaseUser = "string",
                usernamePasswordSecretArn = "string"
              )
            )
          ),
          queryGenerationConfiguration = list(
            executionTimeoutSeconds = 123,
            generationContext = list(
              tables = list(
                list(
                  name = "string",
                  description = "string",
                  inclusion = "INCLUDE"|"EXCLUDE",
                  columns = list(
                    list(
                      name = "string",
                      description = "string",
                      inclusion = "INCLUDE"|"EXCLUDE"
                    )
                  )
                )
              ),
              curatedQueries = list(
                list(
                  naturalLanguage = "string",
                  sql = "string"
                )
              )
            )
          )
        )
      )
    ),
    storageConfiguration = list(
      type = "OPENSEARCH_SERVERLESS"|"PINECONE"|"REDIS_ENTERPRISE_CLOUD"|"RDS"|"MONGO_DB_ATLAS"|"NEPTUNE_ANALYTICS"|"OPENSEARCH_MANAGED_CLUSTER"|"S3_VECTORS",
      opensearchServerlessConfiguration = list(
        collectionArn = "string",
        vectorIndexName = "string",
        fieldMapping = list(
          vectorField = "string",
          textField = "string",
          metadataField = "string"
        )
      ),
      opensearchManagedClusterConfiguration = list(
        domainEndpoint = "string",
        domainArn = "string",
        vectorIndexName = "string",
        fieldMapping = list(
          vectorField = "string",
          textField = "string",
          metadataField = "string"
        )
      ),
      pineconeConfiguration = list(
        connectionString = "string",
        credentialsSecretArn = "string",
        namespace = "string",
        fieldMapping = list(
          textField = "string",
          metadataField = "string"
        )
      ),
      redisEnterpriseCloudConfiguration = list(
        endpoint = "string",
        vectorIndexName = "string",
        credentialsSecretArn = "string",
        fieldMapping = list(
          vectorField = "string",
          textField = "string",
          metadataField = "string"
        )
      ),
      rdsConfiguration = list(
        resourceArn = "string",
        credentialsSecretArn = "string",
        databaseName = "string",
        tableName = "string",
        fieldMapping = list(
          primaryKeyField = "string",
          vectorField = "string",
          textField = "string",
          metadataField = "string",
          customMetadataField = "string"
        )
      ),
      mongoDbAtlasConfiguration = list(
        endpoint = "string",
        databaseName = "string",
        collectionName = "string",
        vectorIndexName = "string",
        credentialsSecretArn = "string",
        fieldMapping = list(
          vectorField = "string",
          textField = "string",
          metadataField = "string"
        ),
        endpointServiceName = "string",
        textIndexName = "string"
      ),
      neptuneAnalyticsConfiguration = list(
        graphArn = "string",
        fieldMapping = list(
          textField = "string",
          metadataField = "string"
        )
      ),
      s3VectorsConfiguration = list(
        vectorBucketArn = "string",
        indexArn = "string",
        indexName = "string"
      )
    ),
    status = "CREATING"|"ACTIVE"|"DELETING"|"UPDATING"|"FAILED"|"DELETE_UNSUCCESSFUL",
    createdAt = as.POSIXct(
      "2015-01-01"
    ),
    updatedAt = as.POSIXct(
      "2015-01-01"
    ),
    failureReasons = list(
      "string"
    )
  )
)

Request syntax

svc$create_knowledge_base(
  clientToken = "string",
  name = "string",
  description = "string",
  roleArn = "string",
  knowledgeBaseConfiguration = list(
    type = "VECTOR"|"KENDRA"|"SQL",
    vectorKnowledgeBaseConfiguration = list(
      embeddingModelArn = "string",
      embeddingModelConfiguration = list(
        bedrockEmbeddingModelConfiguration = list(
          dimensions = 123,
          embeddingDataType = "FLOAT32"|"BINARY",
          audio = list(
            list(
              segmentationConfiguration = list(
                fixedLengthDuration = 123
              )
            )
          ),
          video = list(
            list(
              segmentationConfiguration = list(
                fixedLengthDuration = 123
              )
            )
          )
        )
      ),
      supplementalDataStorageConfiguration = list(
        storageLocations = list(
          list(
            type = "S3",
            s3Location = list(
              uri = "string"
            )
          )
        )
      )
    ),
    kendraKnowledgeBaseConfiguration = list(
      kendraIndexArn = "string"
    ),
    sqlKnowledgeBaseConfiguration = list(
      type = "REDSHIFT",
      redshiftConfiguration = list(
        storageConfigurations = list(
          list(
            type = "REDSHIFT"|"AWS_DATA_CATALOG",
            awsDataCatalogConfiguration = list(
              tableNames = list(
                "string"
              )
            ),
            redshiftConfiguration = list(
              databaseName = "string"
            )
          )
        ),
        queryEngineConfiguration = list(
          type = "SERVERLESS"|"PROVISIONED",
          serverlessConfiguration = list(
            workgroupArn = "string",
            authConfiguration = list(
              type = "IAM"|"USERNAME_PASSWORD",
              usernamePasswordSecretArn = "string"
            )
          ),
          provisionedConfiguration = list(
            clusterIdentifier = "string",
            authConfiguration = list(
              type = "IAM"|"USERNAME_PASSWORD"|"USERNAME",
              databaseUser = "string",
              usernamePasswordSecretArn = "string"
            )
          )
        ),
        queryGenerationConfiguration = list(
          executionTimeoutSeconds = 123,
          generationContext = list(
            tables = list(
              list(
                name = "string",
                description = "string",
                inclusion = "INCLUDE"|"EXCLUDE",
                columns = list(
                  list(
                    name = "string",
                    description = "string",
                    inclusion = "INCLUDE"|"EXCLUDE"
                  )
                )
              )
            ),
            curatedQueries = list(
              list(
                naturalLanguage = "string",
                sql = "string"
              )
            )
          )
        )
      )
    )
  ),
  storageConfiguration = list(
    type = "OPENSEARCH_SERVERLESS"|"PINECONE"|"REDIS_ENTERPRISE_CLOUD"|"RDS"|"MONGO_DB_ATLAS"|"NEPTUNE_ANALYTICS"|"OPENSEARCH_MANAGED_CLUSTER"|"S3_VECTORS",
    opensearchServerlessConfiguration = list(
      collectionArn = "string",
      vectorIndexName = "string",
      fieldMapping = list(
        vectorField = "string",
        textField = "string",
        metadataField = "string"
      )
    ),
    opensearchManagedClusterConfiguration = list(
      domainEndpoint = "string",
      domainArn = "string",
      vectorIndexName = "string",
      fieldMapping = list(
        vectorField = "string",
        textField = "string",
        metadataField = "string"
      )
    ),
    pineconeConfiguration = list(
      connectionString = "string",
      credentialsSecretArn = "string",
      namespace = "string",
      fieldMapping = list(
        textField = "string",
        metadataField = "string"
      )
    ),
    redisEnterpriseCloudConfiguration = list(
      endpoint = "string",
      vectorIndexName = "string",
      credentialsSecretArn = "string",
      fieldMapping = list(
        vectorField = "string",
        textField = "string",
        metadataField = "string"
      )
    ),
    rdsConfiguration = list(
      resourceArn = "string",
      credentialsSecretArn = "string",
      databaseName = "string",
      tableName = "string",
      fieldMapping = list(
        primaryKeyField = "string",
        vectorField = "string",
        textField = "string",
        metadataField = "string",
        customMetadataField = "string"
      )
    ),
    mongoDbAtlasConfiguration = list(
      endpoint = "string",
      databaseName = "string",
      collectionName = "string",
      vectorIndexName = "string",
      credentialsSecretArn = "string",
      fieldMapping = list(
        vectorField = "string",
        textField = "string",
        metadataField = "string"
      ),
      endpointServiceName = "string",
      textIndexName = "string"
    ),
    neptuneAnalyticsConfiguration = list(
      graphArn = "string",
      fieldMapping = list(
        textField = "string",
        metadataField = "string"
      )
    ),
    s3VectorsConfiguration = list(
      vectorBucketArn = "string",
      indexArn = "string",
      indexName = "string"
    )
  ),
  tags = list(
    "string"
  )
)