Skip to content

Component

Invoker-based component templates used across Gen AI applications.

LMComponent(lm_invoker)

Bases: Component

A template component for LM-based components used across Gen AI applications.

Examples:

Define an LM component class

class MyLMComponent(LMComponent):
    prompt_vars = {"context", "query"}
    default_system_template = "Answer the query based on the following context: {context}"
    default_user_template = "{query}"

Init with LM invoker

component = MyLMComponent(lm_invoker=lm_invoker)

Init with LM configuration

component = MyLMComponent.from_config(
    model_id="openai/gpt-5.4-nano",
    config={"response_schema": ResponseSchema},
)

Attributes:

Name Type Description
prompt_vars set[str]

Required prompt variables.

default_system_template str

Default system template.

default_user_template str

Default user template.

Initializes LMComponent with an LM invoker.

Parameters:

Name Type Description Default
lm_invoker BaseLMInvoker

The language model invoker.

required

Raises:

Type Description
ValueError

from_config(model_id, credentials=None, config=None, system_template=None, user_template=None, prompt_builder_kwargs=None, **kwargs) classmethod

Builds an LM invoker from config and initializes the component.

Parameters:

Name Type Description Default
model_id str | ModelId

The model ID.

required
credentials str | dict[str, Any] | None

Model credentials. Defaults to None.

None
config dict[str, Any] | None

Model configuration. Defaults to None.

None
system_template str | None

System template. Defaults to None.

None
user_template str | None

User template. Defaults to None.

None
prompt_builder_kwargs dict[str, Any] | None

Prompt builder kwargs. Defaults to None.

None
**kwargs Any

Additional constructor kwargs for subclasses.

{}

Returns:

Name Type Description
Self Self

A new LMComponent instance.