run-llama/llama_index · error · ValueError
Component {component} is not a supported transformation comp
Error message
Component {component} is not a supported transformation component. What it means
Thrown by ConfigurableComponent.from_component() in transformations.py when the transformation component you pass is not registered in the configurable-transformation enum. That enum is built dynamically (build_configurable_transformation_enum()) and only contains transformations whose dependencies import successfully, e.g. NER transformations behind the llama-index-embeddings/llms extras.
Source
Thrown at llama-index-core/llama_index/core/ingestion/transformations.py:100
name: str = Field(
description="Unique and human-readable name for the type of transformation"
)
transformation_category: TransformationCategories = Field(
description="Type of transformation"
)
component_type: Type[BaseComponent] = Field(
description="Type of component that implements the transformation"
)
class ConfigurableComponent(Enum):
@classmethod
def from_component(cls, component: BaseComponent) -> "ConfigurableComponent":
component_class = type(component)
for component_type in cls:
if component_type.value.component_type == component_class:
return component_type
raise ValueError(
f"Component {component} is not a supported transformation component."
)
def build_configured_transformation(
self, component: BaseComponent
) -> "ConfiguredTransformation":
component_type = self.value.component_type
if not isinstance(component, component_type):
raise ValueError(
f"The enum value {self} is not compatible with component of "
f"type {type(component)}"
)
return ConfiguredTransformation[component_type]( # type: ignore
component=component, name=self.value.name
)
def build_configurable_transformation_enum() -> ConfigurableComponent:View on GitHub (pinned to afd0fef371)
Solutions
- Install the optional dependency the transformation needs so it appears in the enum.
- Pass the exact registered class; for custom transformations build ConfiguredTransformation directly instead of going through the enum.
- Extend the enum builder with a ComponentConfig for your custom transformation.
Example fix
# before
member = ConfigurableComponent.from_component(my_redact_transform) # raises
# after: construct directly
from llama_index.core.ingestion.transformations import ConfiguredTransformation
cfg = ConfiguredTransformation[MyRedactTransform](
component=my_redact_transform, name='my_redact'
) Defensive patterns
Strategy: type-guard
Validate before calling
from llama_index.core.ingestion.transformations import ConfigurableComponent
def is_supported_transformation(component) -> bool:
return any(m.value.component_type == type(component) for m in ConfigurableComponent) Type guard
def is_supported_transformation(component: BaseComponent) -> bool:
return any(m.value.component_type == type(component) for m in ConfigurableComponent) Try / catch
try:
member = ConfigurableComponent.from_component(t)
except ValueError:
from llama_index.core.ingestion.transformations import ConfiguredTransformation
cfg = ConfiguredTransformation[type(t)](component=t, name=type(t).__name__) Prevention
- Install optional transformation dependencies up front
- Build ConfiguredTransformation directly for custom transformations
- Avoid subclassing registered transformations for enum lookup
When it happens
Trigger: Calling ConfigurableComponent.from_component(component) with a custom transformation, a subclass of a registered transformation (exact type() match fails), or a transformation whose optional dependency is not installed.
Common situations: Adding custom transformations (e.g. a proprietary PII redactor) to a workflow pipeline and trying to register them via the enum; environments where optional NLP dependencies are missing.
Related errors
- Component {component} is not a supported data sink component
- Component {component} is not a supported data source compone
- The enum value {self} is not compatible with component of ty
- The enum value {self} is not compatible with component of ty
- The enum value {self} is not compatible with component of ty
AI-assisted analysis of run-llama/llama_index@afd0fef371 (2026-08-15).
Data as JSON: /api/errors/da4c4b5a23280e82.
Report an issue: GitHub.