base_extraction_engine
Adapted from the Griptape AI Framework documentation.
Bases:
ABCSource Code in griptape/engines/extraction/base_extraction_engine.py
@define class BaseExtractionEngine(ABC): max_token_multiplier: float = field(default=0.5, kw_only=True) chunk_joiner: str = field(default="\n\n", kw_only=True) prompt_driver: BasePromptDriver = field( default=Factory(lambda: Defaults.drivers_config.prompt_driver), kw_only=True ) chunker: BaseChunker = field( default=Factory( lambda self: TextChunker(tokenizer=self.prompt_driver.tokenizer, max_tokens=self.max_chunker_tokens), takes_self=True, ), kw_only=True, ) @max_token_multiplier.validator # pyright: ignore[reportAttributeAccessIssue] def validate_max_token_multiplier(self, _: Attribute, max_token_multiplier: int) -> None: if max_token_multiplier > 1: raise ValueError("has to be less than or equal to 1") if max_token_multiplier <= 0: raise ValueError("has to be greater than 0") @property def max_chunker_tokens(self) -> int: return round(self.prompt_driver.tokenizer.max_input_tokens * self.max_token_multiplier) @property def min_response_tokens(self) -> int: return round( self.prompt_driver.tokenizer.max_input_tokens - self.prompt_driver.tokenizer.max_input_tokens * self.max_token_multiplier, ) def extract_text( self, text: str, *, rulesets: Optional[list[Ruleset]] = None, **kwargs, ) -> ListArtifact: return self.extract_artifacts(ListArtifact([TextArtifact(text)]), rulesets=rulesets, **kwargs) @abstractmethod def extract_artifacts( self, artifacts: ListArtifact[TextArtifact], *, rulesets: Optional[list[Ruleset]] = None, **kwargs, ) -> ListArtifact: ...
chunk_joiner = field(default='\n\n', kw_only=True)
class-attribute instance-attributechunker = field(default=Factory(lambda self: TextChunker(tokenizer=self.prompt_driver.tokenizer, max_tokens=self.max_chunker_tokens), takes_self=True), kw_only=True)
class-attribute instance-attributemax_chunker_tokens
propertymax_token_multiplier = field(default=0.5, kw_only=True)
class-attribute instance-attributemin_response_tokens
propertyprompt_driver = field(default=Factory(lambda: Defaults.drivers_config.prompt_driver), kw_only=True)
class-attribute instance-attribute
extract_artifacts(artifacts, *, rulesets=None, **kwargs)abstractmethod
Source Code in griptape/engines/extraction/base_extraction_engine.py
@abstractmethod def extract_artifacts( self, artifacts: ListArtifact[TextArtifact], *, rulesets: Optional[list[Ruleset]] = None, **kwargs, ) -> ListArtifact: ...
extract_text(text, *, rulesets=None, **kwargs)
Source Code in griptape/engines/extraction/base_extraction_engine.py
def extract_text( self, text: str, *, rulesets: Optional[list[Ruleset]] = None, **kwargs, ) -> ListArtifact: return self.extract_artifacts(ListArtifact([TextArtifact(text)]), rulesets=rulesets, **kwargs)
validatemax_token_multiplier(, max_token_multiplier)
Source Code in griptape/engines/extraction/base_extraction_engine.py
@max_token_multiplier.validator # pyright: ignore[reportAttributeAccessIssue] def validate_max_token_multiplier(self, _: Attribute, max_token_multiplier: int) -> None: if max_token_multiplier > 1: raise ValueError("has to be less than or equal to 1") if max_token_multiplier <= 0: raise ValueError("has to be greater than 0")
Could this page be better? Report a problem or suggest an addition!