fabricatio_rule.capabilities.check
A class that provides the capability to check strings and objects against rules and guidelines.
Classes
Class for validating strings/objects against predefined rules and guidelines. |
Module Contents
- class fabricatio_rule.capabilities.check.Check(/, **data: Any)
Bases:
fabricatio_judge.capabilities.advanced_judge.EvidentlyJudge,fabricatio_core.capabilities.propose.Propose,abc.ABCClass for validating strings/objects against predefined rules and guidelines.
This capability combines rule-based judgment and proposal generation to provide structured validation results with actionable improvement suggestions.
- async draft_ruleset(ruleset_requirement: str, rule_count: int = 0, **kwargs: Unpack[fabricatio_core.models.kwargs_types.ValidateKwargs[fabricatio_rule.models.rule.Rule]]) fabricatio_rule.models.rule.RuleSet | None
Generate rule set based on requirement description.
- Parameters:
- Returns:
Validated ruleset object or None if generation fails
- Return type:
Optional[RuleSet]
Notes
Requires valid template configuration in configs.templates
Returns None if any step in rule generation fails
Uses alist_str for requirement breakdown and iterative rule proposal
- async check_string_against_rule(input_text: str, rule: fabricatio_rule.models.rule.Rule, reference: str = '', **kwargs: Unpack[fabricatio_core.models.kwargs_types.ValidateKwargs[fabricatio_improve.models.improve.Improvement]]) fabricatio_improve.models.improve.Improvement | None
Validate text against specific rule.
- Parameters:
- Returns:
Suggested improvement if violation detected
- Return type:
Optional[Improvement]
Notes
Uses evidently_judge to determine violation presence
Renders template using check_string_template for proposal
Proposes Improvement only when violation is confirmed
- async check_obj_against_rule[M: (fabricatio_core.models.generic.Display, fabricatio_core.models.generic.WithBriefing)](obj: M, rule: fabricatio_rule.models.rule.Rule, reference: str = '', **kwargs: Unpack[fabricatio_core.models.kwargs_types.ValidateKwargs[fabricatio_improve.models.improve.Improvement]]) fabricatio_improve.models.improve.Improvement | None
Validate object against rule using text representation.
- Parameters:
- Returns:
Improvement suggestion if issues found
- Return type:
Optional[Improvement]
Notes
Requires obj to implement display() or briefing property
Raises TypeError for incompatible object types
Converts object to text before string validation
- async check_string(input_text: str, ruleset: fabricatio_rule.models.rule.RuleSet, reference: str = '', **kwargs: Unpack[fabricatio_core.models.kwargs_types.ValidateKwargs[fabricatio_improve.models.improve.Improvement]]) List[fabricatio_improve.models.improve.Improvement] | None
Validate text against full ruleset.
- Parameters:
- Returns:
First detected improvement
- Return type:
Optional[Improvement]
Notes
Checks rules sequentially and returns first violation
Halts validation after first successful improvement proposal
Maintains rule execution order from ruleset.rules list
- async check_obj[M: (fabricatio_core.models.generic.Display, fabricatio_core.models.generic.WithBriefing)](obj: M, ruleset: fabricatio_rule.models.rule.RuleSet, reference: str = '', **kwargs: Unpack[fabricatio_core.models.kwargs_types.ValidateKwargs[fabricatio_improve.models.improve.Improvement]]) List[fabricatio_improve.models.improve.Improvement] | None
Validate object against full ruleset.
- Parameters:
- Returns:
First detected improvement
- Return type:
Optional[Improvement]
Notes
Uses check_obj_against_rule for individual rule checks
Maintains same early termination behavior as check_string
Validates object through text conversion mechanism