Class: AWSCDK::Wisdom::CfnKnowledgeBase::ChunkingConfigurationProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Wisdom::CfnKnowledgeBase::ChunkingConfigurationProperty
- Defined in:
- wisdom/cfn_knowledge_base.rb
Overview
Details about how to chunk the documents in the data source.
A chunk refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried.
Instance Attribute Summary collapse
-
#chunking_strategy ⇒ String
readonly
Knowledge base can split your source data into chunks.
-
#fixed_size_chunking_configuration ⇒ AWSCDK::IResolvable, ...
readonly
Configurations for when you choose fixed-size chunking.
-
#hierarchical_chunking_configuration ⇒ AWSCDK::IResolvable, ...
readonly
Settings for hierarchical document chunking for a data source.
-
#semantic_chunking_configuration ⇒ AWSCDK::IResolvable, ...
readonly
Settings for semantic document chunking for a data source.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(chunking_strategy:, fixed_size_chunking_configuration: nil, hierarchical_chunking_configuration: nil, semantic_chunking_configuration: nil) ⇒ ChunkingConfigurationProperty
constructor
A new instance of ChunkingConfigurationProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(chunking_strategy:, fixed_size_chunking_configuration: nil, hierarchical_chunking_configuration: nil, semantic_chunking_configuration: nil) ⇒ ChunkingConfigurationProperty
Returns a new instance of ChunkingConfigurationProperty.
753 754 755 756 757 758 759 760 761 762 |
# File 'wisdom/cfn_knowledge_base.rb', line 753 def initialize(chunking_strategy:, fixed_size_chunking_configuration: nil, hierarchical_chunking_configuration: nil, semantic_chunking_configuration: nil) @chunking_strategy = chunking_strategy Jsii::Type.check_type(@chunking_strategy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "chunkingStrategy") @fixed_size_chunking_configuration = fixed_size_chunking_configuration.is_a?(Hash) ? ::AWSCDK::Wisdom::CfnKnowledgeBase::FixedSizeChunkingConfigurationProperty.new(**fixed_size_chunking_configuration.transform_keys(&:to_sym)) : fixed_size_chunking_configuration Jsii::Type.check_type(@fixed_size_chunking_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193aXNkb20uQ2ZuS25vd2xlZGdlQmFzZS5GaXhlZFNpemVDaHVua2luZ0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "fixedSizeChunkingConfiguration") unless @fixed_size_chunking_configuration.nil? @hierarchical_chunking_configuration = hierarchical_chunking_configuration.is_a?(Hash) ? ::AWSCDK::Wisdom::CfnKnowledgeBase::HierarchicalChunkingConfigurationProperty.new(**hierarchical_chunking_configuration.transform_keys(&:to_sym)) : hierarchical_chunking_configuration Jsii::Type.check_type(@hierarchical_chunking_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193aXNkb20uQ2ZuS25vd2xlZGdlQmFzZS5IaWVyYXJjaGljYWxDaHVua2luZ0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "hierarchicalChunkingConfiguration") unless @hierarchical_chunking_configuration.nil? @semantic_chunking_configuration = semantic_chunking_configuration.is_a?(Hash) ? ::AWSCDK::Wisdom::CfnKnowledgeBase::SemanticChunkingConfigurationProperty.new(**semantic_chunking_configuration.transform_keys(&:to_sym)) : semantic_chunking_configuration Jsii::Type.check_type(@semantic_chunking_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c193aXNkb20uQ2ZuS25vd2xlZGdlQmFzZS5TZW1hbnRpY0NodW5raW5nQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "semanticChunkingConfiguration") unless @semantic_chunking_configuration.nil? end |
Instance Attribute Details
#chunking_strategy ⇒ String (readonly)
Knowledge base can split your source data into chunks.
A chunk refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried. You have the following options for chunking your data. If you opt for NONE , then you may want to pre-process your files by splitting them up such that each file corresponds to a chunk.
770 771 772 |
# File 'wisdom/cfn_knowledge_base.rb', line 770 def chunking_strategy @chunking_strategy end |
#fixed_size_chunking_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
Configurations for when you choose fixed-size chunking.
If you set the chunking_strategy as NONE , exclude this field.
777 778 779 |
# File 'wisdom/cfn_knowledge_base.rb', line 777 def fixed_size_chunking_configuration @fixed_size_chunking_configuration end |
#hierarchical_chunking_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
Settings for hierarchical document chunking for a data source.
Hierarchical chunking splits documents into layers of chunks where the first layer contains large chunks, and the second layer contains smaller chunks derived from the first layer.
784 785 786 |
# File 'wisdom/cfn_knowledge_base.rb', line 784 def hierarchical_chunking_configuration @hierarchical_chunking_configuration end |
#semantic_chunking_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
Settings for semantic document chunking for a data source.
Semantic chunking splits a document into smaller documents based on groups of similar content derived from the text with natural language processing.
791 792 793 |
# File 'wisdom/cfn_knowledge_base.rb', line 791 def semantic_chunking_configuration @semantic_chunking_configuration end |
Class Method Details
.jsii_properties ⇒ Object
793 794 795 796 797 798 799 800 |
# File 'wisdom/cfn_knowledge_base.rb', line 793 def self.jsii_properties { :chunking_strategy => "chunkingStrategy", :fixed_size_chunking_configuration => "fixedSizeChunkingConfiguration", :hierarchical_chunking_configuration => "hierarchicalChunkingConfiguration", :semantic_chunking_configuration => "semanticChunkingConfiguration", } end |
Instance Method Details
#to_jsii ⇒ Object
802 803 804 805 806 807 808 809 810 811 |
# File 'wisdom/cfn_knowledge_base.rb', line 802 def to_jsii result = {} result.merge!({ "chunkingStrategy" => @chunking_strategy, "fixedSizeChunkingConfiguration" => @fixed_size_chunking_configuration, "hierarchicalChunkingConfiguration" => @hierarchical_chunking_configuration, "semanticChunkingConfiguration" => @semantic_chunking_configuration, }) result.compact end |