Как передать вывод одного узла в качестве входного параметра другому узлу в DAG рабочего процесса Argo
Я пытаюсь построить DAG конвейера ML с помощью Argo. И я столкнулся с проблемой, когда мне нужно, чтобы значение одного узла в группе DAG было отправлено в качестве параметра на его следующий узел. Допустим, структура ARGO DAG выглядит следующим образом:
{
"apiVersion": "argoproj.io/v1alpha1",
"kind": "Workflow",
"metadata": {
"generateName": "workflow01-"
},
"spec": {
"entrypoint": "workflow01",
"arguments": {
"parameters": [
{
"name": "log-level",
"value": "INFO"
}
]
},
"templates": [
{
"name": "workflow01",
"dag": {
"tasks": [
{
"name": "A",
"template": "task-container",
"arguments": {
"parameters": [
{
"name": "model-type",
"value": "INTENT-TRAIN"
}
]
}
},
{
"name": "B",
"template": "task-container",
"dependencies": ["A"],
"arguments": {
"parameters": [
{
"name": "model-type",
"value": "INTENT-EVALUATE"
}
]
}
}
]
}
},
{
"name": "task-container",
"inputs": {
"parameters": [
{
"name": "model-type",
"value": "NIL"
}
]
},
"container": {
"env": [
{
"name": "LOG_LEVEL",
"value": "{{workflow.parameters.log-level}}"
},
{
"name": "MODEL_TYPE",
"value": "{{inputs.parameters.model-type}}"
}
]
}
}
]
}
}
А -> В
Вычисления, происходящие в B, зависят от значения, которое было вычислено в A.
Как я могу передать значение, вычисленное в A, в B?
1 ответ
Вы можете использовать для этого "артефакты" Арго - см. Примеры на https://github.com/argoproj/argo/tree/master/examples
Другой способ - настроить общий том: https://github.com/argoproj/argo/tree/master/examples