Documentation ¶
Overview ¶
bedrock-agents-cdk
Index ¶
- func BedrockAgent_IsConstruct(x interface{}) *bool
- func BedrockKnowledgeBase_IsConstruct(x interface{}) *bool
- func NewBedrockAgent_Override(b BedrockAgent, scope constructs.Construct, name *string, ...)
- func NewBedrockKnowledgeBase_Override(b BedrockKnowledgeBase, scope constructs.Construct, name *string, ...)
- type ActionGroup
- type BaseFieldMapping
- type BedrockAgent
- type BedrockAgentProps
- type BedrockKnowledgeBase
- type BedrockKnowledgeBaseProps
- type DataSource
- type DataSourceConfiguration
- type KnowledgeBaseAssociation
- type KnowledgeBaseConfiguration
- type OpenSearchFieldMapping
- type OpenSearchServerlessConfiguration
- type OpenSearchServerlessStorageConfiguration
- type PineconeConfiguration
- type PineconeFieldMapping
- type PineconeStorageConfiguration
- type RdsConfiguration
- type RdsFieldMapping
- type RdsStorageConfiguration
- type RedisEnterpriseCloudConfiguration
- type RedisEnterpriseCloudStorageConfiguration
- type RedisFieldMapping
- type S3Configuration
- type VectorKnowledgeBaseConfiguration
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BedrockAgent_IsConstruct ¶
func BedrockAgent_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func BedrockKnowledgeBase_IsConstruct ¶ added in v0.0.5
func BedrockKnowledgeBase_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func NewBedrockAgent_Override ¶
func NewBedrockAgent_Override(b BedrockAgent, scope constructs.Construct, name *string, props *BedrockAgentProps)
func NewBedrockKnowledgeBase_Override ¶ added in v0.0.5
func NewBedrockKnowledgeBase_Override(b BedrockKnowledgeBase, scope constructs.Construct, name *string, props *BedrockKnowledgeBaseProps)
Types ¶
type ActionGroup ¶
type ActionGroup struct { // Required. // // Lambda function ARN that will be used in this action group. // The provided Lambda function will be assigned a resource-based policy // to allow access from the newly created agent. ActionGroupExecutor *string `field:"required" json:"actionGroupExecutor" yaml:"actionGroupExecutor"` // Required. // // Action group name. ActionGroupName *string `field:"required" json:"actionGroupName" yaml:"actionGroupName"` // Required. // // S3 bucket name where Open API schema is stored. // Bucket must be in the same region where agent is created. S3BucketName *string `field:"required" json:"s3BucketName" yaml:"s3BucketName"` // Required. // // S3 bucket key for the actual schema. // Must be either JSON or yaml file. S3ObjectKey *string `field:"required" json:"s3ObjectKey" yaml:"s3ObjectKey"` // Optional. // // Description for the action group. Description *string `field:"optional" json:"description" yaml:"description"` }
type BaseFieldMapping ¶
type BaseFieldMapping struct { // Required. // // Metadata field that you configured in your Vector DB. // Bedrock will store metadata that is required to carry out source attribution // and enable data ingestion and querying. MetadataField *string `field:"required" json:"metadataField" yaml:"metadataField"` // Required. // // Text field that you configured in your Vector DB. // Bedrock will store raw text from your data in chunks in this field. TextField *string `field:"required" json:"textField" yaml:"textField"` }
type BedrockAgent ¶
type BedrockAgent interface { constructs.Construct // `agentArn` is the ARN for the created agent. AgentArn() *string // `agentId` is the unique identifier for the created agent. AgentId() *string // The tree node. Node() constructs.Node // Returns a string representation of this construct. ToString() *string }
func NewBedrockAgent ¶
func NewBedrockAgent(scope constructs.Construct, name *string, props *BedrockAgentProps) BedrockAgent
type BedrockAgentProps ¶
type BedrockAgentProps struct { // Required. // // Name of the agent. AgentName *string `field:"required" json:"agentName" yaml:"agentName"` // Required. // // Instruction for the agent. // Characters length:. Instruction *string `field:"required" json:"instruction" yaml:"instruction"` // Optional. // // Action group for the agent. If specified must contain “s3BucketName“ and “s3ObjectKey“ with JSON // or yaml Open API schema, as well as Lambda ARN for the action group executor, // and action group name. ActionGroups *[]*ActionGroup `field:"optional" json:"actionGroups" yaml:"actionGroups"` // Optional. // // Resource role ARN for an agent. // Role name must start with “AmazonBedrockExecutionRoleForAgents_“ prefix and assumed by “bedrock.amazonaws.com“. // If role is not specified the default one will be created with no attached policies to it. // If actionGroup is specified and the role is not, then the default created role will have an attached S3 read access // to the bucket provided in the actionGroup. AgentResourceRoleArn *string `field:"optional" json:"agentResourceRoleArn" yaml:"agentResourceRoleArn"` // Optional. // // Description for the agent. Description *string `field:"optional" json:"description" yaml:"description"` // Optional. // // Foundation model. // // Example: // - "anthropic.claude-instant-v1" or "anthropic.claude-v2" // // Default: - "anthropic.claude-v2" // FoundationModel *string `field:"optional" json:"foundationModel" yaml:"foundationModel"` // Optional. // // Max Session Time in seconds. // Default: - 3600. // IdleSessionTTLInSeconds *float64 `field:"optional" json:"idleSessionTTLInSeconds" yaml:"idleSessionTTLInSeconds"` // Optional. // // A list of knowledge base association objects // consisting of name and instruction for the associated knowledge base. // // Example: // knowledgeBaseAssociations: [ // { // knowledgeBaseName: "knowledge-base-name", // instruction: "instruction-for-knowledge-base" // } // KnowledgeBaseAssociations *[]*KnowledgeBaseAssociation `field:"optional" json:"knowledgeBaseAssociations" yaml:"knowledgeBaseAssociations"` }
type BedrockKnowledgeBase ¶ added in v0.0.5
type BedrockKnowledgeBase interface { constructs.Construct // `dataSourceId` is the unique identifier for the created data source. DataSourceId() *string // `knowledgeBaseArn` is the ARN for the created knowledge base. KnowledgeBaseArn() *string // `knowledgeBaseId` is the unique identifier for the created knowledge base. KnowledgeBaseId() *string // The tree node. Node() constructs.Node // Returns a string representation of this construct. ToString() *string }
func NewBedrockKnowledgeBase ¶ added in v0.0.5
func NewBedrockKnowledgeBase(scope constructs.Construct, name *string, props *BedrockKnowledgeBaseProps) BedrockKnowledgeBase
type BedrockKnowledgeBaseProps ¶ added in v0.0.5
type BedrockKnowledgeBaseProps struct { // Required. // // Data source configuration. DataSource *DataSource `field:"required" json:"dataSource" yaml:"dataSource"` // Required. // // Name of the KnowledgeBase. Name *string `field:"required" json:"name" yaml:"name"` // Required. // // Resource role ARN for a knowledge base. // Role name must start with “AmazonBedrockExecutionRoleForKnowledgeBase_“ prefix and assumed by “bedrock.amazonaws.com“. // Role must have access to the S3 bucket used as a data source as a knowledge base. // If you use OpenSearch serverless, the role must have “aoss:APIAccessAll“ policy attached to it // allowing it to make API calls against your collection's data plane. Your collection // must also allow data access from KnowledgeBase role. // See more here @see https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // Required. // // KnowledgeBase storage configuration. // Has to be either “opensearchServerlessConfiguration“, // “pineconeConfiguration“, “redisEnterpriseCloudConfiguration“ or `rdsConfiguration` // and respective type field mapping. StorageConfiguration interface{} `field:"required" json:"storageConfiguration" yaml:"storageConfiguration"` // Optional. // // Description for the knowledge base. Description *string `field:"optional" json:"description" yaml:"description"` // Optional. // // KnowledgeBase configuration. // Default: type: "VECTOR", // vectorKnowledgeBaseConfiguration: { // embeddingModelArn: "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v1" // }. // KnowledgeBaseConfiguration *KnowledgeBaseConfiguration `field:"optional" json:"knowledgeBaseConfiguration" yaml:"knowledgeBaseConfiguration"` // Optional. // // Removal Policy. If you want to keep your Knowledge Base intact // in case you destroy this CDK make sure you set removalPolicy to // “cdk.RemovalPolicy.RETAIN“. By default your Knowledge Base will be // deleted along with the agent. // Default: - cdk.RemovalPolicy.DESTROY // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` }
type DataSource ¶
type DataSource struct { // Required. // // Data Source Configuration. // // Example: // dataSourceConfiguration = { // s3Configuration: { // bucketArn: "yourS3BucketArn", // }, // "type": "S3" // } // DataSourceConfiguration *DataSourceConfiguration `field:"required" json:"dataSourceConfiguration" yaml:"dataSourceConfiguration"` // Optional. // // Name for your data source. // Default: - `MyDataSource-${agentName}` or `MyDataSource-${knowledgeBaseName}`. // Name *string `field:"optional" json:"name" yaml:"name"` }
type DataSourceConfiguration ¶
type DataSourceConfiguration struct { // Required. // // S3 Configuration. // // Example: // s3Configuration: { // bucketArn: "yourS3BucketArn" // } // S3Configuration *S3Configuration `field:"required" json:"s3Configuration" yaml:"s3Configuration"` // Optional. // // Type of configuration. // Default: - "S3". // Type *string `field:"optional" json:"type" yaml:"type"` }
type KnowledgeBaseAssociation ¶ added in v0.0.5
type KnowledgeBaseAssociation struct { // Required. // // Instruction based on the design and type of information of the knowledge base. // This will impact how the knowledge base interacts with the agent. Instruction *string `field:"required" json:"instruction" yaml:"instruction"` // Required. // // Name of the existing Knowledge Base that // you want to associate with the agent. KnowledgeBaseName *string `field:"required" json:"knowledgeBaseName" yaml:"knowledgeBaseName"` }
type KnowledgeBaseConfiguration ¶
type KnowledgeBaseConfiguration struct { // Required. // // Type of configuration. // Default: - "VECTOR". // Type *string `field:"required" json:"type" yaml:"type"` // Required. // // Embeddings model to convert your data into an embedding. // Default: - vectorKnowledgeBaseConfiguration: { // embeddingModelArn: "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v1" // }. // VectorKnowledgeBaseConfiguration *VectorKnowledgeBaseConfiguration `field:"required" json:"vectorKnowledgeBaseConfiguration" yaml:"vectorKnowledgeBaseConfiguration"` }
type OpenSearchFieldMapping ¶
type OpenSearchFieldMapping struct { // Required. // // Metadata field that you configured in your Vector DB. // Bedrock will store metadata that is required to carry out source attribution // and enable data ingestion and querying. MetadataField *string `field:"required" json:"metadataField" yaml:"metadataField"` // Required. // // Text field that you configured in your Vector DB. // Bedrock will store raw text from your data in chunks in this field. TextField *string `field:"required" json:"textField" yaml:"textField"` // Required. // // Vector field that you configured in OpenSearch. // Bedrock will store the vector embeddings in this field. VectorField *string `field:"required" json:"vectorField" yaml:"vectorField"` }
type OpenSearchServerlessConfiguration ¶
type OpenSearchServerlessConfiguration struct { // Required. // // ARN of your OpenSearch Serverless Collection. CollectionArn *string `field:"required" json:"collectionArn" yaml:"collectionArn"` // Required. // // Field mapping consisting of “vectorField“, // “textField“ and “metadataField“. FieldMapping *OpenSearchFieldMapping `field:"required" json:"fieldMapping" yaml:"fieldMapping"` // Required. // // Vector index name of your OpenSearch Serverless Collection. VectorIndexName *string `field:"required" json:"vectorIndexName" yaml:"vectorIndexName"` }
type OpenSearchServerlessStorageConfiguration ¶
type OpenSearchServerlessStorageConfiguration struct { // Required. // // OpenSearch Serverless Configuration. // // Example: // opensearchServerlessConfiguration: { // collectionArn: "arn:aws:opensearchserverless:us-east-1:123456789012:collection/my-collection", // fieldMapping: { // textField: "text", // metadataField: "metadata", // vectorField: "vector" // }, // vectorIndexName: "my-index", // }, // OpensearchServerlessConfiguration *OpenSearchServerlessConfiguration `field:"required" json:"opensearchServerlessConfiguration" yaml:"opensearchServerlessConfiguration"` // Required. // // Has to be “"OPENSEARCH_SERVERLESS"“ for Opensearch Serverless Configuration. Type *string `field:"required" json:"type" yaml:"type"` }
type PineconeConfiguration ¶
type PineconeConfiguration struct { // Required. // // Connection string for your Pinecone index management page. ConnectionString *string `field:"required" json:"connectionString" yaml:"connectionString"` // Required. // // ARN of the secret containing the API Key to use when connecting to the Pinecone database. // Learn more in the link below. // See: https://www.pinecone.io/blog/amazon-bedrock-integration/ // CredentialsSecretArn *string `field:"required" json:"credentialsSecretArn" yaml:"credentialsSecretArn"` // Required. // // Field mapping consisting of “textField“ and “metadataField“. FieldMapping *PineconeFieldMapping `field:"required" json:"fieldMapping" yaml:"fieldMapping"` // Optional. // // Name space that will be used for writing new data to your Pinecone database. Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` }
type PineconeFieldMapping ¶
type PineconeFieldMapping struct { // Required. // // Metadata field that you configured in your Vector DB. // Bedrock will store metadata that is required to carry out source attribution // and enable data ingestion and querying. MetadataField *string `field:"required" json:"metadataField" yaml:"metadataField"` // Required. // // Text field that you configured in your Vector DB. // Bedrock will store raw text from your data in chunks in this field. TextField *string `field:"required" json:"textField" yaml:"textField"` }
type PineconeStorageConfiguration ¶
type PineconeStorageConfiguration struct { // Required. // // Pinecone Configuration. // // Example: // pineconeConfiguration: { // credentialsSecretArn: 'arn:aws:secretsmanager:your-region:123456789098:secret:apiKey'; // connectionString: 'https://your-connection-string.pinecone.io'; // fieldMapping: { // metadataField: 'metadata-field', // textField: 'text-field' // }, // }, // PineconeConfiguration *PineconeConfiguration `field:"required" json:"pineconeConfiguration" yaml:"pineconeConfiguration"` // Required. // // Has to be “"PINECONE"“ for Pinecone Configuration. Type *string `field:"required" json:"type" yaml:"type"` }
type RdsConfiguration ¶ added in v0.0.8
type RdsConfiguration struct { // Required. // // The Secret ARN of you Amazon Aurora DB cluster. CredentialsSecretArn *string `field:"required" json:"credentialsSecretArn" yaml:"credentialsSecretArn"` // Required. // // The name of your Database. DatabaseName *string `field:"required" json:"databaseName" yaml:"databaseName"` // Required. // // Field mapping consisting of “vectorField“, “primaryKeyField“, // “textField“ and “metadataField“. FieldMapping *RdsFieldMapping `field:"required" json:"fieldMapping" yaml:"fieldMapping"` // Required. // // The ARN of your Amazon Aurora DB cluster. ResourceArn *string `field:"required" json:"resourceArn" yaml:"resourceArn"` // Required. // // The Table Name of your Amazon Aurora DB cluster. TableName *string `field:"required" json:"tableName" yaml:"tableName"` }
type RdsFieldMapping ¶ added in v0.0.8
type RdsFieldMapping struct { // Required. // // Metadata field that you configured in your Vector DB. // Bedrock will store metadata that is required to carry out source attribution // and enable data ingestion and querying. MetadataField *string `field:"required" json:"metadataField" yaml:"metadataField"` // Required. // // Text field that you configured in your Vector DB. // Bedrock will store raw text from your data in chunks in this field. TextField *string `field:"required" json:"textField" yaml:"textField"` // Required. // // The primary key that you configured in Amazon Aurora. PrimaryKeyField *string `field:"required" json:"primaryKeyField" yaml:"primaryKeyField"` // Required. // // Vector field that you configured in Amazon Aurora. // Bedrock will store the vector embeddings in this field. VectorField *string `field:"required" json:"vectorField" yaml:"vectorField"` }
type RdsStorageConfiguration ¶ added in v0.0.8
type RdsStorageConfiguration struct { // Required. // // RDS Configuration. // // Example: // rdsConfiguration: { // resourceArn: "arn:aws:rds:us-east-2:12345:cluster:my-aurora-cluster-1", // databaseName: "mydbcluster", // tableName: "mytable", // credentialsSecretArn: "arn:aws:rds:us-east-2:12345:cluster:my-aurora-cluster-1", // fieldMapping: { // vectorField: "vectorField", // textField: "text" // metadataField: "metadata", // primaryKeyField: "id", // }, // }, // RdsConfiguration *RdsConfiguration `field:"required" json:"rdsConfiguration" yaml:"rdsConfiguration"` // Required. // // Has to be “"RDS"“ for RDS (Aurora) Configuration. Type *string `field:"required" json:"type" yaml:"type"` }
type RedisEnterpriseCloudConfiguration ¶
type RedisEnterpriseCloudConfiguration struct { // Required. // // ARN of the secret defining the username, password, serverCertificate, // clientCertificate and clientPrivateKey to use when connecting to the Redis Enterprise Cloud database. // Learn more in the link below. // See: https://docs.redis.com/latest/rc/cloud-integrations/aws-marketplace/aws-bedrock/set-up-redis/ // CredentialsSecretArn *string `field:"required" json:"credentialsSecretArn" yaml:"credentialsSecretArn"` // Required. // // The endpoint URL for your Redis Enterprise Cloud database. EndpointUrl *string `field:"required" json:"endpointUrl" yaml:"endpointUrl"` // Required. // // Field mapping consisting of “vectorField“, // “textField“ and “metadataField“. FieldMapping *RedisFieldMapping `field:"required" json:"fieldMapping" yaml:"fieldMapping"` // Required. // // Vector index name of your Redis Enterprise Cloud. VectorIndexName *string `field:"required" json:"vectorIndexName" yaml:"vectorIndexName"` }
type RedisEnterpriseCloudStorageConfiguration ¶
type RedisEnterpriseCloudStorageConfiguration struct { // Required. // // Redis Enterprise Cloud Configuration. // // Example: // redisEnterpriseCloudConfiguration: { // credentialsSecretArn: 'arn:aws:secretsmanager:your-region:123456789098:secret:apiKey'; // endpointUrl: 'your-endpoint-url'; // fieldMapping: { // metadataField: 'metadata-field', // textField: 'text-field', // vectorField: "vector" // }, // vectorIndexName: 'your-vector-index-name', // }, // RedisEnterpriseCloudConfiguration *RedisEnterpriseCloudConfiguration `field:"required" json:"redisEnterpriseCloudConfiguration" yaml:"redisEnterpriseCloudConfiguration"` // Required. // // Has to be “"REDIS_ENTERPRISE_CLOUD"“ for Redis Enterprise Cloud Configuration. Type *string `field:"required" json:"type" yaml:"type"` }
type RedisFieldMapping ¶
type RedisFieldMapping struct { // Required. // // Metadata field that you configured in your Vector DB. // Bedrock will store metadata that is required to carry out source attribution // and enable data ingestion and querying. MetadataField *string `field:"required" json:"metadataField" yaml:"metadataField"` // Required. // // Text field that you configured in your Vector DB. // Bedrock will store raw text from your data in chunks in this field. TextField *string `field:"required" json:"textField" yaml:"textField"` // Required. // // Vector field that you configured in Redis Enterprise Cloud. // Bedrock will store the vector embeddings in this field. VectorField *string `field:"required" json:"vectorField" yaml:"vectorField"` }
type S3Configuration ¶
type S3Configuration struct { // Required. // // S3 bucket with files that you want to create embeddings // on for agent to make search on. BucketArn *string `field:"required" json:"bucketArn" yaml:"bucketArn"` // Optional. // // Prefix for a bucket if your files located in a folder. // If you have a folder “files“inside the bucket, // and the folder contains files you want to perform // search on, then use “[files/]“ as an “inclusionPrefixes“. InclusionPrefixes *[]*string `field:"optional" json:"inclusionPrefixes" yaml:"inclusionPrefixes"` }
type VectorKnowledgeBaseConfiguration ¶
type VectorKnowledgeBaseConfiguration struct { // Required. // // Embeddings model to convert your data into an embedding. // Default: - "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v1" // EmbeddingModelArn *string `field:"required" json:"embeddingModelArn" yaml:"embeddingModelArn"` }
Source Files ¶
- ActionGroup.go
- BaseFieldMapping.go
- BedrockAgent.go
- BedrockAgentProps.go
- BedrockAgent__checks.go
- BedrockKnowledgeBase.go
- BedrockKnowledgeBaseProps.go
- BedrockKnowledgeBase__checks.go
- DataSource.go
- DataSourceConfiguration.go
- KnowledgeBaseAssociation.go
- KnowledgeBaseConfiguration.go
- OpenSearchFieldMapping.go
- OpenSearchServerlessConfiguration.go
- OpenSearchServerlessStorageConfiguration.go
- PineconeConfiguration.go
- PineconeFieldMapping.go
- PineconeStorageConfiguration.go
- RdsConfiguration.go
- RdsFieldMapping.go
- RdsStorageConfiguration.go
- RedisEnterpriseCloudConfiguration.go
- RedisEnterpriseCloudStorageConfiguration.go
- RedisFieldMapping.go
- S3Configuration.go
- VectorKnowledgeBaseConfiguration.go
- main.go
Click to show internal directories.
Click to hide internal directories.