Skip to content

ReasonerConfig

relationalai.config.config_reasoners_fields

Common configuration fields for a reasoner.

This model defines the fields shared by all reasoner types. You set these fields under one of the reasoner subsections in raiconfig.yaml:

  • reasoners.logic (logic reasoner, see LogicReasonerConfig for additional logic-specific settings)
  • reasoners.predictive (predictive reasoner)
  • reasoners.prescriptive (prescriptive reasoner)

This model covers config-managed defaults only. Lifecycle settings such as auto_suspend_mins and await_storage_vacuum are no longer supported in config and are ignored with a warning.

Minimal YAML (in raiconfig.yaml) configuring only the logic reasoner:

default_connection: sf
connections:
sf:
type: snowflake
# ...
reasoners:
logic:
size: HIGHMEM_X64_S
query_timeout_mins: 30

Any omitted subsections (for example reasoners.predictive) keep their built-in defaults.

Configure reasoner defaults using a dict:

>>> from relationalai.config import create_config
>>> cfg = create_config(reasoners={
... "logic": {
... "size": "HIGHMEM_X64_S",
... "query_timeout_mins": 30,
... }
... })

Configure reasoner defaults using an explicit ReasonerConfig instance:

>>> from relationalai.config import create_config, ReasonerConfig
>>> cfg = create_config(
... reasoners={"predictive": ReasonerConfig(size="HIGHMEM_X64_S", query_timeout_mins=30)},
... )
ReasonerConfig.name: (str, optional)

Optional name for the reasoner instance.

ReasonerConfig.size: str

Compute size (for example, "HIGHMEM_X64_S"). See config.config_reasoners_fields.EngineSize for valid size values.

ReasonerConfig.query_timeout_mins: (int, optional)

Abort queries that exceed this duration.

ReasonerConfig.settings: (dict, optional)

Backend-specific settings payload.

ReasonerConfigpydantic.BaseModel
 config > config_reasoners_fields
├──  LogicReasonerConfig
└──  PrescriptiveReasonerConfig