20 lines
858 B
Python
20 lines
858 B
Python
from dataclasses import dataclass, field
|
|
from typing import Any, Dict, List
|
|
from guardrails_ai.types import Validator
|
|
from guardrails.classes.execution.guard_execution_options import GuardExecutionOptions
|
|
from guardrails.classes.output_type import OutputTypes
|
|
from guardrails.types.validator import ValidatorMap
|
|
|
|
|
|
@dataclass
|
|
class ProcessedSchema:
|
|
"""This class is just a container for the various pieces of information we
|
|
extract from the various schema wrappers a user can pass in; i.e. RAIL or
|
|
Pydantic."""
|
|
|
|
output_type: OutputTypes = field(default=OutputTypes.STRING)
|
|
validators: List[Validator] = field(default_factory=list)
|
|
validator_map: ValidatorMap = field(default_factory=dict)
|
|
json_schema: Dict[str, Any] = field(default_factory=dict)
|
|
exec_opts: GuardExecutionOptions = field(default_factory=GuardExecutionOptions)
|