rules
__all__ = ['BaseRule', 'JsonSchemaRule', 'Rule', 'Ruleset']
module-attribute
Bases:
ABC, [`SerializableMixin`](../mixins/serializable_mixin.md#griptape.mixins.serializable_mixin.SerializableMixin "SerializableMixin (griptape.mixins.serializable_mixin.SerializableMixin)")Source Code in griptape/rules/base_rule.py
@define() class BaseRule(ABC, SerializableMixin): value: Any = field(metadata={"serializable": True}) meta: dict[str, Any] = field(factory=dict, kw_only=True) def __str__(self) -> str: return self.to_text() @abstractmethod def to_text(self) -> str: ...
meta = field(factory=dict, kw_only=True)
class-attribute instance-attributevalue = field(metadata={'serializable': True})
class-attribute instance-attribute
str()
Source Code in griptape/rules/base_rule.py
def __str__(self) -> str: return self.to_text()
to_text()abstractmethod
Source Code in griptape/rules/base_rule.py
@abstractmethod def to_text(self) -> str: ...
JsonSchemaRule
Bases:
BaseRule
Source Code in griptape/rules/json_schema_rule.py
@define() class JsonSchemaRule(BaseRule): value: dict = field(metadata={"serializable": True}) generate_template: J2 = field(default=Factory(lambda: J2("rules/json_schema.j2"))) def to_text(self) -> str: return self.generate_template.render(json_schema=json.dumps(self.value))
generate_template = field(default=Factory(lambda: J2('rules/json_schema.j2')))
class-attribute instance-attributevalue = field(metadata={'serializable': True})
class-attribute instance-attribute
to_text()
Source Code in griptape/rules/json_schema_rule.py
def to_text(self) -> str: return self.generate_template.render(json_schema=json.dumps(self.value))
Rule
Bases:
BaseRule
Source Code in griptape/rules/rule.py
@define() class Rule(BaseRule): value: str = field(metadata={"serializable": True}) def to_text(self) -> str: return self.value
value = field(metadata={'serializable': True})
class-attribute instance-attribute
to_text()
Source Code in griptape/rules/rule.py
def to_text(self) -> str: return self.value
Ruleset
Bases:
SerializableMixin
Source Code in griptape/rules/ruleset.py
@define class Ruleset(SerializableMixin): id: str = field(default=Factory(lambda: uuid.uuid4().hex), kw_only=True, metadata={"serializable": True}) name: str = field( default=Factory(lambda self: self.id, takes_self=True), metadata={"serializable": True}, ) ruleset_driver: BaseRulesetDriver = field( default=Factory(lambda: Defaults.drivers_config.ruleset_driver), kw_only=True ) meta: dict[str, Any] = field(factory=dict, kw_only=True, metadata={"serializable": True}) rules: Sequence[BaseRule] = field(factory=list, metadata={"serializable": True}) def __attrs_post_init__(self) -> None: rules, meta = self.ruleset_driver.load(self.name) self.rules = [*rules, *self.rules] self.meta = {**meta, **self.meta}
id = field(default=Factory(lambda: uuid.uuid4().hex), kw_only=True, metadata={'serializable': True})
class-attribute instance-attributemeta = field(factory=dict, kw_only=True, metadata={'serializable': True})
class-attribute instance-attributename = field(default=Factory(lambda self: self.id, takes_self=True), metadata={'serializable': True})
class-attribute instance-attributerules = field(factory=list, metadata={'serializable': True})
class-attribute instance-attributeruleset_driver = field(default=Factory(lambda: Defaults.drivers_config.ruleset_driver), kw_only=True)
class-attribute instance-attribute
attrs_post_init()
Source Code in griptape/rules/ruleset.py
def __attrs_post_init__(self) -> None: rules, meta = self.ruleset_driver.load(self.name) self.rules = [*rules, *self.rules] self.meta = {**meta, **self.meta}
- On this page
- JsonSchemaRule
- Rule
- Ruleset
Could this page be better? Report a problem or suggest an addition!