Skip to content

Dm Invoker

[BETA] Modules concerning the decisions model invokers used in Gen AI applications.

OpenRouterDMInvoker(model_name, api_key=None, provider=None, default_hyperparameters=None, retry_config=None)

Bases: BaseDMInvoker

[BETA] A decisions model invoker to interact with OpenRouter API.

Supported features
  1. Structured state input.
  2. Noul, Choice, and Score questions.
  3. OpenRouter provider routing preferences.
  4. Retry and timeout handling through the shared invoker policy.
  5. Per-call client lifecycle management.
Example
dm_invoker = OpenRouterDMInvoker(
    model_name="typesafe/jev-1.13",
    api_key="<OPENROUTER_API_KEY>",
    provider=["typesafe"],
)
result = await dm_invoker.invoke(
    state="A customer requests a refund.",
    questions={"refund": DMQuestion.noul(instructions="Is a refund requested?")},
)

Initialize the beta OpenRouter decisions model invoker.

Parameters:

Name Type Description Default
model_name str

TypeSafe decisions model name available through OpenRouter.

required
api_key str | None

OpenRouter API key. Defaults to the OPENROUTER_API_KEY environment variable.

None
provider str | list[str] | dict[str, Any] | None

OpenRouter provider routing preferences. A provider name or list becomes an order preference; a dictionary supports advanced routing options. Defaults to None.

None
default_hyperparameters dict[str, Any] | None

Default request options for each invocation. Defaults to None.

None
retry_config RetryConfig | dict[str, Any] | None

Shared retry and timeout configuration. Defaults to None.

None

Raises:

Type Description
ValueError

If the API key is missing.