Load and Share Components
This section describes how to load and use existing components. In this section, “components” refers to both single-step components and pipelines, which can also be used as components.
IR YAML serves as a portable, sharable computational template. This allows you compile and share your components with others, as well as leverage an ecosystem of existing components.
To use an existing component, you can load it using the components
module and use it with other components in a pipeline:
from kfp import components
loaded_comp = components.load_component_from_file('component.yaml')
@dsl.pipeline
def my_pipeline():
loaded_comp()
You can also load a component directly from a URL, such as a GitHub URL:
loaded_comp = components.load_component_from_url('https://raw.githubusercontent.com/kubeflow/pipelines/2.0.0/sdk/python/test_data/components/add_numbers.yaml')
Lastly, you can load a component from a string using components.load_component_from_text
:
with open('component.yaml') as f:
component_str = f.read()
loaded_comp = components.load_component_from_text(component_str)
As components and pipelines are persisted in the same format (IR YAML), you can also load a pipeline from a local file, URL, or string, just like you load components. Once loaded, a pipeline can be used in another pipeline:
from kfp import components
loaded_pipeline = components.load_component_from_url('https://raw.githubusercontent.com/kubeflow/pipelines/2.0.0/sdk/python/test_data/pipelines/pipeline_in_pipeline_complex.yaml')
@dsl.pipeline
def my_pipeline():
loaded_pipeline(msg='Hello KFP v2!')
Some libraries, such as Google Cloud Pipeline Components package and provide reusable components in a pip-installable Python package.
Feedback
Was this page helpful?
Thank you for your feedback!
We're sorry this page wasn't helpful. If you have a moment, please share your feedback so we can improve.