Skip to content

Base structure config

BaseStructureConfig

Bases: BaseConfig, ABC

Source code in griptape/config/base_structure_config.py
@define
class BaseStructureConfig(BaseConfig, ABC):
    prompt_driver: BasePromptDriver = field(kw_only=True, metadata={"serializable": True})
    image_generation_driver: BaseImageGenerationDriver = field(kw_only=True, metadata={"serializable": True})
    image_query_driver: BaseImageQueryDriver = field(kw_only=True, metadata={"serializable": True})
    embedding_driver: BaseEmbeddingDriver = field(kw_only=True, metadata={"serializable": True})
    vector_store_driver: BaseVectorStoreDriver = field(kw_only=True, metadata={"serializable": True})
    conversation_memory_driver: Optional[BaseConversationMemoryDriver] = field(
        default=None, kw_only=True, metadata={"serializable": True}
    )
    text_to_speech_driver: BaseTextToSpeechDriver = field(kw_only=True, metadata={"serializable": True})
    audio_transcription_driver: BaseAudioTranscriptionDriver = field(kw_only=True, metadata={"serializable": True})

    def merge_config(self, config: dict) -> BaseStructureConfig:
        base_config = self.to_dict()
        merged_config = dict_merge(base_config, config)

        return BaseStructureConfig.from_dict(merged_config)

audio_transcription_driver: BaseAudioTranscriptionDriver = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

conversation_memory_driver: Optional[BaseConversationMemoryDriver] = field(default=None, kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

embedding_driver: BaseEmbeddingDriver = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

image_generation_driver: BaseImageGenerationDriver = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

image_query_driver: BaseImageQueryDriver = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

prompt_driver: BasePromptDriver = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

text_to_speech_driver: BaseTextToSpeechDriver = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

vector_store_driver: BaseVectorStoreDriver = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

merge_config(config)

Source code in griptape/config/base_structure_config.py
def merge_config(self, config: dict) -> BaseStructureConfig:
    base_config = self.to_dict()
    merged_config = dict_merge(base_config, config)

    return BaseStructureConfig.from_dict(merged_config)