Link SDK에서 파이프라인을 생성하는 방법에는 두 가지가 있습니다.
이 문서에서는 파이프라인 생성 클래스를 통하여 파이프라인을 생성하는 방법에 대하여 설명합니다.
파이프라인 생성 클래스를 통한 파이프라인 생성
빈 파이프라인 객체를 생성한 다음 차후 컴포넌트를 생성하여 해당 파이프라인에 추가할 수 있으며, 그래프 객체를 생성하여 LinkPipeline
클래스의 요소로 넣을 수도 있습니다.
LinkPipeline(
identifier: Optional[str] = None,
graph: Optional[MRXLinkDagModel] = None,
parameters: Optional[List[MRXLinkPipelineParameterModel]] = None,
)
- Parameters
identifier
(str): Pipeline의 ID (입력하지 않으면 자동으로 uuid 부여됨)graph
(Object):create_link_graph
메소드를 통하여 생성된 graph 객체 (create_link_graph)parameters
(Object):create_link_parameter
메소드를 통하여 생성된 pipeline parameter 객체 리스트 (create_link_parameter)
- Returns
LinkPipeline
- Troubleshooting
- RuntimeError: User configuration is required.
For user configuration, try 'mrx-link login' in the command line interface.- 유저 정보가 필요한 경우에 (로그인이 필요한 경우에) 발생합니다.
- ConnectionError: Check your internet connection and try again.
- 인터넷 요청 에러 또는 타임아웃 상황에서 발생합니다.
- ValueError: Invalid email or product key. Please check your email and product key again.
- 이메일 또는 product key 값이 잘못된 경우 발생합니다.
- ConnectionError: An unknown error occurred. If the problem continues, visit https://makinarocks-link.readme.io/discuss for discussion, or https://link.makinarocks.ai/technical_support/ for technical support.
- 인터넷 연결 중 원인을 알 수 없는 문제 상황에서 발생합니다.
- ValueError: Pipeline parameter names should not be duplicated: ['name']
- 파이프라인 파라미터 이름이 중복될 때 발생합니다.
- RuntimeError: User configuration is required.
Example - 빈 파이프라인 객체를 생성하여 컴포넌트를 추가하는 방식
Sample Code
from mrx_link.sdk import LinkPipeline
from mrx_link.sdk.utils import *
# 코드 셀
code1 = """
x = 1
"""
code2 = """
y = 1
z = 1
"""
code3 = """
print(f"{x + y + z = }")
"""
if __name__ == "__main__":
# 파이프라인 객체 생성
pipeline = LinkPipeline()
# 컴포넌트 생성 및 파이프라인에 컴포넌트 추가
component1 = create_link_component(identifier="111-1", name="test1", code=code1)
component2 = create_link_component(identifier="111-2", name="test2", code=code2)
component3 = create_link_component(identifier="222", name="test3", code=code3)
pipeline.add_component(component=component1)
pipeline.add_component(component=component2)
pipeline.add_component(component=component3)
pipeline.add_edge(parent_id="111-1", child_id="222")
pipeline.add_edge(parent_id="111-2", child_id="222")
# 파이프라인 구조 출력
pipeline.print()
Output
##### PIPELINE #####
ID Name Status Parent IDs
----- ------ -------- ------------------
111-1 test1 Ready []
111-2 test2 Ready []
222 test3 Ready ['111-1', '111-2']
##### PARAMETERS #####
Name Type Value
------ ------ -------
Example - 그래프 및 파라미터 클래스를 통하여 파이프라인을 생성하는 방식
from mrx_link.sdk import LinkPipeline
from mrx_link.sdk.utils import (
create_link_component,
create_link_edge,
create_link_graph,
create_link_parameter,
create_link_pipeline
)
# 코드 셀
code1 = """
x = 1
"""
code2 = """
print(f"{x=}, {y=}")
"""
# 컴포넌트 생성
component1 = create_link_component(identifier="111-1", name="test", code=code1)
component2 = create_link_component(identifier="111-2", name="test2", code=code2)
# edge 생성
edge1 = create_link_edge(parent_id="111-1", child_id="111-2")
# graph 생성
graph = create_link_graph(
components=[component1, component2],
edges=[edge1]
)
# 파라미터 생성
parameter1 = create_link_parameter(name="x", value=123)
parameter2 = create_link_parameter(name="y", value="baregasdv")
parameters = [parameter1, parameter2]
# 그래프 및 파이프라인 파라미터 객체를 넣어서 파이프라인 생성
pipeline = LinkPipeline(graph=graph, parameters=parameters)
# 파이프라인 구조 출력
pipeline.print()
Output
##### PIPELINE #####
ID Name Status Parent IDs
----- ------ -------- ------------
111-1 test Ready []
111-2 test2 Ready ['111-1']
##### PARAMETERS #####
Name Type Value
------ ------ -----------
x int 123
y str "baregasdv"