Skip to content

Config

__all__ = ['BaseConfig', 'BaseStructureConfig', 'StructureTaskMemoryConfig', 'StructureGlobalDriversConfig', 'StructureTaskMemoryQueryEngineConfig', 'StructureTaskMemorySummaryEngineConfig', 'StructureTaskMemoryExtractionEngineConfig', 'StructureTaskMemoryExtractionEngineCsvConfig', 'StructureTaskMemoryExtractionEngineJsonConfig', 'StructureConfig', 'OpenAiStructureConfig', 'AmazonBedrockStructureConfig', 'AnthropicStructureConfig', 'GoogleStructureConfig'] module-attribute

AmazonBedrockStructureConfig

Bases: BaseStructureConfig

Source code in griptape/config/amazon_bedrock_structure_config.py
@define()
class AmazonBedrockStructureConfig(BaseStructureConfig):
    global_drivers: StructureGlobalDriversConfig = field(
        default=Factory(
            lambda: StructureGlobalDriversConfig(
                prompt_driver=AmazonBedrockPromptDriver(
                    model="anthropic.claude-3-sonnet-20240229-v1:0",
                    stream=False,
                    prompt_model_driver=BedrockClaudePromptModelDriver(),
                ),
                image_generation_driver=AmazonBedrockImageGenerationDriver(
                    model="amazon.titan-image-generator-v1",
                    image_generation_model_driver=BedrockTitanImageGenerationModelDriver(),
                ),
                image_query_driver=AmazonBedrockImageQueryDriver(
                    model="anthropic.claude-3-sonnet-20240229-v1:0",
                    image_query_model_driver=BedrockClaudeImageQueryModelDriver(),
                ),
                embedding_driver=AmazonBedrockTitanEmbeddingDriver(model="amazon.titan-embed-text-v1"),
                vector_store_driver=LocalVectorStoreDriver(
                    embedding_driver=AmazonBedrockTitanEmbeddingDriver(model="amazon.titan-embed-text-v1")
                ),
            )
        ),
        kw_only=True,
        metadata={"serializable": True},
    )
    task_memory: StructureTaskMemoryConfig = field(
        default=Factory(
            lambda self: StructureTaskMemoryConfig(
                query_engine=StructureTaskMemoryQueryEngineConfig(
                    prompt_driver=self.global_drivers.prompt_driver,
                    vector_store_driver=self.global_drivers.vector_store_driver,
                ),
                extraction_engine=StructureTaskMemoryExtractionEngineConfig(
                    csv=StructureTaskMemoryExtractionEngineCsvConfig(prompt_driver=self.global_drivers.prompt_driver),
                    json=StructureTaskMemoryExtractionEngineJsonConfig(prompt_driver=self.global_drivers.prompt_driver),
                ),
                summary_engine=StructureTaskMemorySummaryEngineConfig(prompt_driver=self.global_drivers.prompt_driver),
            ),
            takes_self=True,
        ),
        kw_only=True,
        metadata={"serializable": True},
    )

