RoutedDecoding
steerability.algorithms.output_control.routed_decoding
actions
Route actions for RoutedDecoding, each lowered to a PhasedDriver phase plan.
Generate
dataclass
Plain pass-through: delegate the row to the model with no splicing.
Source code in steerability/algorithms/output_control/routed_decoding/actions.py
58 59 60 61 62 63 64 65 66 67 | |
plan()
The phase plan: one unbounded Generated phase.
Source code in steerability/algorithms/output_control/routed_decoding/actions.py
62 63 64 | |
Prefix
dataclass
Canned prefix followed by generation: splice text, then delegate to the model.
Attributes:
| Name | Type | Description |
|---|---|---|
text |
str
|
The prefix text, tokenized without special tokens. |
Source code in steerability/algorithms/output_control/routed_decoding/actions.py
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | |
text
instance-attribute
plan()
The phase plan: an appended Fixed phase, then an unbounded Generated phase.
Source code in steerability/algorithms/output_control/routed_decoding/actions.py
50 51 52 | |
Respond
dataclass
Terminal canned response: splice text into the stream and generate nothing.
Attributes:
| Name | Type | Description |
|---|---|---|
text |
str
|
The canned response text, tokenized without special tokens. |
Source code in steerability/algorithms/output_control/routed_decoding/actions.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
text
instance-attribute
plan()
The phase plan: one appended Fixed phase.
Source code in steerability/algorithms/output_control/routed_decoding/actions.py
28 29 30 | |
generate()
A plain pass-through action.
Source code in steerability/algorithms/output_control/routed_decoding/actions.py
80 81 82 | |
prefix(text)
A canned-prefix-then-generate action carrying text.
Source code in steerability/algorithms/output_control/routed_decoding/actions.py
75 76 77 | |
respond(text)
A terminal canned-response action carrying text.
Source code in steerability/algorithms/output_control/routed_decoding/actions.py
70 71 72 | |
args
RoutedDecoding argument validation.
RoutedDecodingArgs
dataclass
Bases: BaseArgs
Arguments for RoutedDecoding.
Attributes:
| Name | Type | Description |
|---|---|---|
probes |
ProbeSet | ProbeSetFit | None
|
The probes whose decisions drive routing. Either a fitted |
rules |
Router | None
|
The |
allow_model_mismatch |
bool
|
When True, a fitted |
Source code in steerability/algorithms/output_control/routed_decoding/args.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | |
allow_model_mismatch = False
class-attribute
instance-attribute
probes = None
class-attribute
instance-attribute
rules = None
class-attribute
instance-attribute
validate(_init_data=None, **kwargs)
classmethod
Create and validate an Args instance from dict, kwargs, or existing instance.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
_init_data
|
Any | None
|
Existing instance, dict of args, or None. Named with underscore prefix to avoid collision with common field names like "data". |
None
|
Returns:
| Type | Description |
|---|---|
T
|
Validated instance of the Args class |
Source code in steerability/algorithms/core/base_args.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
control
RoutedDecoding control: route each row to a response strategy based on probe decisions.
RoutedDecoding
Bases: PhasedDriver
Decoding driver that routes each prompt to a response strategy via probe decisions.
RoutedDecoding pairs a ProbeSet (named calibrated probes scored in one read-only
forward) with a Router (ordered routes over the probe names, first match wins, evaluated
per row). Decoding proceeds in three steps:
- Probe pass: one read-only forward of the prompt, issued by
ProbeSet.read(), yields each probe's per-row signed score and decision (score >= 0). - Routing: the decisions feed
rules.route(), matching each row to its first satisfied route (or the default). - Execution: each row's action is lowered to a phase plan and executed by the
inherited plan runner.
Respond(text)splices the canned tokens with no generation;Prefix(text)splices the prefix then generates;Generate()delegates the row tomodel.generate. A rawlist[Fixed | Generated]is also accepted as an action. The composed logits processors and stopping criteria apply in every generated phase, so the driver contract is preserved.
The probes arrive fitted (a ProbeSet) or as a deferred recipe (a ProbeSetFit) that
steer() fits on the model the pipeline provides, so pipelines whose structural controls
produce the final weights fit on those weights. A fitted set whose recorded model
fingerprints differ from the pipeline's model raises at steer() unless
allow_model_mismatch=True.
The read wraps its forward in auxiliary_pass(aligned=True), the standard marking for
same-model forwards issued during decoding (same_model_forwards = True). Its capture
hooks are closures registered for the duration of that single forward and are removed
before decoding begins, so the re-processing of the prompt inside generated phases is
never re-scored.
Costs per row: a routed canned response costs one prompt forward and zero decode steps; a pass-through row costs one extra prompt forward compared to the default driver.
When state controls carrying behavior transforms share the pipeline, their hooks are live
during the probe pass. The pass is trajectory-aligned, so "all"-scope transforms, and
position-scoped ones covering prompt positions, apply to it, and probe scores are measured
under that steering; token_scope="after_prompt" transforms are inert (the pass contains
only prompt positions). Those controls' condition scorers, gates, and position counters
ignore the pass entirely, since it is auxiliary.
Padding is handled per row: pad positions are stripped (via the attention mask) before plan execution, and each returned row is the original padded prompt plus its continuation, so the pipeline's prompt-length slicing stays exact.
The most recent routing outcome is retained on latest_routes (one route name per row,
"default" for unmatched rows); per-probe decisions and scores are available on the probe
set's latest readings.
runtime_kwargs:
"canned_responses": dict mapping route names to replacement text, overriding theRespond/Prefixtext of matching routes for this call only. Keys that do not name aRespond/Prefixroute are ignored with a warning.
Source code in steerability/algorithms/output_control/routed_decoding/control.py
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 | |
Args = RoutedDecodingArgs
class-attribute
instance-attribute
RUNTIME_KWARGS_SCHEMA = [{'name': 'canned_responses', 'type': 'dict[str, str]', 'scope': 'call', 'description': 'Per-call override of Respond/Prefix text, keyed by route name.'}]
class-attribute
instance-attribute
args = self.Args.validate(*args, **kwargs)
instance-attribute
enabled = True
class-attribute
instance-attribute
extract_after = extract_after
instance-attribute
include_in_scoring = True
class-attribute
instance-attribute
same_model_forwards = True
class-attribute
instance-attribute
supports_batching = True
class-attribute
instance-attribute
tokenizer = None
class-attribute
instance-attribute
cleanup()
Release resources allocated during steer().
Override in subclasses that allocate GPU memory or other resources during steering. Default no-op.
Source code in steerability/algorithms/core/base_control.py
195 196 197 198 199 200 201 | |
clone_for_call(seed=None)
A configuration-preserving shallow clone for one generation call.
The clone shares steer-time artifacts (memories, steering vectors, attached tokenizers)
with the original but has its own attribute namespace, so per-call attribute mutation on
the clone never races another call using the original. When seed is given and the
control defines reseed(seed), the clone's client-side RNG is re-seeded.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
seed
|
int | None
|
Optional seed forwarded to the clone's |
None
|
Returns:
| Type | Description |
|---|---|
BaseControl
|
The clone. |
Source code in steerability/algorithms/core/base_control.py
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | |
decode(input_ids, attention_mask, model, logits_processors, stopping_criteria, runtime_kwargs, session=None, **gen_kwargs)
Read the probes on the prompt, route each row, and execute the routed phase plans.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_ids
|
Tensor
|
Prompt token ids |
required |
attention_mask
|
Tensor | None
|
Prompt attention mask matching |
required |
model
|
PreTrainedModel | None
|
The pipeline's model. |
required |
logits_processors
|
LogitsProcessorList
|
Composed logits-processor stack, applied in every generated phase. |
required |
stopping_criteria
|
StoppingCriteriaList
|
Composed stopping-criteria stack, applied in every generated phase. |
required |
runtime_kwargs
|
dict | None
|
Per-call parameters (see the class docstring). |
required |
Returns:
| Type | Description |
|---|---|
Tensor
|
Full sequence ids |
Raises:
| Type | Description |
|---|---|
RuntimeError
|
If no tokenizer is attached; |
TypeError
|
If a matched action cannot be lowered to a phase plan. |
ValueError
|
If a matched plan contains a prompt-replacing |
Warns:
| Type | Description |
|---|---|
UserWarning
|
If |
Source code in steerability/algorithms/output_control/routed_decoding/control.py
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 | |
export_constraint(runtime_kwargs=None)
The control's declarative constrained-decoding source, or None.
A control whose per-step masking compiles from a declarative source returns a
ConstraintSource; on a backend advertising Capability.GUIDED_DECODING the pipeline
renders it onto the engine's native structured-output parameters in place of the
control's live processor. The default returns None, which keeps the control on the live
processor mechanism.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
runtime_kwargs
|
dict | None
|
Per-call parameters supplied to |
None
|
Returns:
| Type | Description |
|---|---|
ConstraintSource | None
|
The constraint source, or None. |
Source code in steerability/algorithms/output_control/base.py
190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | |
export_generation_params(runtime_kwargs=None)
The control's sampling-expressible contribution, or None.
A control whose behavior is expressible as normalized generation parameters returns a
mapping over a subset of stop_strings, stop_token_ids, max_new_tokens, and
min_new_tokens; the pipeline merges it into the call's GenerationParams (stop rules
union with the caller's; token bounds only tighten) and does not additionally collect
the control's live processors and criteria for that call, so the control executes on
every backend through the session's composed stop rules. The default returns None, which
keeps the control on the live processor/criteria mechanism.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
runtime_kwargs
|
dict | None
|
Per-call parameters supplied to |
None
|
Returns:
| Type | Description |
|---|---|
Mapping[str, Any] | None
|
The parameter contribution, or None. |
Source code in steerability/algorithms/output_control/base.py
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | |
export_processor_spec(runtime_kwargs=None)
The control's engine-hosted processor form, or None.
A control whose per-step logit math is expressible in an engine's served processor
vocabulary returns a ProcessorSpec; on a backend advertising
Capability.PER_STEP_LOGIT_SPECS with the spec's kind, the pipeline submits it as a
ProcessorSpecEntry in place of the control's live processor. The default returns
None, which keeps the control on the live processor mechanism.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
runtime_kwargs
|
dict | None
|
Per-call parameters supplied to |
None
|
Returns:
| Type | Description |
|---|---|
ProcessorSpec | None
|
The processor spec, or None. |
Source code in steerability/algorithms/output_control/base.py
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | |
export_state()
The fitted probe set under the "probes" key (after steer()).
Source code in steerability/algorithms/output_control/routed_decoding/control.py
143 144 145 146 147 | |
fit_identity()
The ProbeSetFit recipe, or None when the probes arrived fitted.
Source code in steerability/algorithms/output_control/routed_decoding/control.py
157 158 159 160 161 | |
frozen_form(state)
A same-class frozen form: the fitted ProbeSet plus the recipe's routing rules.
Source code in steerability/algorithms/output_control/routed_decoding/control.py
149 150 151 152 153 154 155 | |
get_logits_processors(input_ids, runtime_kwargs, **kwargs)
The control's logits processors for the current generation.
Called once per generate() / compute_logprobs() call, after input and state
controls have prepared the prompt (mirrors StateControl.get_hooks). **kwargs
carries attention_mask and the caller's generation kwargs. Returned objects
follow the HF LogitsProcessor convention; in-list order is preserved by the composition.
A processor must behave as a function of (prefix_ids, scores). Internal state is
permitted only as memoization keyed on the prefix and must re-derive on a prefix mismatch,
since drivers may restart, rewind, or reorder sequences, and scoring replays prefixes
teacher-forced (subclass common.processors.base.PrefixKeyedProcessor to satisfy this
mechanically). Return fresh processor instances from this hook; it is invoked once per call
precisely so that per-generation state is isolated.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_ids
|
Tensor
|
The steered prompt token ids |
required |
runtime_kwargs
|
dict | None
|
Per-call parameters supplied to |
required |
Returns:
| Type | Description |
|---|---|
list
|
A list of HF |
Source code in steerability/algorithms/output_control/base.py
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | |
get_stopping_criteria(input_ids, runtime_kwargs, **kwargs)
The control's stopping criteria.
Not applied during scoring (there is no loop to stop). Same call convention as
get_logits_processors.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_ids
|
Tensor
|
The steered prompt token ids |
required |
runtime_kwargs
|
dict | None
|
Per-call parameters supplied to |
required |
Returns:
| Type | Description |
|---|---|
list
|
A list of HF |
Source code in steerability/algorithms/output_control/base.py
139 140 141 142 143 144 145 146 147 148 149 150 151 152 | |
max_rollouts_per_query()
1: every route lowers to at most one Generated phase, and the probe pass is a
read-only capture rather than a generation.
Source code in steerability/algorithms/output_control/routed_decoding/control.py
103 104 105 106 | |
plan(prompt_text, params)
Return the phase plan for one example. Subclasses override.
Source code in steerability/algorithms/output_control/common/drivers/phased.py
102 103 104 | |
requirements()
In-process torch or hidden-state capture at generate; the probe pass reads the prompt's hidden states, which a backend must either host in process or return.
Source code in steerability/algorithms/output_control/routed_decoding/control.py
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | |
steer(model=None, tokenizer=None, session=None, **__)
Attach the tokenizer, resolve the probes, and validate their identity.
A ProbeSetFit is fitted here, on the model or session the pipeline provides (its
StatsSpec, when present, is estimated first). A fitted ProbeSet is checked
instead, venue-matched: with a live model, any probe whose recorded
model_fingerprint differs raises unless allow_model_mismatch=True (probes with no
recorded fingerprint are exempt); without one, the recorded model_ref and
model_type are compared against the session layout's, with unrecorded values
exempt.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model
|
PreTrainedModel | None
|
The pipeline's model, or None on backends without a live model. |
None
|
tokenizer
|
PreTrainedTokenizerBase | None
|
Tokenizer used for splicing and padding. If None, attempts to retrieve from model attributes. |
None
|
session
|
SteeringSession | None
|
|
None
|
Returns:
| Type | Description |
|---|---|
PreTrainedModel | None
|
The input model, unchanged. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If a fitted set's recorded identity differs from the venue's, or a route references a probe name the set does not define. |
Source code in steerability/algorithms/output_control/routed_decoding/control.py
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | |
steer_access()
ModelAccess.CAPTURE when probes is a ProbeSetFit (the fit extracts hidden
states), ModelAccess.FACTS for a fitted ProbeSet (identity checks read the session
layout).
Source code in steerability/algorithms/output_control/routed_decoding/control.py
129 130 131 132 133 134 135 | |
steer_fits()
One ("ProbeSetFit", "calibrated") entry when the probes arrive as a fit recipe.
Source code in steerability/algorithms/output_control/routed_decoding/control.py
137 138 139 140 141 | |
routing
Predicates and ordered routes over named per-row boolean decisions.
A Predicate is a boolean expression over decision names, built from P(name) leaves and the
operators & (and), | (or), and ~ (not), and evaluated per row against a mapping from
decision name to per-row values. Probes are the canonical producer of such decisions, but any
named boolean source works. Router holds an ordered list of Routes with first-match-wins
semantics, evaluated independently per row, so one batched call can route each prompt to a
different route.
Actions are opaque payloads: a Route carries whatever the consumer interprets (e.g. a decoding
driver lowers actions to phase plans). This module depends only on torch and the standard
library.
Predicate
Bases: ABC
Boolean expression over named per-row decisions, evaluated per row.
Leaves are created with P(name); composites are built with the operators & (and),
| (or), and ~ (not). evaluate() takes a mapping from decision name to per-row values
(1-D bool tensors of a common length, or a bare bool for single-row batches) and returns a
bool tensor of shape [num_rows]. repr() renders the expression infix, e.g.
(legal & ~advice).
Source code in steerability/algorithms/output_control/routed_decoding/routing.py
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | |
decision_names()
abstractmethod
The set of decision names this predicate references.
Source code in steerability/algorithms/output_control/routed_decoding/routing.py
113 114 115 | |
evaluate(decisions)
Evaluate the predicate against per-row decisions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
decisions
|
Mapping[str, Tensor | bool]
|
Mapping from decision name to a 1-D bool tensor of shape |
required |
Returns:
| Type | Description |
|---|---|
Tensor
|
Bool tensor of shape |
Raises:
| Type | Description |
|---|---|
KeyError
|
If the predicate references a decision name absent from |
ValueError
|
If the decision tensors are malformed (see |
Source code in steerability/algorithms/output_control/routed_decoding/routing.py
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | |
Route
dataclass
One named route: a predicate and the action to take when it matches.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
Route name, unique within a |
when |
Predicate
|
The predicate that must hold for a row to match this route. |
action |
Any
|
Opaque payload interpreted by the consumer (e.g. lowered to a phase plan by a decoding driver). |
Source code in steerability/algorithms/output_control/routed_decoding/routing.py
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 | |
action
instance-attribute
name
instance-attribute
when
instance-attribute
Router
Ordered routes with first-match-wins semantics, evaluated independently per row.
Each route pairs a Predicate with an action payload. route() evaluates every route's
predicate over all rows, then assigns each row the first route whose predicate holds; rows
matching no route fall to the default (returned as None, with default_action available to
the consumer).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
routes
|
Sequence[Route]
|
Ordered routes; earlier routes take precedence. Names must be unique. |
required |
default_action
|
Any
|
Action payload for rows matching no route. Opaque, like |
None
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If two routes share a name. |
TypeError
|
If an entry is not a |
Source code in steerability/algorithms/output_control/routed_decoding/routing.py
245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | |
default_action = default_action
instance-attribute
routes = routes
instance-attribute
decision_names()
The union of decision names referenced by all routes.
Source code in steerability/algorithms/output_control/routed_decoding/routing.py
306 307 308 309 310 311 | |
describe()
Render the route set as a plain-text flowchart.
One line per route, in precedence order, followed by the default line. The action
column uses str(action) when the action type defines its own __str__, else the
type name.
Returns:
| Type | Description |
|---|---|
str
|
The multi-line flowchart string. |
Source code in steerability/algorithms/output_control/routed_decoding/routing.py
330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 | |
route(decisions)
Match each row to its first satisfied route.
Every route's predicate is evaluated once over all rows, then each row takes the first route whose predicate holds for it. There is no batch-wide short-circuit; rows are routed independently.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
decisions
|
Mapping[str, Tensor | bool]
|
Mapping from decision name to per-row decisions (see
|
required |
Returns:
| Type | Description |
|---|---|
list[Route | None]
|
One entry per row: the matched |
list[Route | None]
|
default route). |
Raises:
| Type | Description |
|---|---|
KeyError
|
If a route references a decision name absent from |
ValueError
|
If the decision tensors are malformed. |
Source code in steerability/algorithms/output_control/routed_decoding/routing.py
275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 | |
validate_names(available)
Check that every referenced decision name exists among available.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
available
|
set[str]
|
The decision names the consumer provides at routing time. |
required |
Raises:
| Type | Description |
|---|---|
ValueError
|
If any route references a decision name absent from |
Source code in steerability/algorithms/output_control/routed_decoding/routing.py
313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 | |
P(name)
Leaf predicate over the named decision.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
The decision name, matching a key of the decisions mapping at evaluation time. |
required |
Returns:
| Type | Description |
|---|---|
Predicate
|
A |
Source code in steerability/algorithms/output_control/routed_decoding/routing.py
197 198 199 200 201 202 203 204 205 206 | |