sammo.base

sammo.base#

Module Contents#

Classes#

Costs

Runner

Result

NonEmptyResult

TextResult

LLMResult

ParseResult

EmptyResult

TimeoutResult

EvaluationScore

CompiledQuery

Component

Base class for all components.

ScalarComponent

ListComponent

StoreAs

Template

Simple template-based text component that uses Python’s string formatting to fill in values. The template variables available are:

VerbatimText

API#

class sammo.base.Costs(input_costs=0, output_costs=0)#

Initialization

property total#
to_dict()#
class sammo.base.Runner#

Initialization

reset_costs()#
property costs#
class sammo.base.Result(value, parent=None, stored_values=None)#

Initialization

to_json()#
classmethod bfs(start, match_condition: beartype.typing.Callable)#

Breadth-first search returning all nodes that match the given condition.

Args:

match_condition: A function that returns True if a node matches.

with_parent(parent)#
clone_with_stored_value(name, value)#
property parents#
class sammo.base.NonEmptyResult(value, parent=None, stored_values=None)#

Bases: sammo.base.Result

Initialization

class sammo.base.TextResult(value, parent=None, stored_values=None)#

Bases: sammo.base.NonEmptyResult

Initialization

class sammo.base.LLMResult(value, parent=None, stored_values=None, extra_data=None, history=None, retries=0, costs=None, request_text=None, fingerprint=None)#

Bases: sammo.base.NonEmptyResult

Initialization

property costs#
class sammo.base.ParseResult(value, parent=None, stored_values=None)#

Bases: sammo.base.NonEmptyResult

Initialization

class sammo.base.EmptyResult(value=None, parent=None, stored_values=None)#

Bases: sammo.base.Result

Initialization

class sammo.base.TimeoutResult(value=None, parent=None, stored_values=None)#

Bases: sammo.base.EmptyResult

Initialization

class sammo.base.EvaluationScore(score, mistakes=None, details=None)#

Initialization

to_dict(name_score='score')#
class sammo.base.CompiledQuery(query, child_selector=None)#

Initialization

classmethod from_path(path_descriptor: str | dict | beartype.typing.Self)#
class sammo.base.Component(child: beartype.typing.Self | str, name: str | None = None)#

Base class for all components.

Components are the building blocks of a search space.

Args:

child: Child component. This can be another component or a string. name: The name of the component. If not provided, the class name is used.

Initialization

NEEDS_SCHEDULING = False#
query(regex_or_query=None, return_path=False, max_matches=1)#

Convinience method to query the component tree for a specific component. Uses pg.query under the hood.

Parameters:
  • regex_or_query – A regex string or a query dict or a CompiledQuery object.

  • return_path – Whether to return a tuple of (path, value) or just the value.

  • max_matches – The maximum number of matches to return.

Returns:

Either component, tuple of (path, component) or None if no match was found.

replace_static_text(regex_or_query: str | dict | sammo.base.CompiledQuery, new_text: str)#
property text#
print_structure()#
store_as(name: str)#
class sammo.base.ScalarComponent(child: beartype.typing.Self | str, name: str | None = None)#

Bases: sammo.base.Component

class sammo.base.ListComponent(child: beartype.typing.Self | str, name: str | None = None)#

Bases: sammo.base.Component

class sammo.base.StoreAs#
class sammo.base.Template(template_text: str, name: str | None = None, **dependencies: dict)#

Bases: sammo.base.ScalarComponent

Simple template-based text component that uses Python’s string formatting to fill in values. The template variables available are:

  • {inputs[id].attribute} to refer to a row value

  • {constants.attribute} to refer to one of the constants

Initialization

property text#
class sammo.base.VerbatimText(template: str, name: str | None = None)#

Bases: sammo.base.Template