global_drivers: StructureGlobalDriversConfig = field(default=Factory(lambda: StructureGlobalDriversConfig(prompt_driver=AmazonBedrockPromptDriver(model='anthropic.claude-3-sonnet-20240229-v1:0', stream=False, prompt_model_driver=BedrockClaudePromptModelDriver()), image_generation_driver=AmazonBedrockImageGenerationDriver(model='amazon.titan-image-generator-v1', image_generation_model_driver=BedrockTitanImageGenerationModelDriver()), image_query_driver=AmazonBedrockImageQueryDriver(model='anthropic.claude-3-sonnet-20240229-v1:0', image_query_model_driver=BedrockClaudeImageQueryModelDriver()), embedding_driver=AmazonBedrockTitanEmbeddingDriver(model='amazon.titan-embed-text-v1'), vector_store_driver=LocalVectorStoreDriver(embedding_driver=AmazonBedrockTitanEmbeddingDriver(model='amazon.titan-embed-text-v1')))), kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

task_memory: StructureTaskMemoryConfig = field(default=Factory(lambda self: StructureTaskMemoryConfig(query_engine=StructureTaskMemoryQueryEngineConfig(prompt_driver=self.global_drivers.prompt_driver, vector_store_driver=self.global_drivers.vector_store_driver), extraction_engine=StructureTaskMemoryExtractionEngineConfig(csv=StructureTaskMemoryExtractionEngineCsvConfig(prompt_driver=self.global_drivers.prompt_driver), json=StructureTaskMemoryExtractionEngineJsonConfig(prompt_driver=self.global_drivers.prompt_driver)), summary_engine=StructureTaskMemorySummaryEngineConfig(prompt_driver=self.global_drivers.prompt_driver)), takes_self=True), kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

AnthropicStructureConfig

Bases: BaseStructureConfig

Source code in griptape/config/anthropic_structure_config.py
@define
class AnthropicStructureConfig(BaseStructureConfig):
    global_drivers: StructureGlobalDriversConfig = field(
        default=Factory(
            lambda: StructureGlobalDriversConfig(
                prompt_driver=AnthropicPromptDriver(model="claude-3-opus-20240229"),
                embedding_driver=VoyageAiEmbeddingDriver(model="voyage-large-2"),
                vector_store_driver=LocalVectorStoreDriver(
                    embedding_driver=VoyageAiEmbeddingDriver(model="voyage-large-2")
                ),
                image_query_driver=AnthropicImageQueryDriver(model="claude-3-opus-20240229"),
            )
        ),
        kw_only=True,
        metadata={"serializable": True},
    )
    task_memory: StructureTaskMemoryConfig = field(
        default=Factory(
            lambda self: StructureTaskMemoryConfig(
                query_engine=StructureTaskMemoryQueryEngineConfig(
                    prompt_driver=self.global_drivers.prompt_driver,
                    vector_store_driver=LocalVectorStoreDriver(embedding_driver=self.global_drivers.embedding_driver),
                ),
                extraction_engine=StructureTaskMemoryExtractionEngineConfig(
                    csv=StructureTaskMemoryExtractionEngineCsvConfig(prompt_driver=self.global_drivers.prompt_driver),
                    json=StructureTaskMemoryExtractionEngineJsonConfig(prompt_driver=self.global_drivers.prompt_driver),
                ),
                summary_engine=StructureTaskMemorySummaryEngineConfig(prompt_driver=self.global_drivers.prompt_driver),
            ),
            takes_self=True,
        ),
        kw_only=True,
        metadata={"serializable": True},
    )

global_drivers: StructureGlobalDriversConfig = field(default=Factory(lambda: StructureGlobalDriversConfig(prompt_driver=AnthropicPromptDriver(model='claude-3-opus-20240229'), embedding_driver=VoyageAiEmbeddingDriver(model='voyage-large-2'), vector_store_driver=LocalVectorStoreDriver(embedding_driver=VoyageAiEmbeddingDriver(model='voyage-large-2')), image_query_driver=AnthropicImageQueryDriver(model='claude-3-opus-20240229'))), kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

task_memory: StructureTaskMemoryConfig = field(default=Factory(lambda self: StructureTaskMemoryConfig(query_engine=StructureTaskMemoryQueryEngineConfig(prompt_driver=self.global_drivers.prompt_driver, vector_store_driver=LocalVectorStoreDriver(embedding_driver=self.global_drivers.embedding_driver)), extraction_engine=StructureTaskMemoryExtractionEngineConfig(csv=StructureTaskMemoryExtractionEngineCsvConfig(prompt_driver=self.global_drivers.prompt_driver), json=StructureTaskMemoryExtractionEngineJsonConfig(prompt_driver=self.global_drivers.prompt_driver)), summary_engine=StructureTaskMemorySummaryEngineConfig(prompt_driver=self.global_drivers.prompt_driver)), takes_self=True), kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

BaseConfig

Bases: SerializableMixin, ABC

Source code in griptape/config/base_config.py
@define
class BaseConfig(SerializableMixin, ABC):
    ...

BaseStructureConfig

Bases: BaseConfig, ABC

Source code in griptape/config/base_structure_config.py
@define
class BaseStructureConfig(BaseConfig, ABC):
    global_drivers: StructureGlobalDriversConfig = field(kw_only=True, metadata={"serializable": True})
    task_memory: StructureTaskMemoryConfig = 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)

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

task_memory: StructureTaskMemoryConfig = 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)

GoogleStructureConfig

Bases: BaseStructureConfig

Source code in griptape/config/google_structure_config.py
@define
class GoogleStructureConfig(BaseStructureConfig):
    global_drivers: StructureGlobalDriversConfig = field(
        default=Factory(
            lambda: StructureGlobalDriversConfig(
                prompt_driver=GooglePromptDriver(model="gemini-pro"),
                embedding_driver=GoogleEmbeddingDriver(model="models/embedding-001"),
                vector_store_driver=LocalVectorStoreDriver(
                    embedding_driver=GoogleEmbeddingDriver(model="models/embedding-001")
                ),
            )
        ),
        kw_only=True,
        metadata={"serializable": True},
    )
    task_memory: StructureTaskMemoryConfig = field(
        default=Factory(
            lambda self: StructureTaskMemoryConfig(
                query_engine=StructureTaskMemoryQueryEngineConfig(
                    prompt_driver=self.global_drivers.prompt_driver,
                    vector_store_driver=LocalVectorStoreDriver(embedding_driver=self.global_drivers.embedding_driver),
                ),
                extraction_engine=StructureTaskMemoryExtractionEngineConfig(
                    csv=StructureTaskMemoryExtractionEngineCsvConfig(prompt_driver=self.global_drivers.prompt_driver),
                    json=StructureTaskMemoryExtractionEngineJsonConfig(prompt_driver=self.global_drivers.prompt_driver),
                ),
                summary_engine=StructureTaskMemorySummaryEngineConfig(prompt_driver=self.global_drivers.prompt_driver),
            ),
            takes_self=True,
        ),
        kw_only=True,
        metadata={"serializable": True},
    )

global_drivers: StructureGlobalDriversConfig = field(default=Factory(lambda: StructureGlobalDriversConfig(prompt_driver=GooglePromptDriver(model='gemini-pro'), embedding_driver=GoogleEmbeddingDriver(model='models/embedding-001'), vector_store_driver=LocalVectorStoreDriver(embedding_driver=GoogleEmbeddingDriver(model='models/embedding-001')))), kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

task_memory: StructureTaskMemoryConfig = field(default=Factory(lambda self: StructureTaskMemoryConfig(query_engine=StructureTaskMemoryQueryEngineConfig(prompt_driver=self.global_drivers.prompt_driver, vector_store_driver=LocalVectorStoreDriver(embedding_driver=self.global_drivers.embedding_driver)), extraction_engine=StructureTaskMemoryExtractionEngineConfig(csv=StructureTaskMemoryExtractionEngineCsvConfig(prompt_driver=self.global_drivers.prompt_driver), json=StructureTaskMemoryExtractionEngineJsonConfig(prompt_driver=self.global_drivers.prompt_driver)), summary_engine=StructureTaskMemorySummaryEngineConfig(prompt_driver=self.global_drivers.prompt_driver)), takes_self=True), kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

OpenAiStructureConfig

Bases: BaseStructureConfig

Source code in griptape/config/openai_structure_config.py
@define
class OpenAiStructureConfig(BaseStructureConfig):
    global_drivers: StructureGlobalDriversConfig = field(
        default=Factory(
            lambda: StructureGlobalDriversConfig(
                prompt_driver=OpenAiChatPromptDriver(model="gpt-4"),
                image_generation_driver=OpenAiImageGenerationDriver(model="dall-e-2", image_size="512x512"),
                image_query_driver=OpenAiVisionImageQueryDriver(model="gpt-4-vision-preview"),
                embedding_driver=OpenAiEmbeddingDriver(model="text-embedding-3-small"),
                vector_store_driver=LocalVectorStoreDriver(
                    embedding_driver=OpenAiEmbeddingDriver(model="text-embedding-3-small")
                ),
            )
        ),
        kw_only=True,
        metadata={"serializable": True},
    )
    task_memory: StructureTaskMemoryConfig = field(
        default=Factory(
            lambda self: StructureTaskMemoryConfig(
                query_engine=StructureTaskMemoryQueryEngineConfig(
                    prompt_driver=self.global_drivers.prompt_driver,
                    vector_store_driver=LocalVectorStoreDriver(embedding_driver=self.global_drivers.embedding_driver),
                ),
                extraction_engine=StructureTaskMemoryExtractionEngineConfig(
                    csv=StructureTaskMemoryExtractionEngineCsvConfig(prompt_driver=self.global_drivers.prompt_driver),
                    json=StructureTaskMemoryExtractionEngineJsonConfig(prompt_driver=self.global_drivers.prompt_driver),
                ),
                summary_engine=StructureTaskMemorySummaryEngineConfig(prompt_driver=self.global_drivers.prompt_driver),
            ),
            takes_self=True,
        ),
        kw_only=True,
        metadata={"serializable": True},
    )

global_drivers: StructureGlobalDriversConfig = field(default=Factory(lambda: StructureGlobalDriversConfig(prompt_driver=OpenAiChatPromptDriver(model='gpt-4'), image_generation_driver=OpenAiImageGenerationDriver(model='dall-e-2', image_size='512x512'), image_query_driver=OpenAiVisionImageQueryDriver(model='gpt-4-vision-preview'), embedding_driver=OpenAiEmbeddingDriver(model='text-embedding-3-small'), vector_store_driver=LocalVectorStoreDriver(embedding_driver=OpenAiEmbeddingDriver(model='text-embedding-3-small')))), kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

task_memory: StructureTaskMemoryConfig = field(default=Factory(lambda self: StructureTaskMemoryConfig(query_engine=StructureTaskMemoryQueryEngineConfig(prompt_driver=self.global_drivers.prompt_driver, vector_store_driver=LocalVectorStoreDriver(embedding_driver=self.global_drivers.embedding_driver)), extraction_engine=StructureTaskMemoryExtractionEngineConfig(csv=StructureTaskMemoryExtractionEngineCsvConfig(prompt_driver=self.global_drivers.prompt_driver), json=StructureTaskMemoryExtractionEngineJsonConfig(prompt_driver=self.global_drivers.prompt_driver)), summary_engine=StructureTaskMemorySummaryEngineConfig(prompt_driver=self.global_drivers.prompt_driver)), takes_self=True), kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

StructureConfig

Bases: BaseStructureConfig

Source code in griptape/config/structure_config.py
@define
class StructureConfig(BaseStructureConfig):
    global_drivers: StructureGlobalDriversConfig = field(
        default=Factory(lambda: StructureGlobalDriversConfig()), kw_only=True, metadata={"serializable": True}
    )
    task_memory: StructureTaskMemoryConfig = field(
        default=Factory(
            lambda self: StructureTaskMemoryConfig(
                query_engine=StructureTaskMemoryQueryEngineConfig(
                    prompt_driver=self.global_drivers.prompt_driver,
                    vector_store_driver=LocalVectorStoreDriver(embedding_driver=self.global_drivers.embedding_driver),
                ),
                extraction_engine=StructureTaskMemoryExtractionEngineConfig(
                    csv=StructureTaskMemoryExtractionEngineCsvConfig(prompt_driver=self.global_drivers.prompt_driver),
                    json=StructureTaskMemoryExtractionEngineJsonConfig(prompt_driver=self.global_drivers.prompt_driver),
                ),
                summary_engine=StructureTaskMemorySummaryEngineConfig(prompt_driver=self.global_drivers.prompt_driver),
            ),
            takes_self=True,
        ),
        kw_only=True,
        metadata={"serializable": True},
    )

global_drivers: StructureGlobalDriversConfig = field(default=Factory(lambda: StructureGlobalDriversConfig()), kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

task_memory: StructureTaskMemoryConfig = field(default=Factory(lambda self: StructureTaskMemoryConfig(query_engine=StructureTaskMemoryQueryEngineConfig(prompt_driver=self.global_drivers.prompt_driver, vector_store_driver=LocalVectorStoreDriver(embedding_driver=self.global_drivers.embedding_driver)), extraction_engine=StructureTaskMemoryExtractionEngineConfig(csv=StructureTaskMemoryExtractionEngineCsvConfig(prompt_driver=self.global_drivers.prompt_driver), json=StructureTaskMemoryExtractionEngineJsonConfig(prompt_driver=self.global_drivers.prompt_driver)), summary_engine=StructureTaskMemorySummaryEngineConfig(prompt_driver=self.global_drivers.prompt_driver)), takes_self=True), kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

StructureGlobalDriversConfig

Bases: SerializableMixin

Source code in griptape/config/structure_global_drivers_config.py
@define
class StructureGlobalDriversConfig(SerializableMixin):
    prompt_driver: BasePromptDriver = field(
        kw_only=True, default=Factory(lambda: DummyPromptDriver()), metadata={"serializable": True}
    )
    image_generation_driver: BaseImageGenerationDriver = field(
        kw_only=True, default=Factory(lambda: DummyImageGenerationDriver()), metadata={"serializable": True}
    )
    image_query_driver: BaseImageQueryDriver = field(
        kw_only=True, default=Factory(lambda: DummyImageQueryDriver()), metadata={"serializable": True}
    )
    embedding_driver: BaseEmbeddingDriver = field(
        kw_only=True, default=Factory(lambda: DummyEmbeddingDriver()), metadata={"serializable": True}
    )
    vector_store_driver: BaseVectorStoreDriver = field(
        default=Factory(lambda: DummyVectorStoreDriver()), kw_only=True, metadata={"serializable": True}
    )
    conversation_memory_driver: Optional[BaseConversationMemoryDriver] = field(
        default=None, kw_only=True, metadata={"serializable": True}
    )

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, default=Factory(lambda: DummyEmbeddingDriver()), metadata={'serializable': True}) class-attribute instance-attribute

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

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

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

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

StructureTaskMemoryConfig

Bases: SerializableMixin

Source code in griptape/config/structure_task_memory_config.py
@define
class StructureTaskMemoryConfig(SerializableMixin):
    query_engine: StructureTaskMemoryQueryEngineConfig = field(
        kw_only=True, default=Factory(lambda: StructureTaskMemoryQueryEngineConfig()), metadata={"serializable": True}
    )
    extraction_engine: StructureTaskMemoryExtractionEngineConfig = field(
        kw_only=True,
        default=Factory(lambda: StructureTaskMemoryExtractionEngineConfig()),
        metadata={"serializable": True},
    )
    summary_engine: StructureTaskMemorySummaryEngineConfig = field(
        kw_only=True, default=Factory(lambda: StructureTaskMemorySummaryEngineConfig()), metadata={"serializable": True}
    )

extraction_engine: StructureTaskMemoryExtractionEngineConfig = field(kw_only=True, default=Factory(lambda: StructureTaskMemoryExtractionEngineConfig()), metadata={'serializable': True}) class-attribute instance-attribute

query_engine: StructureTaskMemoryQueryEngineConfig = field(kw_only=True, default=Factory(lambda: StructureTaskMemoryQueryEngineConfig()), metadata={'serializable': True}) class-attribute instance-attribute

summary_engine: StructureTaskMemorySummaryEngineConfig = field(kw_only=True, default=Factory(lambda: StructureTaskMemorySummaryEngineConfig()), metadata={'serializable': True}) class-attribute instance-attribute

StructureTaskMemoryExtractionEngineConfig

Bases: SerializableMixin

Source code in griptape/config/structure_task_memory_extraction_engine_config.py
@define
class StructureTaskMemoryExtractionEngineConfig(SerializableMixin):
    csv: StructureTaskMemoryExtractionEngineCsvConfig = field(
        kw_only=True,
        default=Factory(lambda: StructureTaskMemoryExtractionEngineCsvConfig()),
        metadata={"serializable": True},
    )
    json: StructureTaskMemoryExtractionEngineJsonConfig = field(
        kw_only=True,
        default=Factory(lambda: StructureTaskMemoryExtractionEngineJsonConfig()),
        metadata={"serializable": True},
    )

csv: StructureTaskMemoryExtractionEngineCsvConfig = field(kw_only=True, default=Factory(lambda: StructureTaskMemoryExtractionEngineCsvConfig()), metadata={'serializable': True}) class-attribute instance-attribute

json: StructureTaskMemoryExtractionEngineJsonConfig = field(kw_only=True, default=Factory(lambda: StructureTaskMemoryExtractionEngineJsonConfig()), metadata={'serializable': True}) class-attribute instance-attribute

StructureTaskMemoryExtractionEngineCsvConfig

Bases: SerializableMixin

Source code in griptape/config/structure_task_memory_extraction_engine_csv_config.py
@define
class StructureTaskMemoryExtractionEngineCsvConfig(SerializableMixin):
    prompt_driver: BasePromptDriver = field(
        kw_only=True, default=Factory(lambda: DummyPromptDriver()), metadata={"serializable": True}
    )

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

StructureTaskMemoryExtractionEngineJsonConfig

Bases: SerializableMixin

Source code in griptape/config/structure_task_memory_extraction_engine_json_config.py
@define
class StructureTaskMemoryExtractionEngineJsonConfig(SerializableMixin):
    prompt_driver: BasePromptDriver = field(
        kw_only=True, default=Factory(lambda: DummyPromptDriver()), metadata={"serializable": True}
    )

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

StructureTaskMemoryQueryEngineConfig

Bases: SerializableMixin

Source code in griptape/config/structure_task_memory_query_engine_config.py
@define
class StructureTaskMemoryQueryEngineConfig(SerializableMixin):
    prompt_driver: BasePromptDriver = field(
        kw_only=True, default=Factory(lambda: DummyPromptDriver()), metadata={"serializable": True}
    )
    vector_store_driver: BaseVectorStoreDriver = field(
        kw_only=True,
        default=Factory(lambda: DummyVectorStoreDriver(embedding_driver=DummyEmbeddingDriver())),
        metadata={"serializable": True},
    )

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

vector_store_driver: BaseVectorStoreDriver = field(kw_only=True, default=Factory(lambda: DummyVectorStoreDriver(embedding_driver=DummyEmbeddingDriver())), metadata={'serializable': True}) class-attribute instance-attribute

StructureTaskMemorySummaryEngineConfig

Bases: SerializableMixin

Source code in griptape/config/structure_task_memory_summary_engine_config.py
@define
class StructureTaskMemorySummaryEngineConfig(SerializableMixin):
    prompt_driver: BasePromptDriver = field(
        kw_only=True, default=Factory(lambda: DummyPromptDriver()), metadata={"serializable": True}
    )

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