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. |